forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   Движки. Помогите найти и выбрать. (http://forum.boolean.name/showthread.php?t=15799)

falcon 07.11.2011 17:17

Движки. Помогите найти и выбрать.
 
Привет булка :)
Передо мной стоит проблема выбора.
Суть такова:
Шарики, кубики, SSAO, сеть, потоки, всё приправлено лёгкой физикой твёрдых тел.
Намерился я писать со скуки небольшую стрелялку сетевую. А посонам понравилось, решили присоединится. Один из них линуксоид, хочет на линух порт. ("А раз уж на линух запиливать будем, давайте ещё и мак запилим! И на хамбл отправим!"). Вряд ли из этой затеи, что-то выйдет, но пока есть искра энтузиазма, надо что-то делать. Глядишь народ в плюсах до кучи прокачается :)

Итак нужен движок. Я бы не глядя взял бы хорс и писал бы на нём (собственно редактор простенький уже на нём и запилил, пока пишется генератор уровней..)
но он не крос-платформ. следовательно отпадает..
для сетей и потоков заюзаем Boost.
А вот графику с физикой на чем реализовывать остаётся загадкой.
Из функционала нужны:
# кроссплатформ ( win, linux, mac )
# кубики, шарики
# возможность легко внедрить свой шейдер.
# MRT ( G буффер для ССАО мутить )
# простая физика ( rigid body, кубики шарики )
# простая input system (клава + мыш)
# квадратики, картинки, шрифты ( примитивная 2д подсистема )
и ещё тонкий момент. Всё это хотелось бы видеть в виде АПИ. Дело в том, что посоны хотят именно ПРОКАЧАТЬСЯ В ПРОГИНГЕ, а не игру запилить в продвинутом редакторе, так што юнити, удк, сру - отпадают.

Сам вижу такие варианты:
С++ + Булет + Огр.
Java + какой-нито Java3D + JBullet (всё таки Java штука изначально заточенная под кроссплатформ.. единый код под все операционки без гемороев, #ifdef-ов выглядит очень привлекательно)

но может есть более простые альтернативы?
Что-то где "всё в коробке" уже, простенькое..
А то, уверен, огр с наскока хрен изучешь.. Больно грамозкий двиг. Хотя было бы полезно хорошо им владеть.

такой двиг который нужен впринцыпе и самому запилить не велика сложность, но я очень плохо умею в платформонезависимый код.. Да и не хочется изобретать велосипед.
Есть ещё какие предложения?

п.с. желательно бесплатные, но лицензии в пределах 300$ тоже устроят..

den 07.11.2011 17:33

Ответ: Движки. Помогите найти и выбрать.
 
как вариант Irrlicht + IrrODE + irrNetLite - всё бесплатно кросплатформено открыто. IrrODE и irrNetLite являются модификациями ODE и ENet для Irrlicht. Итого получается графика (3D & 2D), инпут, физика, сеть (только UDP). Звук хз чем можно прицепить.

Nerd 07.11.2011 17:45

Ответ: Движки. Помогите найти и выбрать.
 
Unity3D?
---
сорри, не заметил

h1dd3n 07.11.2011 17:46

Ответ: Движки. Помогите найти и выбрать.
 
нерд
Цитата:

Всё это хотелось бы видеть в виде АПИ. Дело в том, что посоны хотят именно ПРОКАЧАТЬСЯ В ПРОГИНГЕ, а не игру запилить в продвинутом редакторе, так што юнити, удк, сру - отпадают.

moka 07.11.2011 19:10

Ответ: Движки. Помогите найти и выбрать.
 
То есть нужен уже готовый движок, а не чистый GAPI?
Я не советую изучать никакие "странные" штучки дрючки, с которыми долго придётся разбираться, в итоге конечно будет результат, но знания преобретённые будут весьма сомнительны.

Если их интересует как раз CPP и работа с графикой и т.п., то лучше всего брать сразу CPP, OpenGL, и двигаться вперёд.
То что ты "просишь", кубики и шарики, это не сложно, и пост обработка, примеров куча. Плюс, потенциал развития в будущем.

Крч говоря, имхо, без проблем брать OpenGL + C++, и писать уже саму разработку. Один будет заниматься GAPI, другой конкретно его использованием. Опыт будет отличный, и коммерчески полезный.

NeHe - полон полезных сорсов.
Если важен больше результат, я например по работе использую OpenTK (OpenGL / ES, OpenAL, OpenCL, для .Net / Mono). Компилю под Mono, без проблем работает с Linux, Mac, Win, без какой либо перекомпиляции, один exe, везде ок. Производительность, конечно никакие крайзисы и не напишешь, но она с лихвой устраивает, проседание в производительности мало значительно.
Но снова, это голый GAPI.

pax 07.11.2011 20:29

Ответ: Движки. Помогите найти и выбрать.
 
Из физики можно взять Newton, для сети вроде слышал о движке raknet, OpenAL, OpenGL GAPI.

moka 07.11.2011 20:36

Ответ: Движки. Помогите найти и выбрать.
 
Для физики можно и Bullet, он ведь Open Source и мультиплатформенный.

pax 07.11.2011 20:47

Ответ: Движки. Помогите найти и выбрать.
 
Ньютон тоже.

falcon 07.11.2011 21:33

Ответ: Движки. Помогите найти и выбрать.
 
МоКа, про обучение мне ничего говорить не надо. Опыт набирать я благо давно научился. И по скольку графической частью (вообще Low level абстракциями - физика, графика, сеть) занимаюсь я, и с принципами проектирования и кодирования движков знаком, попросил проконсультировать касательно готовых решений. Я сам такой двиг написать могу, практики благо хватает. Но, я не особо умею в кроссплатформенный код - это раз. Я не хочу этим заниматься (ибо умею этим заниматься и мне это уже не интересно) - это два. Так что "наставлять на пусть истинный" не надо))
предлагай варианты.

