Разработка и ромхакинг > Разработка игр
M2k - игра головоломка + конструктор.
dj--alex:
Это и ремейк, и игра, и всё ещё головоломка из 1997 года и даже чуть чуть "движок"...
А также это многолетняя компиляция из всех показавшихся мне интересными идей в одном проекте.
Что это?
Игра и конструктор, два в одном.
Причем конструктор в двояком смысле - в игре встроен редактор уровней.
А также на основе движка уже этой игры была написана совсем другая игра с другими обьектами - Reskue.
И пишется ещё одна - Colony.
Кому может быть интересна игра:?
*Поклонникам Zx-spectrum,
т.к. я черпаю вдохновение именно из игр и элементов используемых на
этой платформе.
*Детям,
Когда я ехал в поезде, я ради интереса давал детям соседей копию игры
и надо сказать играли они увлечённо в обе игры и успели пройти с 10-к уровней. пока
не настала моя очередь выйти.
*Начинающим программистам. Любителям посоздавать что то своё.
Есть возможность не только создавать свои уровни.
Игра под открытой лицензией и при желании и навыках можно
как помочь улучшить мне игру, так и создать собственную.
Чем можно занятся в игре M2K:
* уничтожать троллей, мины и постаратся найти выход из лабиринтов.
* различная небезопасная техника
* возможность совместной игры вдвоём на одной клавиатуре (только для ПК).
* все уровни головоломки полностью портированы с старой игры 1-в-1, кроме 1.
Описание проекта Reskue:
На научную базу произошло нападение танков, вам необходимо спасти учёных и привести их к воздушному шлюзу который легко найти по трем железным дверям. (место назначения отмечено красными точками). Ученые после разморозки крайне непонятливы и обычно просто бегут от вас, однако умеют пользоватся телепортами и дверями. (а также обладают навыком "свистнуть аптечку" ) Для победы нужно спасти хотя бы 6 из 8 учёных.
Наиболее важные последние обновления и дополнения:
*Кроссплатформенность
*Добавлена поддержка 2 джойстиков PS3 для совместной игры.
*Унификация движка. (обновления движка попадают в все сделанные на нём игры быстро)
*Тонкие настройки в игре вплоть до подстройки скорости игрового процесса для себя.
Подсказки:
Справка по управлению и кнопкам пишется слева прямо во время процесса игры.
Подробное описание обьектов, управления и логики игры в файле по ссылке.
https://yadi.sk/i/HY0hSJzT3Jtqcc
Где скачать игры?
Руководство к игре и описание обьектов и как играть доступны на этом же сайте в документации.
Для Linux, Android или Windows или инструкция.
https://dj-alex.itch.io/m2k
Нужно выбрать донат или "thanks, download" по выбору.
https://dj-alex.itch.io/reskue
Системные Требования:
Windows 64bit, Linux 64bit, Android.
Работает почти на всех существующих видеокартах, гибкая смена разрешения в зависимости от устройства.
Требует мало памяти.
Хорошая оптимизация, работает даже на телефонах 2010 года типа Samsung Galaxy S2
с Android 4 выдаёт 120FPS.
M2K Zx-spectrum 48K version (Tr-dos, hobeta files): http://yadi.sk/d/qgdIORRHAvmSA
Офф сайт: http://www.dj-alex.ru/index.php/m2k
Группа ВК: https://vk.com/club134363102
Для тех кто создает уровни:
уровень сохраняется в папку levels в папке игры. Наприклад: m2k-Linux-x64-compile-ras0ft-b/usr/bin/Levels
Внешний уровень загружается через Е.
Если нужна помощь - нажмите F3 или почитайте справку (readme).
Видео геймплея:
Демо прохождения пары первых уровней на новой версии (без комментариев)
https://www.youtube.com/watch?v=fASn-5Uaud8
https://www.youtube.com/watch?v=FOQR5CjNwZc
Игра в reskue
https://www.youtube.com/watch?v=zIihyQ4VAzw
На чём основан проект?
M2K базирован на моей старой игре головоломке Mission 2000 выпущеной для Zx-spectrum в 1997-1999 годах
M2k remake разработан в 2017 году.
Reskue remake разработан в 2019 году.
Colony remake ** 2020 год ??
Оригинальная платформа — Zx Spectrum Basic
Движок игры сделан на Lua + Love framework.
Коллекция скриншотов:
https://vk.com/album-134363102_238322368
Краткая справка по управлению.
Управление — Курсор (стрелочки)
Стрельба
удерживать Lshift — обычные патроны, для танка противника — Нумпад0
удерживать Lgui/Lwindows — ледяные патроны.
R — респавн, если есть жизни.
H — дозарядится от запасных аптечек,
L - телепортироватся на старт из безвыходной ситуации, однако она оставляет лишь 1 HP у вас.
N - перейти на следующий уровень если вы не справляетесь с загадкой, отнимает у вас 2000 очков.
Вы не сможете сохранятся если у вас очков меньше 0 а также делать покупки в контрольных центрах.
О игре как движке:
Развитие происходит добавлением в движок новых обьектов и функций, которые позже реализуются в одном из новых проектов. Всё что может бэкпортируется обратно в движок.
Например Для игры Reskue была разработана возможность ставить на карту более 100перемещающихся противников, но в оригинале M2K такого нет, поэтому в игре это не встречается.
В саму M2K "konstruktor edition" новые обьекты попадают скорее для галочки
Реально в уровнях обьекты из других игр не используются.
Хотя вы можете их добавить через редактор и посмотреть что получится.
В проектах сделанных мной кодовая база похожа,
Однако графическая составляющая, уровни, набор используемых ассетов, музыки и.т.п.
может различатся довольно сильно.
Желающие могут свободно помочь если хотят =) Упомяну в авторах.
Для меня это некритично.
Yoti:
Игра, которая идёт и на Спекке, требует Вин64?
dj--alex:
когда имеешь несколько проектов штуки 3 не успеваешь под всё компилить
Да и я решил устаревшую 32битную архитектуру следом за Canonical прекратить поддерживать.
Двойная обработка и двойное хранение файлов таким образом исключилось.
Однако любящие 32бита могут скачать код с Github и скомпилить всё сами.
https://github.com/dj--alex/reskue
Guyver(X.B.M.):
"и скомпилить всё сами" - прохожу мимо и другим посоветую >:(
Sharpnull:
--- Цитата: dj--alex от 07 Сентябрь 2019, 10:12:34 ---когда имеешь несколько проектов штуки 3 не успеваешь под всё компилить
--- Конец цитаты ---
Самое время узнать о Travis CI и AppVeyor и других CI сервисах. Либо автоматизировать через скрипты. Релизы можно хранить на github в releases. Я понимаю, когда отказываются от x86 из-за трудностей с поддержанием кода, но здесь просто выполнить несколько команд.
--------
На счёт игры (Win7):
* Вылетело при попытке сменить разрешение.
* Нет перехода в полный экран (love.window.setFullscreen).
* Интерфейс нужно доработать, сейчас вырвиглазно.
* Странный порядок: Продолжить, Загрузка, Сохранение, Автор, Новая игра.
* Отладочную информацию выводите при отладке, добавьте какую-нибудь переменную, но не debug, уже занята.
* Текстуры нужно перерисовать под одно разрешение и отключить билинейную фильтрацию, если собираетесь оставить пиксель арт, иначе выглядит размазано (https://www.love2d.org/wiki/FilterMode). UPD: Сейчас увидел, что в коде есть установка, но билд, что я скачал был размазанным. Нужно установить mag тоже, вместо:
--- Код: ---lg.setDefaultFilter('nearest');
--- Конец кода ---
это
--- Код: ---lg.setDefaultFilter('nearest', 'nearest');
--- Конец кода ---
dj--alex:
Добавил в новой версии поддержку Fullscreen по alt-enter
lg.setDefaultFilter('nearest', 'nearest'); тоже поправил. А что даёт mag?
Потом как сделаю залью обновлённые билды.
Спасибо за советы!
В новой версии вместо смены разрешения введена опция размер обьектов, потому что по сути
разрешение уже менять не нужно. Если нужно игрок изменит системное.
Она уже запланирована на удаление была.
Вместо этого корректно работает увеличением или уменьшеним размера окна.
Дизайнеры и художники за несколкьо лет ко мне не заглядывали как я и говорил.
Так что все обьекты нарисованы профессиональными программистами =)))))
Кнопка продолжить всегда исполняет роль возврата в текущую игру, либо если не была начата новая игра - то начинает её.
f12 включает режим дебага, но в основном выводится уже не особо полезная информация.
всё меняется по мере актуалньости исправлений.
Я в данный момент не могу сделать почему то пулеметную очередь чтобы она реагировала на обьекты не пролетая сквозь стены вправо и влево
Для меня это сейчас единственный серьезный баг.
всё остальное отмечено как сделано верно.
Не не я устаревшую 32бит платформу точно поддерживать не буду.
Я и под виндовс не очень то хотел сборку делать где всё в одном,т.к. идеологически меня не устраивают её хозяева.
Sharpnull:
--- Цитата: dj--alex от 07 Сентябрь 2019, 16:03:52 ---Кнопка продолжить всегда исполняет роль возврата в текущую игру, либо если не была начата новая игра - то начинает её.
--- Конец цитаты ---
Я про кнопку "Автор", почему она здесь, а не перед "Выход" как все делают.
Yoti:
--- Цитата: dj--alex от 07 Сентябрь 2019, 16:03:52 ---Не не я устаревшую 32бит платформу точно поддерживать не буду.
--- Конец цитаты ---
Спектрум же такой современный, там 64 бит UEFI стоит, наверное?
Sharpnull:
Yoti, если придираться:
В билде Android отсутствует поддержка 64-битной системы (arm64-v8a / AArch64), что стало обязательным с 1 августа 2019 года для Google Play (Подготовьте ваши приложения к 64-бит требованиям).
dj--alex:
to Yoti
а я как бы на спектрум и не выпускаю ничего с 2001 года
однако уровни сделанные на спектруме даже сейчас
будут работать в версии 2019 года.
Они даже хранятся до сих пор в формате HOBETA. (.$C)
to Sharpnull
увы авторам Startdev которые обеспечивают поддержку легкого и быстрого Love2d to android конвертера
наплевать на то что за 64бит будущее и они забросили свой проект.
я вынужден использовать устаревшую версию движка для совместимости с заброшенным проектом.
потому что выхода нет.
Cyb3rM4n:
dj--alex, вы бы подключили тот же Appveyor, чтоб можно было нам, простым пользователям, не знакомым с компиляцией проекта с нуля и не жделающим тратить драгоценные 5-10 гигов на установку MSVC, было проще скачать уже сами бинарники, чтоб быстренько запускать твою игру. Пока же - иду мимо.
dj--alex:
Что такое appveyor?
Что такое MSVC? Microsoft после того как он почти убил OpenGL и выпустил свой Sekure boot - читаю исключительно как "вредитель" и "не нужно"
поэтому не использую ничего из того что выпускает эта компания.
Бинарники для виндовс тоже делаются под линуксом и работают прекрасно по отзывам игроков.
не понимаю в чем проблема.
т.е. готовый бинарник для линукс, андроид или винды скачать религия запрещает?
А если вам хочется посмотреть исходный код и запустить его - то для его запуска
нужен не компилятор, а интерпретатор - love2d.org , попробуйте.
===
п.с. ещё раз спасибо за все отмеченные ранее ошибки люди.
практически всё поправлено кроме художников.
====
Спектрум это уже живая легенда.
тем более я на него ничего не пишу сейчас. с 2001 года примерно
Yoti:
--- Цитата: dj--alex от 07 Сентябрь 2019, 10:12:34 ---Однако любящие 32бита могут скачать код с Github и скомпилить всё сами.
https://github.com/dj--alex/reskue
--- Конец цитаты ---
--- Цитата: dj--alex от 18 Ноябрь 2019, 12:45:00 ---т.е. готовый бинарник для линукс, андроид или винды скачать религия запрещает?
--- Конец цитаты ---
Логика железная вообще.
--- Цитата: dj--alex от 18 Ноябрь 2019, 12:45:00 ---Бинарники для виндовс тоже делаются под линуксом и работают прекрасно по отзывам игроков.
--- Конец цитаты ---
Ага, и судя по странице проекта требуют права администратора, а также упакованы в tgz, который нативно не открыть.
dj--alex:
под windows есть такая замечательная программа - Winrar, 7Zip
если кто то их не поставил то ССЗБ. это стандартный необходимейший элемент который
должен быть на любой существующей ОС.
Эти программы открывают любые архивы.
А консольный скрипт кроме tgz паковать не умеет.
Да и смысл паковать в ZIP - тогда нельзя заливать архивы на Вконтакте и многие другие сайты.
Там доступ заборонёны к таким архивам.
Насчет прав админа требуют ли они права или нет - понятия не имею
Я запускаю без прав админа и рута и без sudo. отлично запускается.
Под виндовс как то лично тестировал не помню чтобы такая плашка вылезала.
игре не нужен ни доступ в интернет никуда. ей хватит даже OpenGL 3
для сохранения она использует всегда собственную папку + Saves , туда где её распаковали
чтобы не было сложности в нахождении сохранёнок.
потому что некоторые авторы игр считают путь /users/user/Appdata/LocalLow/Roaming/%firmaname%/saves - простым и интуитивно понятным.
А да.
32бита это устаревшая ОС. не понимаю зачем использовать 32 бита ОС.
Это любовь к Intel Pentium 1 166 Mhz или Pentium III 500Mhz? по моему их давно все уже выкинули в помойку.
Многие производители дистрибутивов уже не делают 32битные сборки. хотя и поддерживают 32битные приложения и рекомендуют по умолчанию 64.
если все программы давно 64битные.
конечно можно ненавидеть обьем памяти выше 3.2гб и намеренно выстрелить себе в ногу и ограничить его
т.к. на Windows PAE Linux kernel не поставить
Была бы у меня возможность я и андроид версию сделал бы Only 64bit
к сожалению пока нет такой.
Yoti:
--- Цитата: dj--alex от 18 Ноябрь 2019, 16:36:15 ---должен быть на любой существующей ОС.
--- Конец цитаты ---
Кому должен - тебе? Сколько занимали и когда отдать обещали? ГитХаб вот почему-то даёт возможность выбора формата архива при загрузке исходников, но ты же лучше знаешь.
--- Цитата: dj--alex от 18 Ноябрь 2019, 16:36:15 ---32бита это устаревшая ОС. не понимаю зачем использовать 32 бита ОС.
--- Конец цитаты ---
32 бита это не ОС, лол. Типа, десятка 32 бита устарела, а десятка 64 бита нет? При том, что вышли они одновременно. Это какая-то космическая логика, которую я, отнюдь, не понимаю.
Ну да, зачем абсолютно без усилий дать возможность поиграть обладателям как 32-ух, так и 64-ёх битной ОС? Мы лучше своё мнение будем навязывать. Прогресс ради прогресса.
dj--alex:
Написал статью описывающую все сделанные мной на данный момент игры на моём движке
+ описание прогресса.
все 4 игры можно скачать бесплатно.
https://dtf.ru/retro/91476-ishchu-lyubiteley-igr-zx-spectrum
https://rutracker.org/forum/viewtopic.php?t=5830211
обновления также выложены + к коду игры добавил код сборщика на github
п.с. все замечания по интерфейсу и игре по возможности учтены
часть текстур которые осилил - улучшены или заменены по качеству.
AppVeyor посмотрел - нет поддержки Android apk 64bit (arm)
32бита? абсолютно без усилий.
это в 2 раза больше тестирований, в 2 раза больше всех архивов КАЖДОЙ из игр ,а их уже 4 на данный момент
в раза длиннее скрипт генерирующий билды под Linux, Windows, Android
вот этот вот скрипт
https://pastebin.com/5b72w2BC
я всем этим заниматся ради любителей Pentium III и любителей ограничить себе память с 8 или 16 гигабайт до 3.2Гб точно не буду.
меня не прельщают странные люди обожающие когда у них постоянно кончается память и браузер закрывается из за её не хватки
я в этот клуб вступать не буду.
Yoti:
--- Цитата: dj--alex от 20 Январь 2020, 12:28:01 ---и любителей ограничить себе память с 8 или 16 гигабайт до 3.2Гб точно не буду.
--- Конец цитаты ---
У нас же оперативную память бесплатно при рождении дают, что у всех она именно в таком размере водится. В прошлом десятилетии 8 давали, а теперь 16.
--- Цитата: dj--alex от 20 Январь 2020, 12:28:01 ---меня не прельщают странные люди обожающие когда у них постоянно кончается память и браузер закрывается из за её не хватки
--- Конец цитаты ---
А под шумок смены правительства законодательно обязали всегда браузер включенным держать, да ещё и с кучей вкладок. Чтобы ну вот точно память кончалась. И даже не думай что-нибудь закрыть!
Я, порой, поражаюсь узколобости людей. Типа не может быть ситуации, когда человек из-за какого-либо софта сидит на 32 битах. Например, по работе нужно. Ставить что-то серьёзное из игр нет смысла, Так что в перерывы играет во что-то маловесящее и сессионное. Но нет, игра, которой достаточно и нетбука, искусственно требует себе конфиг, где должны быть бескрайние гигабайты оперативки. И пофиг, что ей они по факту не нужны - бегите покупайте новые компы. Так папка Капиталист приказал. Авэ потребительству!
SeregaZ:
я вот тоже изначально редактор делал под 800х600. потом смотрю не хватает рабочей поверхности. ладно, думаю, ХР ведь у всех есть и 1024х768 по идее любой примус поддерживает. перешел. теперь думаю еще надо - кнопки пихать некуда... но увеличивать уже не буду. мож чего переделаю - типа от кнопок с иконками откажусь может... ежели окно увеличивать - уже есть опасность, что на старых компах программа влезать в экран не будет.
Sharpnull:
SeregaZ, очевидно, что нужно делать адаптивный интерфейс, а не тупо увеличивать окно и накидывать кнопки. Окошки должны менять размер. Разные функции можно разделить на отдельные окна, как например в FCEUX или в манере Exodus, где можно иметь не только отдельные, но внутренние вкладки. Из примеров Photoshop, Visual Studio, Blender и куча других известных программ. Есть статьи и книги о UI, но и так понятно, что для сложных программ должна быть хорошая поддержка горячих клавиш, настраиваемые меню и элементы под разные задачи.
Конечно, минимальный необходимый размер должен быть, обычно его указывают в системных требованиях.
SeregaZ:
со вкладками все плохо :) в моем недоязыке они почему-то кривоватые... в смысле те, что в стоке - там ничерта не видать. посему я делаю вкладку, а в ней еще одно поле. тогда её границы видно четко, но программа рисуется не совсем корректно в местах стыка. если была открыта моя программа, потом скажем я открывал гугель хром, потом вернулся в свою программу - в этих самых стыках на 1 пиксель шириной будет виден хром, точнее изображение хромовского окна в этой области. другой затык с тултипами. окно мерцает. в общем сплошные разочарования :)
Навигация
Перейти к полной версии