wieiner_ - Post a comment [игры]
TimeText
01:16 pm

[info]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!
Reply:
 
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message:


Powered by LJ.Rossia.org