ирла годный вариант.. когда то давно ковырялся, копашился в его кишках.. чото совсем забыл про него)
спасибо)

moka 07.11.2011 21:38

Ответ: Движки. Помогите найти и выбрать.
 
http://www.devmaster.net/engines/

falcon 07.11.2011 21:45

Ответ: Движки. Помогите найти и выбрать.
 
у меня нет слов кроме матерных)
Гуглить я и без тебя умею)
Ты вот когда эту ссылку кидал, думал ЧТО мне надо вообще от этой темы?
Что ТЫ можешь рассказать по каждому из тех движков что там есть?)
Хоть по одному проконсультировать можешь?
"этот вот громозкий, за ним тащуца тонны непонятных либ огромного размера"
"в этом код говно, и апликухи падают от одного только косого взгляда"
"этот хрен соберёшь, хз чо за маньяк его делал"
Движков в нэте куча - я без тебя это знаю. Отзывы нужны. Консультации. А ты ну как то ну ваще не по теме...

moka 07.11.2011 21:56

Ответ: Движки. Помогите найти и выбрать.
 
Ну начнём с того что на нашем форуме не так им много народу. А учитывая что основная направленность его на новичков, то те кто здесь долго, те уже определились, и не думаю что много очень экспериментировали. Поэтому надеяться что тебе дельно помогут - быть наивным по отношению к форуму, и не понимать того что описал выше. А ты тут давно уже.

Поэтому нужно полагаться либо на другой ресурс, либо действовать более менее самостоятельно.

Если интересует тупо результат, без дальнейшего развития а только для самообучения, тогда можно брать что угодно практически.
Если важен опыт и знания, брать что-то более менее соответствующее основным представлениям архитектур движков. Irrlicht норм в этом случае, но не перспективно в плане знаний. Развитие мозга и знания С++ всё же подтянуться.

Если в интересах будущее развитие, то нужно смотреть на движки с живым community и поддержкой.

Для достойного поиска и т.п. там на сайте есть все фильтры что нада. При этом вся инфа с ссылками на сайты и т.п. Таким образом ты сможешь определить какой из движков весьма потенциален. Есть ли на нём готовые игры, или он достаточно потенциален и без этого. Есть ли там комьюнити. Кто ведёт разработку и т.п.
Это более продуктивно чем сидеть так и спрашивать - дайте пожевать жёванную жвачку.
Или ты хочешь чтобы это делали за тебя?

falcon 07.11.2011 21:58

Ответ: Движки. Помогите найти и выбрать.
 
ок, ты победил.

Morganolla 08.11.2011 00:12

Ответ: Движки. Помогите найти и выбрать.
 
Самый дельный совет дал Ден. В чистом ОпенЖл утонешь по самые уши и хрен знает когда вылезешь - фактически с нуля будешь писать движок. Причем адаптировать для разных платформ.
Кстати если взять Булет - там все примеры на ОпенЖл. Бери и адаптируй - очень легко. Сеть, потоки и звук - придется по любому брать стороние библиотеки - советую посмотреть на SFML (там все есть).

den 25.11.2011 22:18

Ответ: Движки. Помогите найти и выбрать.
 
Скорей всего уже не надо, но мб комуто полезно будет:
jmonkeyengine: движок для java.
- Естественно кросплатформеный (и на ондроеде)
- ОпенСорс
- всякие 3D фичи (OpenGL)
- Физика (JBullet)
- Сеть (клиент&сервер, UDP&TCP)
- Логика и рендер происходит в разных потоках
- Инпут, звук ...

Вобщем на офф сайте всё подробно написано и с примерами:)

чото многим разработчикам обезьяны нравятся

Halk-DS 28.03.2012 14:28

Ответ: Движки. Помогите найти и выбрать.
 
