|
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 7
|
|
Подключаюсь к Си, пишу свой движок для игр11.01.2025, 21:29. Показов 7346. Ответов 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 делаю свой мод как написать свой движок для сайта? Написать свой движок с нуля Закрепить в проект свой движок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|