На днях ещё поиграл в игру «Flight of Pigarus» про летающую свинью на 8-битную приставку Sega Master System (предшественница 16-битной Sega Mega Drive / Genesis, не путать). Очень неплохо получилось у разработчиков в плане графики и стабильности геймплея. Спрайты на SMS недалеко ушли от NES. Лишь градация цветов увеличилась, и память под наборы тайлов.
Также на днях поиграл в забавную игру, клон Зумы с цветными шариками вот тут - zigry.net – называется игра «Тимон и Пумба» и она с персонажами всем известного мультфильма «Король лев», который скоро перевыпустят в 3D. Очень забавно. Всегда хотел делать такие игры про шарики, но такое ощущение, что они никому не нужны и не пользуются спросом у издателей, поэтому не брался, чтобы не пролететь.
Но вернёмся к разработке игр под ретро системы. Что касается коллизий на Sega MD, то кому-то может показаться, что там достаточно не особо внапряг проверить тайлы вокруг персонажа. Это 8 условий примерно. Но немного не так. На SGDK довольно шустрый инструментарий в этом плане.
Там читается примерно так тайл: читать тайл + смещение (от скроллинга) если =1 (карта состоит из 000000, а 1 - это тип платформы твёрдый, например), то выполняется действие. А представь, что отдельно просчитываешь ноги игрока, голову, габариты (упираться об стены), а затем ещё сделать второго игрока, а если ещё и врагов сделать с таким просчётом, то капец будет. Понятное дело, что крутой программист это всё сделает умно-хитро и без просадки fps серьёзной, то лично я с моими знаниями алгебры и программирования - нет. Когда смогу это сделать, то мне это нафиг не нужно будет.
Также на днях подумал о том, что на ретро-платформер очень впечатляют игры в псевдо трёхмерном пространстве – на т.н. рейкастинг технологии. И если хотелось бы впечатлить фанатов ретро-систем, то стоило бы делать 3D FPS на сей технологии аля «Zero Tolerance» или «Bloodshot» (он же «Battle Frenzy»).
Для SMD не встречал обучение или открытый код рейкастинга на ЯП. Поэтому подумал, что можно было портировать, найти бы очень простой и понятный код на Си. Не обязательно для СМД, главное чтобы можно было интерпретировать и понять под неё. Но об этом в следующий раз расскажу. |