Что б не создавать новой темы подниму эту, поскольку смысл схожий.
Первый мой опыт в прогинге - Блиц3Д и он можно сказать основной, поскольку после него я только изучал GWBasic TurboPascal :D HTML(последнее канеш тяжело назвать прогингом :) ) в своем бурситете. И сейчас когда я закончил его понял что блиц кроме элементарных понятий алгоритмов и 3д графики больше ничего мне не дал. Я начал искать двиг в котором я б мог "прокачатся" так, что б он мне дал опыт и знания на будущее и плюс стал моим хлебом. В процессе я нашел Unity. Начал пробовать, качать и читать книги по С шарпу, когда я в визуал студио начал писать проги типа "Хело ворлд!" решил попробовать разобратся с юнити и написать тоже чтото вроде "хело ворлд" тут мне труды Pax`a пришлись очень кстате за что ему спасибо :). Но велико было мое удивление когда я увидел визуальный редактор и осознал факт что существует объектно ориентированное программирование и процедурно ориентированное программирование. Поэтому решил оставить в покое 1-е и изучать 2-е(процедурное).
В связи с этим интересует мнение людей достигших высот в программировании 3д графики и подобного, что мне стоит взять на изучение? Последний мой выбор упал на огр, ибо там с++, но начитался много отрицательных мнений и испытал кое что на себе, что б скомпилить 1-ю пустую прогу потратил пол дня, канешно 2-й раз это займет минут 15, но все же чувствую гемора будет...
Из вариантов видел 2 полезных:
Цитата:

jmonkeyengine: движок для java.
- Естественно кросплатформеный (и на ондроеде)
- ОпенСорс
- всякие 3D фичи (OpenGL)
- Физика (JBullet)
- Сеть (клиент&сервер, UDP&TCP)
- Логика и рендер происходит в разных потоках
- Инпут, звук ...
Цитата:

как вариант Irrlicht + IrrODE + irrNetLite - всё бесплатно кросплатформено открыто. IrrODE и irrNetLite являются модификациями ODE и ENet для Irrlicht. Итого получается графика (3D & 2D), инпут, физика, сеть (только UDP). Звук хз чем можно прицепить.
п.с. Я еще не знаю насколько эти варианты мне полезны, поскольку:
Цитата:

Я начал искать двиг в котором я б мог "прокачатся" так, что б он мне дал опыт и знания на будущее и плюс стал моим хлебом
ссылки вроде http://www.devmaster.net/engines/ канешно тоже полезны, но для человека с моим опытом в движках они ничего не говорят кроме существования большого выбора двигов.

johnk 28.03.2012 14:48

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от Halk-DS (Сообщение 223860)
Поэтому решил оставить в покое 1-е и изучать 2-е(процедурное).

Регресс, получается, батенька. Сдается мне, что под "объектно-ориентированным" ты понимаешь создание объектов в редакторе, под процедурным — написание кода с использованием низкоуровневых API.

Из сообщения не очень понятно, изучил ли ты C#?

Попробуй на C# написать простенькую игру. Как с английским? В сети можно найти много информации по основам DirectX. Их освоить займет пару недель, дальше уже дело техники. От движков на данном этапе, имхо, толку мало будет.

moka 28.03.2012 14:55

Ответ: Движки. Помогите найти и выбрать.
 
Почему упор идёт на ДВИГ что будет тебя кормить? Тебя будут кормить твои способности и мышление, а не знания определённого двига.
ЗЫ, Unity нынче становиться более популярным, на том же gamesjobdirect уже всё больше и больше просвечиваются позиции с наличием Unity в требованиях.
Но то что Unity толком не учит программировать - это имхо большой минус. По сути ты программируешь на нём, и много работаешь с редактором, но т.к. там очень чётко диктованная парадигма разработки и архитектура, то разработчик не знающий ничего кроме Unity не сможет так просто изучить что-то другое. Когда человек имеющий опыт с C++ и разработки например движка используя OpenGL, будет способен перейти почти на что угодно, и для него основными усилиями будет прочтение и простое понимание архитектуры нового инструмента.
Тебе нужны способности. Если тебя привлекает игровая индустрия, и работа в больших компаниях, то С++ - твой выбор.
Далее не бери всё подряд, выбери сферу деятельности, так ты сможешь развиться в определённом направлении.
Посмотри какие требования обычно на позиции разработчиков - они весьма конкретны к определённой позиции. Есть тот кто пишет звук, сеть, графику, туулзы, AI, игровую логику и т.п. И каждый из них это отдельные области следственно отдельные люди.
Поэтому лучше знать что из себя представляет каждая из областей в поверхностном и теоретическом смысле, с минимальной практикой, но специализироваться в определённом направлении.
Например в сети, следственно, заняться изучением основных инструментов и ЯП для разработки сетевых приложений. В играх это 80%+ С++. Но могут быть и другие. Далее изучить основные инструменты, например boost::asio, winsocks, и другие низкого уровня библиотеки. Лучше смотри в сторону мультиплатформенных инструментов.

имхо

UPD:
Цитата:

Сообщение от johnk (Сообщение 223861)
Регресс, получается, батенька. Сдается мне, что под "объектно-ориентированным" ты понимаешь создание объектов в редакторе, под процедурным — написание кода с использованием низкоуровневых API.

Из сообщения не очень понятно, изучил ли ты C#?

Поддерживаю, ООП - это не то что нужно избегать, нынче в правильно-кривых руках, это очень мощный архитектурный инструмент.

pax 28.03.2012 15:44

Ответ: Движки. Помогите найти и выбрать.
 
1. C# самый на данный момент быстроразвивающийся язык.
2. C# - кросплатформенный благодаря Mono.
3. C# - полное ООП, а не олдскул C-style как в B3D.
4. Unity - кросплатформеннее движка я не видел (может мало искал), единственное дорогой.
5. Программистов под Unity сейчас дефицит

Все это ИМХО.

impersonalis 28.03.2012 16:22

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

полное ООП, а не олдскул C-style как в B3D
моск взорвалсо.
Цитата:

Программистов под Unity сейчас дефицит
Вот-вот: все среды на пике славы держатся некоторое время и уходят в небытие, если только разрабы не сделают отчаянную попытку, внедрив его на новый модный девайс или ещё что-то типа. И лишь цпп был и остаётся. Это не что-то его не поддерживает, это он не хочет иметь дело с чем-то. Пусть да, разрабы не зашибают на нём единовременно кучи бабла, но в перспективе это самоё надёжное. В минуты отчаяния и депрессии он всегда с тобой.
http://www.youtube.com/watch?v=1S1fISh-pag
ГОВОРИТЕ ОТКРЫТО И СМЕЛО ПРЯМО В ЛИЦО! CPP!

Halk-DS 28.03.2012 16:26

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от johnk (Сообщение 223861)
Регресс, получается, батенька. Сдается мне, что под "объектно-ориентированным" ты понимаешь создание объектов в редакторе, под процедурным — написание кода с использованием низкоуровневых API.

Объектно-ориентированное программирование для меня настолько неизученное понятие что я не могу даже оценить степень своего непонимания об этом понятии... Я смотрю на людей на форуме(старожилов) и вижу что большинство из них способны написать какой никакой но двиг что может рендерить или операторы типа: Flip, Graphics3d w,h,d,m, Plot, Line - и подобные на таком же низком уровне. Из за этого начинаю думать что для успешного развития своих способностей в совремменых двигах нужно изучать все "по чучуть" из самых глубин делая усиление на нужные области. Не обезательно уметь писать свой двиг, но желательно понимать как он устроен, я так думаю. А как я представляю ООП - это инструмент походящий от процедурного. Следственно мне кажется стоит изучить как минимум азы процедурного программирования. И очень сильно меня убивает то что в ООП нет основного цикла(как я понял). Там программируются объекты. А как тогда написать генератор уровней? Как можна запрограммировать еще не существующий объект? И поэтому я думал не деградировать, а копнуть глубже, что б как говорит мока "улучшить" свои способности.
Цитата:

Сообщение от johnk (Сообщение 223861)
Из сообщения не очень понятно, изучил ли ты C#?

Нет. Как только начал писать програмки типа "хело ворлд" на C# перестал его изучать, потому что понял что юнити - ооп. И решил более полезным будет перейти на процедурное программирование использующее с++.
Цитата:

Сообщение от johnk (Сообщение 223861)
Попробуй на C# написать простенькую игру. Как с английским? В сети можно найти много информации по основам DirectX. Их освоить займет пару недель, дальше уже дело техники. От движков на данном этапе, имхо, толку мало будет.

На C# - это на голом C#? Без двига? Тоесть писать самому функцию типа RenderWorld и т.д.?
С английским по граматике очень плохо, но переводить и понимать прочитанное могу. Но в данном вопросе ты имеешь ввиду понимать жесткую терминологию игровой индустрии, тут уже так себе...
Про DirectX, его изучение должно дать понимание низкоуровневых API? Или уже как раз готовых операторов типа RenderWorld?

Цитата:

Сообщение от MoKa (Сообщение 223865)
Почему упор идёт на ДВИГ что будет тебя кормить? Тебя будут кормить твои способности и мышление, а не знания определённого двига.

Вот тут прямо в яблочко. Єто та суть вопроса которую мне было трудно сформулировать. Я ищу именно метод каким развивать свои способности. А поскольку у меня на западной Украине с образованием программирования туговато, я стараюсь научится сам и на практике. А практика - это уже задача какой двиг и язык выбирать, чтоб на нем писать какой то "душевный" проект и в процессе обучатся. Я лично это понимаю так, если вы учились как нибудь иначе, был б рад услышать...

Цитата:

Сообщение от MoKa (Сообщение 223865)
ЗЫ, Unity нынче становиться более популярным, на том же gamesjobdirect уже всё больше и больше просвечиваются позиции с наличием Unity в требованиях.
Но то что Unity толком не учит программировать - это имхо большой минус. По сути ты программируешь на нём, и много работаешь с редактором, но т.к. там очень чётко диктованная парадигма разработки и архитектура, то разработчик не знающий ничего кроме Unity не сможет так просто изучить что-то другое. Когда человек имеющий опыт с C++ и разработки например движка используя OpenGL, будет способен перейти почти на что угодно, и для него основными усилиями будет прочтение и простое понимание архитектуры нового инструмента.

Поддерживаю, ООП - это не то что нужно избегать, нынче в правильно-кривых руках, это очень мощный архитектурный инструмент.

Цитата:

Сообщение от pax (Сообщение 223871)
1. C# самый на данный момент быстроразвивающийся язык.
2. C# - кросплатформенный благодаря Mono.
3. C# - полное ООП, а не олдскул C-style как в B3D.
4. Unity - кросплатформеннее движка я не видел (может мало искал), единственное дорогой.
5. Программистов под Unity сейчас дефицит

Все это ИМХО.

По поводу 2-х цитат выше. Я понимаю что Unity отличный двиг и не планирую от него отказываться. Наоборот я совсем не против стать прогером на нем и на нем зарабатывать(один минус как вы сказали - лицензия). Да и судя с обоготворения Pax`ом єтого двига, я могу делать выводы, что он стоит того что б его учить. Но у меня сложились такие обстоятельства что я недавно закончил свой бурситет и хочу поступить на какое то заочное образование где будет слово "информатика" ибо имхо не диплом решает кого возьмут на роботу, а человек, его способности, трудолюбивость и что в данной профессии более весомое за диплом - портфолио.
Поэтому перед тем как учить юнити хотелось б поровнять руки об что то более продуктивное в обучении, и суть вопроса в этом и заключается, почти все люди спрашивающие "Какой двиг лучше?" на самом деле имеют ввиду: "Напишите пожалуйста гайд как стать кул прогером". Я понимаю что в программировании куча разных областей, одни пишут двиги, другие их используют, но я еще ни в чем не определился. Единственное что у меня есть это знание Блиц3д и романтический взгляд на будущее в каком то Blizzard, и при єтом хочу подметить, что осознаю всю рутину и сложность єтой профессии..

