1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Новый игровой движок

Тема в разделе "Мастерская", создана пользователем Bobbie, 11 дек 2016.

  1. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    676
    Если не попробуете, не узнаете. Интересно смотря для кого, да и нужно ли. Просто опишите, то что есть. Тем кому понравится, вам напишут.
    У меня половина статей на Хабре, не технического характера, в которых треш и угар:)
    --- добавлено 27 дек 2024, предыдущее сообщение размещено: 27 дек 2024 ---
    @Bobbie вообще тема очень интересная, особенно обеспечении не только работы движка на устаревших системах, а как показатель того, что и на старых системах и том железе не имея сотней уровней абстракций, можно обеспечить приемлемый уровень производительности.

    Я сейчас работаю над новой версией библиотеки LDL и есть мысли написать статью на эту тему. Много технических подробностей, тесты производительности и т.д
     
    AndyFox нравится это.
  2. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    Внес финальные на данный момент доработки в API. Дальнейшие обновления будут в следующем году. Желаю всем спокойствия и счастья.
     
    Последнее редактирование: 28 дек 2024
    AndyFox и Jordan 63 нравится это.
  3. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    5.597
    А много ли трудностей возникнет при попытках портировать игры на LDL с SLD1-2-3?
     
  4. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    676
    Трудности есть. У меня получилось портировать игру Cube 2: Sauerbraten. Билд от 2013 года. Потом там жёстко завязались на SDL2, свои функции для работы с файлами и т.д И порт возможен, но довольно много работы.
    Для звука сделал заглушки. Все остальное работает. Все это сделано для предыдущей версии LDL. Но есть одна проблема из-за одной функции. Которой нет в LDL, пока. Но собираюсь её добавить. Функция которая возвращает сколько пикселей по экрану прошел курсор, с предыдущего движения. Из-за этого камера пока неадекватно себя ведёт.

    Это я все делал для тестирования фреймворка, что бы понять насколько он готов для практической реализации игр или программ.
    --- добавлено 31 дек 2024, предыдущее сообщение размещено: 31 дек 2024 ---
    Портирование довольно трудоемкая задача, в моем случае мне конечно чуть проще, так как я знаю внутреннее устройство LDL и понимаю где, что и как работает. Ещё один большой плюс, что игру можно отлаживать современными компиляторами С++ и IDE. И если работает на современной Windows или Linux, то для работы для windows 95 и старых версиях Linux, нужно, только пересобрать, ну и конечно среагировать на диагностические ошибки, если будут.
    Многое зависит от используемых API, к примеру OpenGL полностью поддерживается.
     
    AndyFox нравится это.
  5. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    Исправил небольшой баг в подсистеме для работы с тайловыми картами.
     
    AndyFox нравится это.
  6. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    676
    Лучше вынести из движка знание о таловых картах в примеры. Движок, только рисует, а вот как рисовать это уже игра решает.
     
  7. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    @Jordan 63, знание движка о тайлах ограничивается вспомогательным классом. Он определяет максимальный размер карты исходя из размеров экрана и тайлов, а так же определяет строку и столбец по координатам. Облегчать программисту рутиные задачи это хорошая практика.
     
  8. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    Внес небольшие изменения в API и немного оптимизировал подсистему для работы с листами спрайтов(sprite sheet).
     
    Последнее редактирование: 23 янв 2025
    AndyFox и Jordan 63 нравится это.
  9. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    676
    Я бы добавил больше примеров и скрины к ним на гитхаб.
     
    AndyFox нравится это.
  10. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    Добавил подсистему для работы с фоновыми изображениями с поддержкой прокрутки (параллакс) и немного изменил API.
     
    AndyFox нравится это.
  11. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    Добавил подсистему для работы с 2D камерой.
     
    AndyFox нравится это.
  12. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    Исправил баг в работе камеры.
     
    AndyFox и Gamerun нравится это.
  13. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    Увеличил производительность рендера и доработал API, а так же исправил ошибки в документации.
     
    AndyFox, Jordan 63, Awasaky и ещё 1-му нравится это.
  14. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    Немного доработал API и улучшил загрузчик изображений форма TGA.
     
  15. Strategus

    Strategus

    Регистрация:
    1 мар 2024
    Сообщения:
    111
    Игру уже пора делать на нём, абстрактных и универсальных движков слишком много. Нужны заточенные под конкретный жанр, или стиль (с возможностью генерировать хотя бы часть контента).
     
  16. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    @Strategus, буду только рад если люди будут делать игры на моем движке.
     
    Strategus нравится это.
  17. Strategus

    Strategus

    Регистрация:
    1 мар 2024
    Сообщения:
    111
    Это похвально, но таких движков много. И у людей нет аргументов в пользу данного движка. Если то что всего два файла, то есть одно файловый olcPixelGameEngine.h. Если по универсальности и количеству поддерживаемых платформ, то SDL в не конкуренции будет. Должна быть изюминка, что-то сделано удобнее или заточено под конкретно. то что нужно тому кто будет делать игру. Я вот за последние года 2-3 просмотрел сотни полторы движков. Везде что-то не устраивает, то одно не удобно, то другое, у третьего спрятано всё, у четвёртого вообще минимализм, пятый и шестой используют устаревший openGL (нормальный я от 3.3 считаю, с некоторыми расширениями), где то набухано столько, что нафиг оно всё надо ((
    Самое интересно, то что создатели движков (речь про 2д), очень часто полагают что пользователям их движков почему то должно хватить двух видов текстур rgb8 и rgba8. Ну и как в рамках этого допустим стратегию делать. Вот представим. Делаем, пусть Цивилизацию (уровня 3тей). У нас есть 30 цивилизаций, каждый юнит должен иметь окраску игрока, Цвет команды (колор тиам). Ну и как это реализовать, делать 30 вариантов для каждого юнита, или делать маску в 24бита. Это же жирно до безобразия... А вообще большинство игр 2д можно сделать, в рамках палитры в 256 цветов (не на всю игру, а на спрайт). Это сильно сократит затраты памяти. Я уж молчу, про то что в шейдере можно наворотить всякого, нормали, динамическое освещение...
    А вывод спрайтов? Это ужас, максимум батчинг самый простой, а то и вовсе поштучно предлагают. А как же более современные варианты? Получается, что я в 3д движке рисую сотни тысяч полигонов за один кадр, с огромным ФПС, а в 2д игре, 30-50 тысяч спрайтов приводят к тормозам...
    Вот у меня есть идея. Изометрия ланшафт генерируется не из десятка, двух тайлов (размером с игровую клетку). А из очень мелких, скажем по 16 тайлов, или даже по 64 на одну игровую клетку. По сути по "пиксельно" Тут уже надо несколько сотен тысяч спрайтов вывести ((
    А SDF текстуры, отличная штука для шрифтов, да и не только. Можно гербы сделать 1-2 цветные, которые будут на юнитами, и хранить это всё в шрифте, а при загрузке конвертировать как шрифт в текстуру SDF. А не плодить десяток шривтов под каждый размер кнопки...
    GUI как правило в движках минимальный или ужасный, почти все тянут стороннюю библиотеку поэтому, ну или создателе движка, сами тянут такую... В общем, тут столько всего можно навертеть и это только малая часть, если собрать все идеи, что есть в инете, то на 50 движков разных хватит
     
  18. Bobbie

    Bobbie

    Регистрация:
    28 ноя 2016
    Сообщения:
    158
    @Strategus, изюменка в крайне низких требованиях к железу и логичном понятном API. Затачивается движок под олдскульные игры типа Street of rage.
     
  19. Strategus

    Strategus

    Регистрация:
    1 мар 2024
    Сообщения:
    111
    Ну тут в плане графики, вообще никаких особых требований. Разве что загрузка разных графических форматов может потребоваться. А так всё просто выглядит. Думаю что тут конкуренция даже не с движками будет, а с SDL. В принципе простую игру можно прямо на SDL делать(там тоже низкие требования к системе).
    --- добавлено 29 янв 2026, предыдущее сообщение размещено: 29 янв 2026 ---
    Да, наверное надо будет анимацию реализовывать, не помню как называется, там когда руки, ноги отдельно от тела. Человек из нескольких спрайтов. Вроде в таких играх так делают
     
  20. ArtemSokolov

    ArtemSokolov

    Регистрация:
    30 янв 2026
    Сообщения:
    1
    Справедливые замечания, особенно про текстурные форматы и батчинг - в 2D это часто больное место. Думаю, если движок чётко ограничить конкретным жанром или подходом, многие из этих проблем можно решить без излишнего усложнения.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление