|
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 7
|
|
Подключаюсь к Си, пишу свой движок для игр11.01.2025, 21:29. Показов 7330. Ответов 24
Здравствуйте ребята.
Вливаюсь в Си. Сам опытный разработчик с 13 годами стажа. Делаю игры на Unity год назад сделал там свой движок и делал игры этот год только на нем. Вот решился написать следующую версию без Unity с нуля так сказать. Начал хорошо, написал корень движка, с первых секунд влюбился в язык Си - он волшебный! Но вот беда, возникают проблемы с подключением библиотек, каждой что то свое надо. SDL2, OpenGL, Glew подключить вышло и теперь даже знаю порядок что да как делать. И настало время поработать с UI в виду того что Nucklear написан на Си без привязки к C++ и довольно обширен, решил воспользоваться им. Но большая беда с ним, он не хочет работать, очень много разных ошибок собака выводит. В итоге я вроде понял что надо просто файл nuclear.h закинуть в проект и путь к нему указать. Но все равно все время какие то проблемы возникают и так я и не вывел все еще ничего из него на экран. Буду весьма благодарен если получу помощь, может совет какой по смене nuklear на что то более подходящее. Отговаривать и говорить что глупо писать свой движок не надо)) все знаем и учитываем и решение принято на очень трезвую голову и со смыслом. Если опытный человек в Си помог бы при звонке, ответив на вопросы то я бы с радостью оплатил бы данную помощь. Буду очень рад желающим.
0
|
|
| 11.01.2025, 21:29 | |
|
Ответы с готовыми решениями:
24
Движок для игр на основе С++ Подскажите пожалуйста движок для создания игр с пониманием основ языка Cи и С++. |
|
Модератор
|
||||
| 08.06.2025, 15:25 | ||||
|
Добавлено через 33 секунды С горем пополам собрал, подсунув туда ему glad, результат написал выше Добавлено через 1 минуту То что Qt подсовывал простой OpenGL вместо ES версии тут не работает.
0
|
||||
| 08.06.2025, 16:21 | ||||||||||||||||||
Библиотеки в одной папке libs внутри проекта. Вот я подключаю cglm по относительному пути ./libs/cglm-0.9.6/include в CMakeLists.txt:
0
|
||||||||||||||||||
| 08.06.2025, 18:08 | |||||||||||||||||||||
|
Лучше писать своё маленькое GUI для своих игровых демко, которые базируются на разных известных играх: Змейка, Арканойд, Тетрис, Бомберман, Супер Марио и т.д. Кнопка - это одна или две текстуры - текстура для не нажатой и текстура нажатой кнопки. Текст - это прямоугольники с текстурой. Прямоугольник с текстурой - больше ничего не надо от OpenGL для начала тренировок в программировании игр. Лучше всего использовать какие-нилудь туториалы по созданию простых извесных игр типа: NoobTuts Snake game,, NoobTuts Pong game - это на PySDL3, то несложно будет переписывать их на C и OpenGL.
Ряд игровых демок (Змейка, Арканоид, Тетрис и т.д.) можно написать, умея рисовать только прямоугольника с заданными координатами, размерами, цветами и углами поворота. В этом примере я вынес вынес в отдельные файлы (rectangle-draw) рисование прямоугольника: В файле main.c я подлкючаю rectangle-draw.h:
rectangle-draw.h
То есть, если у вас установлен MinGW и CMake, то достаточно зайти в папку с примером и выполнить в CMD две команды: config-exe и build-exe и можно запустить EXE командой: dist\win\app А если установлен Emscripten, то можно ввести config-web и build-web и сгенерированную папку мышкой перетащить на бесплатный хостинг Netlify. Вы получаете бесплатный домен для своего веб-приложения. Не надо иметь разные ОС у себя и собирать исполняемые файлы для каждой ОС. Собрал командой build-web и закинул на Netlify и любой читает форум с Android или iOS может тыкнуть пальцем, поиграть в демку и вернуться обратно на форум. Демка в браузере Архив весит 7.66 MB, потому что библиотеки уже подключены по относительным путям. Прикрепил EXE - 140 KB, а рядом с EXE лежит SDL3.dll - 2.34 MB Архив весит чуть больше 1 MB, то есть ещё 20 с лишним MB есть запаса для ассетов, потому что на форуме ограничение для архива 25 MB, если не разбивать архив на части.
0
|
|||||||||||||||||||||
| 08.06.2025, 18:59 | ||||||||||||||||
|
Рисование прямоугольников с текстурами
Смысл тот же, что и выше. Например, здесь вместо файлов "rectangle-drawer" находятся файлы "texture-drawer". Здесь TextureDrawer тоже аналог класса-синглона из C++. Совсем чуть-чуть ООП - это удобно. Библиотеки уже подключены по относительным путям: Например, подключение SDL3 и остальных библиотек: config-exe.bat
В папку с EXE добавилась папка assets с тектурами, а EXE стал в 2 раза больше (на 160 KB больше), потому что добавился файл stb_image для загрузки текстур. WASM-демка в брузере WASM-демка весит столько 3.57 MB в Debug сборке и 1.29 MB в Release-сборке: Debug-сборка: Release-сборка: Текстура зашивается внутрь wasm-файла, благодаря этим строкам кода в CMakeLists.txt:
Демка в браузере
0
|
||||||||||||||||
| 08.06.2025, 19:28 | |
|
Определение клика по прямоугольнику
Чтобы сделать кнопку, то нужно определять клик по кнопки. Так же как, чтобы написать игру Крестики-Нолики нужно тоже определять по какому элементу игры был сделан клик. Лучше всего начинать с таких простых игр, как Крестики-Нолики. Вам не нужен для этой игры графический дизайнер. Можете нагуглить ассеты, а можете сами нарисовать. Можно от руки в Paint'е нарисовать. Вам не нужен гейм дизайнер. У меня есть демка консольной игры Крестики-Нолики в блоге на C# откуда можно взять логику игры на двоих за одним компьютером. В следующей демке в месте объекта появляется текстура с рамкой, а в середине текстура прозрачная. WASM-демка в браузере (1.2 MB в релизе) Я проверял, демка работает на Android 13 из браузера, если из форума тапнуть по ссылке выше.
0
|
|
| 08.06.2025, 19:28 | |
|
под движок Source делаю свой мод как написать свой движок для сайта? Написать свой движок с нуля Закрепить в проект свой движок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|