SBJoker 28.03.2012 16:28

Ответ: Движки. Помогите найти и выбрать.
 

Продолжим песни о ЯП:
http://www.youtube.com/watch?v=Mk3qkQROb_k

Lestar 28.03.2012 16:43

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от SBJoker (Сообщение 223879)

Это промоушен от Oracle ?

moka 28.03.2012 16:45

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от Halk-DS (Сообщение 223878)
А как я представляю ООП - это инструмент походящий от процедурного. Следственно мне кажется стоит изучить как минимум азы процедурного программирования. И очень сильно меня убивает то что в ООП нет основного цикла(как я понял). Там программируются объекты. А как тогда написать генератор уровней? Как можна запрограммировать еще не существующий объект? И поэтому я думал не деградировать, а копнуть глубже, что б как говорит мока "улучшить" свои способности.

Вот тебе пример как ты уже сделал кучу не верных заключений. ООП - это не нечто другое, это скорее "дополнение" в сложность мышления, за счёт которого ты получаешь больше свободы.
Вот так вот ознакомление с Unity дало тебе абсолютно не верное представление об ООП.

Короче, если ты хочешь будущее в геймдеве, то твой рецепт прост: Бери С++ и учи его, штурмуй кучу аспектов и stl библиотеки и др. Учи мат. часть. Учи ООП.
Лишь потом бери какой-нибудь движок, а лучше бери GAPI, DX или имхо лучше OGL. И тогда у тебя будет развитие в правильном направлении.
Не забывай, что учиться самому сложнее - никто не заставляет, и это большая рутина. А значит тебе придёться делать то что тебе не нравиться. В разработке 80%+ это рутина, и с ней нужно считаться.
Также писать проект "мечты", и учиться паралельно, затея не совсем разумная, т.к. сильное стремление к достижению идеи игры, обычно не способствует точному изучению ЯП и инструментов.

