Сохранен 14
https://2ch.su/gd/res/885527.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

хочу движок на OpenGL + Cи

 Савтис OP 11/07/23 Втр 12:09:25 #1 №885527 
WIN20230711160636Pro.jpg
прив, Аноны. я собираюсь создать движок для 2D игр на OpenGL, звук будет на OpenAL, возможно использование шейдеров, которые будут написаны на OpenGL Shader Lang, ввод будет производится при помощи GLFW.
Сам движок будет состоять из нескольких частей.
- Скриптовый язык (буду использовать Python)
- - упаковщик скриптов (чтобы нельзя получить исходный код готовой игры, тип защита)
- Исполнитель скриптов (штука, которая будет считывать команды языка и выполнять их: отрисовывать что-то, управлять окном, спавнить юнитами и т.д)
- Графическая и звуковая часть (отрисовка графики, воспроизведение звуков, управление файлами, окном, сетью)
- графический интерфейс движка (модуль, который будет делаться самым последним и скорее всего будет делаться на С++ или Python)
Аноним 11/07/23 Втр 13:00:21 #2 №885537 
>>885527 (OP)
>Скриптовый язык (буду использовать Python)
Делай на lua. Ты так двух зайцев убьёшь - и скриптовый язык, и компиляция в плюсы для типа защиты.
Но ты уже создал тред, потому вся разработка уже закончилась.
Аноним 11/07/23 Втр 13:04:03 #3 №885539 
>>885537
вот ты засранец, взял и заруинил мне весь процесс.
я хотел взять питон, тип там есть либы, которые можно линковать и получать доступ к процессу исполнения кода. это можно юзать, штоб приплетать к этому механики движка
Аноним 11/07/23 Втр 13:42:27 #4 №885548 
>>885539
C lua всё еще проще. Кресты могут вызывать функции из lua, а lua может вызывать функции крестов. Так что приплетать механики движка к скриптам будет очень просто. Я бы тебе советовал вообще не смотреть в сторону питона. А ещё лучше скачать какой-нибудь Stride это бывший Xenko а это бывший Paradox3D и посмотреть, как всё реализовано там. Это не запредельно сложные крайтековские или эпиковские поделия, разобраться будет проще, чтобы понять основные принципы.
Аноним 11/07/23 Втр 18:05:04 #5 №885624 
>>885548
бля да. луа лучше, так как у меня изначально была идея прикрутить питон и чекать, то что он творит, типо специально в питоне вызывать функцию, которой нет в пространстве имен, но мой движок это перехватывал и если это имя функции, которая прописана в движке, то он её вызывал
Аноним 12/07/23 Срд 18:06:11 #6 №885815 
>>885527 (OP)
> Ogl shader lang
Это ты так glsl обозвал?
Аноним 12/07/23 Срд 18:47:17 #7 №885832 
>>885815
да
Аноним 12/07/23 Срд 19:21:14 #8 №885850 
>>885527 (OP)
Предлагаю начать с создания своего собственного языка программирования и компилятора к нему.

Потом на этом языке свою ОС напишешь...
Аноним 12/07/23 Срд 19:24:43 #9 №885851 
>>885850
имба, чел
Аноним 12/07/23 Срд 20:00:41 #10 №885873 
>>885624
Не, за такие магические функции юнити до сих пор хуесосят. Плюс там же есть проблема, когда скриптов миллиард, движок перебирает все вызовы, даже если в них нет кода, из-за чего производительность идёт по пизде. Пили лучше события и подписывай скрипты на события апдейтов из движка.
Аноним 12/07/23 Срд 20:31:53 #11 №885880 
>>885873
окич. вообще, я думал просто при запуске интерпретатора питона, просто перед исполнением скрипта, создавать функции, которые просто будут вызывать функции движка через ctypes
Аноним 12/07/23 Срд 21:28:17 #12 №885895 
>>885539
Есть такая библиотека как pybind11. Она на с++, но 99.99% вероятность что у тебя и так С/С++ компилятор
Если я правильно понимаю ее назначение, то ты можешь зарегистрировать свои С++ методы и переменные и они будут доступны из питона.
https://pybind11.readthedocs.io/en/stable/basics.html
https://pybind11.readthedocs.io/en/stable/advanced/cast/overview.html

Другой промышленный инструмент это https://www.swig.org/tutorial.html
Там ты пишешь дескрипторы к своему Си и оно само делает байндинги под все языки на свете, включая питон.

Сам я только читал про них и не пользовался.
Аноним 13/07/23 Чтв 10:11:29 #13 №885961 
>>885895
а чем ctypes плох? я смотрел сравнение скорости и ctypes отстает на 0.0002 секунды
Аноним 14/08/23 Пнд 16:05:04 #14 №894110 
bump
comments powered by Disqus