Я как неудавшийся разработчик игр. Разработка игр на SFML и DI
05.01.2025
27
0
0
0
0
Фриланс, трейдинг и С++
Всё началось, когда мне было 20 лет, в уже далёком 2020 году. Сидел я на дереве (нет, серьёзно) значит, и думал чем бы мне заняться. Думу думал, и решил попробовать заняться программированием. Честно, я не сильно задумывался с чего начать. Я знал что язык C++ популярен и почему бы и нет. Ну и поехало.
Конечно же, первым делом я пошёл на YouTube смотреть туториалы. Осваивать синтаксис своего первого языка программирования. Я знал 2 языка, поэтому ограничений в выборе туториалов не было. Я нашёл вот этого прекрасного, русскоговорящего вблогера и начал осваивать синтаксис.
Я не торопился, делал всё медленно и размеренно. Тогда я занимался фрилансом. Делал я вообще всё, начиная линк-спамом (извините, это ещё называется линкбилдинг) и заканчивая некоторой бухгалтерской работой.
Получалось заработать совсем крохи. Моим самым успешным месяцем был Сентябрь 20 года. Тогда я смог заработать 200$. В остальные было меньше. По этому я устроился работать на мебельный завод. Прикол в том, что там я зарабатывал не так уж много. Где-то 300$ в месяц.
Прогресс, скажу я тебе. Отстой ответите вы мне. Но как есть.
Смена ОС
Так вот, к началу 2021 года у меня, славу богу и моим кривым рукам, полетела винда. Я переустановил её. Сначала на 8.1, потом на 10. Мне они не нравились, решил попробовать Linux. И это был тот ещё экспириенс, всё было очень сложно и не привычно. Но постепенно, шаг за шагом я освоил Debian.
Кстати, если кому интересно, то вот список того, как я перескакивал с одного дистрибутива на другой:
Windows 7 | ??.??.2014 - ??.10.2020 | Что-то удалил из куста регистра, востановил, но решил попробовать что-то новое |
Windows 8.1 | ??.10.2020 - ??.11.2020 | Не понравился, решил попробовать Linux |
Debian10 | ??.11.2020 - 07.02.2021 | Создал и испытал fork-бомбу на своей системе |
Debian10 | 07.02.2021 - 11.07.2021 | Почему-то lightdm не смог загрузить xfce окружение |
Debian10 | 11.07.2021 - 07.09.2021 | Новая версия Debian |
Debian11 | 07.09.2021 - 27.01.2022 | Из-за плохой разбивки диска, не смог установить в систему новый софт |
Gentoo | 27.01.2022 - 01.02.2022 | Слишком много компиляций, надоело |
Arch | 01.02.2022 - 25.03.2022 | Из-за повреждения жёсткого диска ... мной |
Arch | 01.04.2022 - 11.07.2022 | Думал полная переустановка решит проблемы с фризами - нет |
Arch | 12.07.2022 - 08.03.2024 | Однажды ядро просто не собралось, перешёл на windows 10 |
Windows 10 | 08.03.2024 - ??.??.???? | Пока тут |
ОС | Начало - Конец | Причина перехода |
---|
К чему я это всё, так к тому, что весь этот кавардак с ОС и сподвигнул меня учить программирование дальше. Одних терминальных приложений мне было мало, я хотел видеть КАРТИНКИ, движущиеся и живые o( ̄┰ ̄*)ゞ
И раз уж я знаю C++, надо бы подыскать соответствующую библиотеку. И так я наткнулся на SFML. И тут я не смогу выделить конкретного автора на YouTube, их было много, да и давно это было, я просто не помню.
Мои первые демки и клоны других игр
Всего я смог раскопать 4 игры из тех времён. Как будто 21 год так давно. Лишь одна из них закончена, это клон игры Pacman.
MSquers
Я хотел написать 2Д платформер с нуля. Реализовать систему анимаций, процедурной загрузки уровней, управление памятью и прочее. Но особенно сильно я хотел рассказать историю, историю войны в вымышленной галактике... Ничего не получилось и я забросил проект.
Это типа главный герой.
Ну в общем, всё что я нашёл. Пересобрать проект я не смог, увы (
PacManClone
Это единственный проект из той далёкой эпохи, который действительно закончен. Как говорится от А до Я. Обычный клон PacMan на SFML и C++. Вот меню игры
А это скриншот самой игры
SpaceShooter
Просто линейно-бесконечный 2Д шутер, где твоя задача уничтожать летящие на тебя астероиды.
SquersFalling
Просто падающие кубики, где ты должен прокликать как можно больше.
DI-Engine, игровой движок
Одновременно с разработкой маленьких демок и клонов игр, я начал работать над своим игровым движком, как это обычно бывает. И конечно же он должен быть написан на OpenGL и С++. Заметное влияние на меня оказал канал Cherno. Именно от него я многое узнал о структуре и работе игровых движков.
Хочу сказать вот что, это была огромная трата моего времени и сил. Я был почти одержим им, так сильно мне нравилась его разработка. За пару месяцев разработки я смог сделать вот это:
Загрузка 3д моделей, текст, текстуры, UI, какая-никакая физика. Всё сделал, всё написал сам, но потом я решил, что все внешние зависимости должны быть устранены. Я решил переписать SimpleGUI библиотеку. Это будет быстро, говорил я себе. Я еще ни разу в жизни так сильно не ошибался.
Ссылка на исходный код движка https://timthewebmaster.com/media/tools/di-engine/DI_App.zip
Заключение
На этом я пожалуй закончу. Дальше расскажу чем я занялся дальше, что было DIEngine и почему выбрал Cocos2dx для разработки игр, и что из этого вышло. Кстати, все исходные файлы игр и программ можно найти тут https://timthewebmaster.com/en/tools/?page=1&type=full&is_recent=true&mode=list&tag=sfml&tag=gamedev
Комментарии
(0)
Отправить
Сейчас тут пусто. Буть первым (o゚v゚)ノ