wieiner_ - Post a comment
[Recent Entries][Archive][Friends][User Info]
[игры]
|
01:16 pm
wieiner_[Link] |
как нонче правильно писать игры (советы фингерпринтных программирунгов) игры можно писать тремя разными способами: 1.Движки: 2. Кодинг на OpenGL или DirectX: 3. игры под веб (WebGL)
1.Движки: движок unreal engine -- его можно скачать в исходниках и откомпилить редактор, а можно скачать сразу редактор. проект вашей игры обычно, нажодится в том же msvs-солюшене, шо и исходники самого редактора движка. к достоинствам можно отнести, достаточно низкий порог вхождения в "разработку на анриле". Богатство полуфабрикатов-функций и возможностей, по сравнению с другими движками (Unity). К недостаткам я бы отнес -- "высокие" требования к железу (к видюхе). некомпактный результирующий код, особенно не под десктоп. Походу была проблема с компиляцией по x86 (x64, only). сложности с настройкой кодогенерации под Андроид.
Второй движок -- unity как и все майкрософтовское это таки говно (я его просто не знаю! не тратил свое время на него). Если unreal написан на С++ (аффторы советуют учиться на йихнем движке языку С++), то unity -- на безблагодатном Си-Шарпе. Который у меня есть именно как компилятор в исходниках. (мне шарп не оч. нравится, хотя еще в 2014-м я был от него безума и часть моей четверичной логики написано на ём). За unity я ничего не скажу, т.к. я его не знаю, но среди молодых программистов он весьма распространен.
2. Кодинг на OpenGL или DirectX:
начну с баловня, прокаченного денгами майрософта DirectX -- с этим конеком я балуюсь давно еще с версии 3.0 (сейчас вроде 12.0, но и 11.0 не на всех видюхах идет, шо потенциально сужает ареал распространения вашей игры, а значит пишите на версиях 9.0с или 10.0 - (последний unreal engine кстати требует 11.0)), то есть с конца 1998-го года.
разрабатывать игрухи можно в современной Microsoft Visual Studio 2015 с установленным WindowsSDK (SDK - software development kit), куда входит все необходимое. Правда заебетесь настраивать пути и переменную DXSDK, чтобы все работало и можно было проинициализровать DirectX в проекте, то есть чтобы вы могли создать "главный обьект дайрект_икс, через который все рисуется".
Раньше, в третьей версии DirectX был Директ2Д -- с блиттером и двойной буферизацией. то есть с программой моментального выкидывания подготовленной где-то в памяти картинки на экран и с двумя буферами картинки: экранным (то шо видим) и внеэкранным сейчас это все похерили, за ненадобностью. поскольку в 3Д есть понятие текстуры (т.е. тот же буфер, но который натягивается на трехмерный каркас 3D mesh). таким образом, можно рисовать (говорят рендерить) все в текстуру, а потом ее копировать в текстуру натянутую на прямоугольник, который один на весь экран, как та твоя грифельная доска в аудитории.
под директХ пишут на чем попало, но я предпочитаю С++. на ем же и большинство примеров в SDK (в 00-ых оно шло на 3-х компактах, я специально заказывал себе в Мариуполь из хер знает откуда)
следующий, зело пинаемый майкрософтом (как все гениальное) -- это OpenGL (и OpenGL-ES (GLES - OpenGL для встроенных систем)). Это сейчас сказка, а не библиотека. Во многом благодаря Гуглу и егойному Андроиду -- мы получили возможность херачить игры под планшетки и телефоны на языке Ява и на openGL-ES. Вот эт я вам скажу "деньжищща" -- уже лет 7 как, платформа развивается и там все саме модне (во-первых есть поддержка С++ - по 14-му стандарту, то есть со всем этими лямбдами, ауто, "двойными амперсандами" и прочим "программсисстским ЛГБТ-сахаром", весьма ценимым профессионалами. причем С++ 14 поддерживается прямо из Джава. Я еще не знаю насколько это удобно (пишу прямо на Джава). потом есть поддержка модного ныне CMake c древовидной системой сборки проекта (типа распараллеленного старого-доброго nmake). поддерживается на каком-то уровне xaml -- для дизайна интерфейса, но я это не копал, т.к. пишу игры, а не бизнес-логику или обычные приложения (думаю если там шо-то типа любимого WPF, то было бы круто). Ааа..но я ж вам не сказал про самое главное, я это рассказываю вам про Android Studio -- как именно в нем программировать. Сразу хочу сказать, шо если у вас нет планшетки (пойдет бу-шная, убитая, купленная в OLX за 500-600 грн.) то с эмулятором планшетки вы наебетесь. Эмулятор требует компа с аппаратной виртуализацией VT-x у меня машинки все AMD -- и как мне пояснили друзяь системные-интеграторы, "тебе надо шо-то включить в биосе". на интельках эмулятор вроде запуститься без проблем. Короче, как вы поняли уже. Я буду пейсать под Андроид на OpenGL свои магические игры. (для начала игры только с элементами техномагии).
3. игры под веб (WebGL) третий золотоносный путь компьютерного червя-игродела. это конечно WebGL (тот же WebGl но на javascript). в принципе сама технология графической почти не отличается от OpenGl ES для Android Studio. (просто вместо java у тебя javascript|html|css).. отличается сама игровая механика и немного монетизация игры. т.к. под веб лучше всего делать или ММОРГ (мобы или стратежки) или игры-головолмки-5-в-ряд для фейсбука-однокласников-вконтакте (тут вообще мало отличий от андроидостроения). Шо касается техномагии, то по капле ее можно добавить даже в самые тупые игры.
----- полезные книги и инфа по кодингу: 1 https://docs.unrealengine.com/en-us
2 https://developer.android.com/guide/topics/graphics/opengl.html https://www.e-reading.club/book.php?book=142094 https://gamedev.ru/articles/ 3. https://www.ozon.ru/context/detail/id/31239396/ http://kharchuk.ru/JavaScript.pdf
(ну вы знаете где это напиратить, есличо) <\lj-cut>
that all folks!
|
|
|
| |