johnk 28.03.2012 17:27

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от Halk-DS (Сообщение 223878)
Но у меня сложились такие обстоятельства что я недавно закончил свой бурситет и хочу поступить на какое то заочное образование где будет слово "информатика" ибо имхо не диплом решает кого возьмут на роботу, а человек, его способности, трудолюбивость и что в данной профессии более весомое за диплом - портфолио.

Вот ты говоришь о том, что диплом не дает гарантии услышать "вы приняты" на собеседовании. Зачем тебе тогда тратить три (или сколько у вас?) года на обучение? Если ты действительно хочешь сделать эту область своей специальностью, то тебе, действительно, нужно думать об опыте, а не об образовании. Точнее, что тут думать? Изучил язык, определил API, и вперед — делать игры!

Хотя, на мой скромный взгляд, тебе эта область нафиг не сдалась. Как иначе объяснить благоговение, которое ты выказываешь о технологиях и людях, их использующих?

Цитата:

Сообщение от Halk-DS (Сообщение 223878)
Про DirectX, его изучение должно дать понимание низкоуровневых API?

Разумеется, ведь это и есть (одно из) низкоуровневое API, на котором пишутся игры и движки.

Цитата:

Сообщение от Halk-DS (Сообщение 223878)
Единственное что у меня есть это знание Блиц3д и романтический взгляд на будущее в каком то Blizzard, и при єтом хочу подметить, что осознаю всю рутину и сложность єтой профессии..

Тогда самый простой вариант — это сделать игру на блице. Ведь ты говоришь о том, что тебе, якобы, по душе процедурный подход. Ну так в чем дело? Перед тобой процедурный диалект бэйсика, заточенный под разработку игр. Это вполне сносный вариант.

Однако, я бы на твоем месте был бы предельно честен с собой. Действительно ли тебе нужна разработка игр? Если ты полагаешь, что геймдейв концентрирует в себе большие деньги, — то ты ошибаешься. Программисты, в частности, заядлые фанаты своего дела. И этим все пользуются. Разработчикам всегда достается лишь малая часть всех денег проекта, учитывая, что без них игры бы вообще не было.

PS. И можно пожалуйста без “є” на русскоязычном-то форуме? :) Мой парсер валится :-D

pax 28.03.2012 17:28

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от Halk-DS (Сообщение 223878)
Да и судя с обоготворения Pax`ом єтого двига

:4to:

Слово обоготворение тут не уместно. Я лично просто делюсь с сообществом своим опытом программирования под Unity. Специально для блицеров веду проект http://shgames.ru потому что сам с него начинал. С этого проекта я ничего не имею кроме благодарности десятка пользователей булки, может больше.

И да, я занимаюсь аутсорсом на C#/Unity.

Harter 28.03.2012 17:31

Ответ: Движки. Помогите найти и выбрать.
 
лол
прочитал название темы так: "Девушки. Помогите найти и выбрать"

Lestar 28.03.2012 17:32

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от MoKa (Сообщение 223883)
Короче, если ты хочешь будущее в геймдеве, то твой рецепт прост: Бери С++ и учи его

Очень спорно. Смотря где ты себя видишь в геймдеве. Согласен полностью с Pax-ом, шарп язык, с минимальным уровнем вхождения, который тебе даст ту же дорогу что и плюсы, но за совершенно другой промежуток времени.
По сути каждый выбирает под себя. Кто то хочет быть олдскульным кодером и тянется к низкоуроровневым ЯП. Кому то это не нужно.

Halk-DS 28.03.2012 18:00

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от pax (Сообщение 223886)
:4to:
Слово обоготворение тут не уместно.

Извини если что сказал не так, слово "обоготворение" я использовал в переносном смысле, в котором имел ввиду он тебе очень понравился.

Цитата:

Хотя, на мой скромный взгляд, тебе эта область нафиг не сдалась. Как иначе объяснить благоговение, которое ты выказываешь о технологиях и людях, их использующих?
Не понял о чем ты? О том что я не так ценю высшее образование как большенство окружающих меня людей?

Цитата:

Тогда самый простой вариант — это сделать игру на блице. Ведь ты говоришь о том, что тебе, якобы, по душе процедурный подход. Ну так в чем дело? Перед тобой процедурный диалект бэйсика, заточенный под разработку игр. Это вполне сносный вариант.
Я сомневаюсь что найду себе хоть одну стоящую вакансию по блицбейсику. Разве что я буду писать игру со своей инициативы. Кроме того этот язык хоть и прост, но не так развит как другие применяемые в геймдеве. Да и сам то ты наверняка не на бейсике сидишь. Скорей всего мы друг друга неправильно поняли. А за ошибки прошу прощения, стараюсь как могу.



Спасибо Моке за ответ. Только если можно чучуть конкретизировать понятые мной цели. Вот типа мини-гайд в моем понимании :)
1. Учить чистый С++(визуал студио) читая книги и пробуя на практике прочитанное. Другого способа не вижу..
2. "кучу аспектов и stl библиотек" - это типа создание програм разного типа (консольные, вин 32, вындовс форм, огр3д и т.п.) ?
3. "Учит мат. часть." - типа математику?
4. "Учи ООП" - С этим самые большие непонятки, ООП надо учить на примере какой то программной среды типа дельфи, или юнити? Или ООП можно изучать в какомно глобальном смысле не прибегая к конкретному коду?
5. И теперь с чистой душой садится за что то аля Юнити и пробовать писать проект "мечты"? :) (не столько ради мечты, сколько ради портфолио)

Но я так же понял и второе. "Гайд" выше - для изучения тяжелого программирования. Которое не обязательно для работы прогера в гейм деве. Что б это все учить надо быть задротом(в хорошем смысле этого слова) по жизни. Ну и есть панацея для тех кто не хочет заморачиваться. Просто взять С#, Unity или Unreal SDK и не напрягаться над тем как пишутся тени, єфекты пост обработки и прочее?

pax 28.03.2012 18:06

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от Halk-DS (Сообщение 223893)
4. "Учи ООП" - С этим самые большие непонятки, ООП надо учить на примере какой то программной среды типа дельфи, или юнити? Или ООП можно изучать в какомно глобальном смысле не прибегая к конкретному коду?

http://ru.wikipedia.org/wiki/%D0%9E%...BD%D0%B8%D0%B5

1. Надо понять принцип (теорию).
2. Теорию применить на том языке, который ты выберешь.


по поводу выбора платформы для зарабатывания денег: можешь выбрать Obj-C и iOS

moka 28.03.2012 18:37

Ответ: Движки. Помогите найти и выбрать.
 
0. Научись пользоваться поисковыми системами, смекалкой, развивай пылкость ума, настойчивость. Думай постоянно о само-мотивации - без неё никуда. Думай над способностями как человека мыслящего, а не конкретной области или тупо знаний.
1. Как сказал отлично pax: учи теорию. Как что устроено, начни с понятий, и основ основ. Что такое ЯП, парадигма, архитектура (но лучше подтяни это понятие статьями), что такое ООП - дублирую ссылку от pax'а, и кучу всего другого.
2. Далее определись со сферой деятельности, на основе твоих изучений теории, копай более конкретно, что такое сетевое программирование, AI, игровая логика, разработка движков. Почитай общие представления этих областей. Подумай сам.
3. Выбрав, определись что лучше всего подходит под данную конкретную область.
Далее будет далее, если ты толкового подойдёшь к само образованию, то первые два пункта никогда не закончаться, а к третьему ты не должен перейти раньше чем через как минимум 2 недели, эффективно штурмуя веб и собственный мозг по первому и второму пункту как минимум по 3-5 часов в сутки.

Ты не совсем ещё понимаешь что ты толком хочешь, и не представляешь что и как. На деле работа в банковских системах, или разработка веб приложений, порой бывает намного увлекательнее чем работа в игровой индустрии. Хватит идеализировать это направление в индустрии, оно не многим отличается от других.

falcon 28.03.2012 18:39

Ответ: Движки. Помогите найти и выбрать.
 
Во многом согласен с МоКой.
Программировать игры - очень сложно. Скажу даже, что сложнее область найти трудно. Тут тебе и сети, и физика, и логика, и графика, и звук. Надо уметь разрабатывать системы из всей этой кучи.
Начать действительно лучше с программирования вообще.
Наставивать на изучении C++ и GAPI вот я не могу. C++ очень сложный, неоправданно(!) сложен для новичка.
Но даже если плюсы - учи их. Качай литературу, читай чужей код, пиши свой.
Учись проектировать, изучай паттерны, алгоритмы, методы оптимизации, рефакторинги.

ООП это парадигма. Это не что-то там в студии, в дельфях и т.п.
Это подход к написанию кода что ли. Это само по себе не сложно, в это надо въехать, а потом станет понятно насколько сложно это постигать.

Когда ты начинаешь писать правильный код (не важно процедурный или объектный), ты стремишься выделить данные и методы, для работы над этими данными. Это называется "создавать абстракцию".
Объектный подход позволяет тебе оперировать объектами, создавать иерархии, задавать поведение. Такими штуками которые объединяют данные и методами их управления.
Такой подход открывает очень много возможностей. Раскрыть их в этом посте даже в общих чертах невозможно.

А гапи, движки, фреймвёрки - это можно изучать либо в процессе либо после освоения основ программирования. Их будет много разных, с графики мб потом куда перескочишь, появятся новые низкоуровневые апи.. важно ещё уметь быстро разбираться в новом.

Halk-DS 28.03.2012 19:05

Ответ: Движки. Помогите найти и выбрать.
 
Ого. Вот это поворот событий...

Ну в принципе понял. Что на первый мой пост могу дать ответ себе только я, а чтоб дать на него ответ надо понять все в теории для чего надо двигаться пока в направлении отличном от гейм дева...

И еще маленький вопрос не по теме, вы учились в университетах, или данные знания получили самостоятельно как говорит Мока по 1-м и 2-м пунктах? :)

pax 28.03.2012 20:17

Ответ: Движки. Помогите найти и выбрать.
 
У меня образование "Технология машиностроения". Программирование мое хобби, занимаюсь им с первого курса института потихоньку самостоятельно. Перепробовал много языков, в том числе и С++. В итоге программирую на C#.

moka 28.03.2012 20:33

Ответ: Движки. Помогите найти и выбрать.
 
Я говорил о само-образовании, т.к. ты вроди об этом и упомянул, сославшись на то что у вас там нету образовательных учреждений в направлении разработки игр. Вообще индустрия по себе не малая, но и не велика, чтобы иметь собственные крупные образовательные учреждения. У нас тут в Лондоне вроди как есть, типо модули которые выбираешь когда учишься, есть модули с уклоном для игровой индустрии. Но качество образования в доступных учреждениях не шик. В "не доступных" - дорогущих, качество шик, но и мозг и кармал толстый нужно иметь для этого.
Поэтому путь для большинства либо искать обр. учреждение с уклоном на вычислительные технологии и математику (computer science), есть куча уклонов, статистика, математика, физика, AI, и др.
Но не мало народу вырастает самостоятельно. Для этого нужно быть весьма молодым, начинать самостоятельно учиться после 20, имхо, это упущенное время, шансов стать в чём-то специалистом, не программируя до этого, будет практически нереально.
Этим нужно реально болеть. И в игровую индустрию поподают одни из лучших, остальные в основном работают на кучу всяких не понятных и понятных компаний, по разработке кучи всего. Сейчас даже мониторы с тач скринами выпускают с API, которые кто-то должен разрабатывать.
Следственно работа есть, но есть ли способности?

Учиться с упором на игровую индустрию, имхо очень рисковано, т.к. попасть туда будет на самом деле сложно. Тебе нужно будет без проблем переехать в любую точку мира, и знать англ. на отличном профессиональном и свободного общения уровне, и виза тебе будет огромным минусом, узнав о потребности которой, работодатель с большим шансом отложит твоё CV на дальнюю полку, если у тебя конечно опыт и портфолио не на несколько листов.
Короче говоря, всё очень сложно и не просто.

Лично я полный самоучка. У меня даже 9 классов образования нету. Всему учусь самостоятельно и без помощи каких либо курсов, людей и т.п. Что делает меня весьма самостоятельным в образовании, таким образом попадая в совсем новую область, я быстро адаптируюсь и через короткий промежуток времени готов к продуктивной работе. Что от 95%+ выходцев из университетов можно и не ожидать.

mauNgerS 28.03.2012 20:34

Ответ: Движки. Помогите найти и выбрать.
 
Я тоже ТМщик...
Прочитал верхний пост. Чувствую себя антиподом Моки.

ffinder 28.03.2012 20:53

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от Lestar (Сообщение 223888)
Согласен полностью с Pax-ом, шарп язык, с минимальнным уровнем вхождения, который тебе даст ту же дорогу что и плюсы, но за совершенно другой промежуток времени.

С# это труЪ, согласен.
но говорить что дороги у шарпа и плюсов одинаковые - неверно.
есть тек (tech) и есть скрипты. это очень грубое разделение, почти неправильное, но немного передает суть.
шарп это язык прикладного уровня - взял и пиши логику.
плюсы это язык системного уровня - взял и пиши движок.

назначение у них разное просто.

moka 28.03.2012 21:55

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Сообщение от ffinder (Сообщение 223930)
шарп это язык прикладного уровня - взял и пиши логику.
плюсы это язык системного уровня - взял и пиши движок.

Добавлю:
Взял С++ и добавил двиг - и пиши игру.

cahekp 28.03.2012 23:02

Ответ: Движки. Помогите найти и выбрать.
 
Чё-то вы это, запугали бедного парня, ИМХО :)

От себя могу добавить: толковых программистов мало и они нужны всегда.
Так что не парься, садись и учи, учи, учи, практикуйся, практикуйся... Будешь крут - найдешь работу.
С++ крайне не советую изучать, если ты новичок. Уж лучше C# почитать. Он проще, он более высокоуровневый.
А ООП - не такая уж и страшная вещь. Ее в современных школах в 5-ом классе проходят. :)
Так что вот тебе пару ссылок для изучения:
http://www.realcoding.net/articles/g...ie-v-java.html
http://www.nikitine.ru/publ/1-1-0-149

Дерзай!

Halk-DS 29.03.2012 02:46

Ответ: Движки. Помогите найти и выбрать.
 
Как видно на форуме я зареган с 2006 года. Хоть и мало сообщений, но форум пару раз на месяц читаю. И раз уж так глубоко философия наша зашла, то скажу следующее: с 8-го класса по 1-й курс (1-й курс - после 9-го класса, а это 10 класс.) я самостоятельно изучил блиц3д на уровне мини игр, это было как хобби и ничего больше, не воспринимайте это как будто я хвастаюсь своими навыками, я могу адекватно оценить то что я только начинающий прогер и до "среднего" класса мне еще далеко. Но могу сделать выводы, что программирование в таком возрасте далось мне легко по сравнению с моими сверстниками. И естественно попадая в возрасте 10го класса в студенческую жизнь я начал бухать гулять и всячески другими образами отходить от мысли о будущем. Как говорят у нас на Украине:
"Є шо згадати, немає шо дітям розказати!"
Когда я закончил педагогический колледж(вот такое крутое название носит моя бурса) естественно я начал задумываться о будущем и жалеть что не учился раньше. И последних пол года я провел в мысли что пойду в армию, куда я не попал из за того что не прошел мед осмотр. Были проблемы связанные с лишним весом и пищеварительной системой (виновен тот же образ жизни: "жрать, срать, ржать" (с)mr.Freeman. ). И сейчас я просто пытаюсь догнать то что упустил в последние 4 года.
Как то раз читал свои посты написанные в 2006-2008, я прятался под стол и фыркал от стыда(тогда мне было 13-15лет). Но факт есть фактом, даже спустя 4 года, эта сфера привлекает меня, это у меня с детства и интерес остался до сих пор. Если я в будущем кем то и стану так это в лучшем случае - прогером, или в худшем - гастарбайтером, грузчиком, строителем. Как видно выбор у меня не богатый, и поэтому задаю много хоть и глупых но вполне оправданных вопросов. И основной моей целью было сесть за какой то двиг и учить его как я это делал долгое время назад и поэтому перед тем как определится спросил тут на форуме людей какие хоть как то мне могут помочь.
Из советов выданных выше выбрал: читать много теории и одновременно учить С# + Unity3D. Как у вас говорят(возможно так говорят) "Москва не один день строилась". Поєтому не стоит воспринимать мой вопрос так, как будто я завтра хочу подать заявление на роботу в NCsoft, или Valve. Я всего навсего спросил, с чего стоит начинать и как продолжать...

moka 29.03.2012 14:26

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

И основной моей целью было сесть за какой то двиг и учить его как я это делал долгое время назад
Раньше ты так делал по молодости и навязанной идеологии "современного" образования, где всё сводиться к глупому зубрению.
Программист - это не знания, а способности. Тебе нужно развивать мышление, а не учить определённый движок.

falcon 30.03.2012 15:15

Ответ: Движки. Помогите найти и выбрать.
 
Цитата:

Программист - это не знания, а способности.
Ты не прав.
Нужна совокупность знаний и способностей.
Твоё умение "быстро вливаться в любую отрасль и приспосабливаться к ней" это круто, но оно не в коей мере не исключает накопление знаний и зазубривания.
Ещё раз повторяю, без образа мышления тож никуда. Но тут нельзя выделить что-то одно. Важна совокупность.
(Если не согласен и хошь развить этот тред, го лучше в аську)

Автору - учись программировать. Вообще.
Научись массивы сортировать, числа искать. Так же не плохо было бы всякую задроченность поковырять (асмы, бинарную математику, как с битами работать и прочую лабуду).
Погугли линуксы, поковыряйся в них, просто чтоб знать как работают операционки.. Посмотри исходники готовых движков, поэксперементируй с ними. Как сказал мока - поставь перед собой грандиозную задачу и решай её.. Например начал писать свой движок - напиши свой STL (массивы, списки, очереди, деревья), свою мат.либу.. Просто что бы поучиться..
И зачем столько слов о своей нелёгкой)))
У половины (если не у большинства) есть блюзовые истории и если вместо такого объёма текста ты написал бы столько же кода, было бы действительно здорово))))


Часовой пояс GMT +4, время: 16:02.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot