|
Just Do It!
|
||
Давайте сделаем игру Columns09.12.2025, 17:46. Показов 20875. Ответов 315
Метки нет (Все метки)
например, ТЗ https://disk.yandex.ru/d/l7-X5wW48Zn9Ig так как тут все кодеры-одиночки, то каждый пилит сам - полностью всю игру, но есть другой вариант, который гораздо прогрессивнее: порезать игру на модули - каждый пилит свою часть. затем части складываются в одно целое, которое и есть целевая программа - игра.
0
|
||
| 09.12.2025, 17:46 | |
|
Ответы с готовыми решениями:
315
Господа программисты есть идея создать игру. Давайте объединимся Может соберемся и сделаем игрушку? Может соберемся и сделаем что-нибудь вместе? |
|
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
|
||||||
| 12.12.2025, 00:56 | ||||||
|
XLAT, ну конечно костыль. Но эта папка реально меня бесит. Менять что-то в файлах движка не хочу. Пусть пока будет так. Я ещё попытаюсь найти способ, как указать при старте игры путь к ogre.cfg, поскольку после удаления папки игра просит заново настроить, а если укажу путь, то будет норм.
Предварительно я нашел
Но если этот метод заработает, то будет круто. Можно будет создать папку рядом с игрой и засунуть внутрь все эти файлы. Когда будешь разбираться в камере, то обрати внимание, что Ogre использует такую координатную систему: Т.е. центр плоскости расположен в точке (0,0,0). Шар же на 100 приподнят вверх (по оси Y). Полагаю, что камеру можно разместить на (0, 1000, 1000). Т.е. по Х будет выровнена по центру координат, на высоте 1000 и будет отдалена на юг от центра координат на 1000 (или 500 от стороны плоскости).
0
|
||||||
|
Just Do It!
|
||||
| 12.12.2025, 04:25 [ТС] | ||||
|
1.
но выставить взгляд можно, покрутив ноды(2 штуки по эйлеру), на которых прицеплена камера. вообщем это теоретическая задача, требующая даже не решения, а понимания)) короче, я пошёл другим(лёгким) путем: поставил камеру по дефолту - так, чтобы ей не надо было прокручиваться... камера управляемая мышью + WASD. код на гитхабе: проект "Test2" 2.
1
|
||||
|
Just Do It!
|
||||||||||||||||||||||||||||
| 12.12.2025, 13:51 [ТС] | ||||||||||||||||||||||||||||
|
1. На каком то этапе разрабы Огра решили убрать кишки инициализации с глаз по дальше. Для этого придумали компонент Bites (откусанный) 2. В этом engine\OgreMain\Components\Bites лежат два интересных для нас файла: "incule\OgreApplicationContextBase.h " "src\OgreApplicationContextBase.cpp" 3. Внимание! фишка: Разрабы оставили возможность перегружать некоторые методы из класса OgreApplicationContextBase сделав их виртуальными. Так как грех этим не воспользоваться, то мы грешить не буем - перегрузим... 4. Ключевой метод, который определяет куда писать "ogre.cfg":
но он уже ушёл в бинарник библиотеки, которая у нас уже подключена в проект:
Далее будем перегружать virtual void createRoot() в нашем проекте "Test2.cpp" 6. Ёлку нодов я назвал InspectorRoot - она наследует как раз этот - нужный нам OgreApplicationContextBase 7. Внутри него создаём аналог virtual void createRoot() и копипастим туда весь код из "src\OgreApplicationContextBase.cpp" 8. Там есть кусочек, который нам и нужен:
правим его на:
Убираем ошибки, подключив недостающие декларации:
Запускаем на тест и видим, что юзается "ogre.cfg" из папки bin 12. Если приспичит изменить конфигурацию, то правильный способ это удалить файл oger.cfg по известному path. 13. Если кто-то думает, что мне это всё расписала нейросеть, то это не так: квен лучше, чем дипсик, но оба на эту тему галлюцинируют вокруг да около :лол 14. Проверь у себя - у тебя работает? Проблема снята??? 15. Так проект уже даже сейчас начинает переставать быть удобным для одного файла, то я думаю начинать его дробить по файлам, оформляя файлы в иерархию(какую?). (тот же перегруженный void createRoot() override уже сейчас начал засирать код, который пока ещё весь в одном файле)))
0
|
||||||||||||||||||||||||||||
| 12.12.2025, 14:13 | ||
|
0
|
||
|
Just Do It!
|
||||
| 12.12.2025, 14:49 [ТС] | ||||
|
2. Чтобы резать, нужно создать что-то - чтобы создать что-то - нужно тупо взять и создать это что-то. 3. В проекте принимают участие только те, кому это интересно, что логично. 4. Если не интересно, то на кой фик тогда тут что-то писать? 5. Ага, интересен не проект, а флуд и троллинг. Хм, понять можно... 6. И, конечно, флудеров нужно морально поддерживать, отвечая им? 7. А зачем мне с ними, флудерами, поддерживать диалог, если они флудеры, а я занят техникой проекта? 8. Логичный ответ - незачем. 9. Хотя, я считаю, что флуд полезен, но в меру. 10. Мера определяется конструктивным участием. Igor3D, и так флуд мы обсудили. что ещё желаете обсудить? А кому он - парсинг обжа нафик нужен? https://en.wikipedia.org/wiki/... by_revenue я так понимаю, что в списке нет ни одной российской, потому что вы решили, что оно вам не интересно :лол
0
|
||||
|
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
|
||||||||||||
| 12.12.2025, 16:32 | ||||||||||||
|
Предлагаю сделать так:
1. Отказаться от твоего текущего подхода, когда сам проект сконфигурирован вручную для VS, где ты там указал всякие пути к инклюдам и к либам. Такое мне не нравится. Надо сделать так, чтобы любой человек мог настроить проект сам за одну минуту и не имея файла SLN и всего прочего под VS. 2. Таким образом, я предлагаю использовать CMake проект. В этом случае, любой человек может запустить Visual Studio, выбрать создать новый "CMake-проект". 3. Далее нужно создать для теста один файл, допустим OgreTest.cppКликните здесь для просмотра всего текста
4. Теперь остается прописать такой CMakeLists.txt. Как видишь, этот файл очень чистый, нет многочисленных строк и прочего барахла. Почему? Потому что, я делаю по-умному. Я просто ссылаюсь на OGREConfig.cmake, который уже сам все настраивает.Кликните здесь для просмотра всего текста
5. В CMakeLists.txt нужно указать путь к OGREConfig.cmake. У тебя SDK может лежать где угодно, поэтому ты должен прописать свой путь.6. Что касается SDK, то на сайте Ogre можно скачать предкомпилированный SDK (не путать с сорцами - там он называется Pre-built SDKs for a Quick Start). 7. Как скачаешь SDK, зайди в папку bin и попробуй запустить SampleBrowser.exe. Он должен корректно работать. У меня например была проблема с плагином Plugin_CgProgramManager из-за чего прога не запускалась. Я просто взял и закомментировал этот плагин в файле plugins.cfg. Вообще, это не такой уж важный плагин. Например, при в дефолтных настройках CMake при ручной сборке SDK из сорцов, этот плагин по умолчанию отключен. Короче, на этом этапе главное, чтобы SampleBrowser.exe сработала. Это просто индикатор, что все ОК.8. Дальше твой проект должен нормально компилироваться, однако при запуске игра скажет, что не хватает dll файлов, что нормально. Дело в том, что exe файл создается в папке проекта в папке \out\build\x64-release\ и там разумеется не будет никаких dll. Так что нужно все dll из ogre-sdk-v14.4.1-msvc142-x64/bin скопировать в эту папку. Вообще-то, нужны не все dll, но так говорю, чтобы не тратить много времени на поиск нужных. По идее, там нужно всего несколько основных dll, а также dll активных плагинов. Также, нужно скопировать в эту же папку все три файла cfg. С samples.cfg и plugins.cfg проблем не должно быть, поскольку если ты откроешь, то оба файла ищут нужные им файлы в той же папке, что они сами. Соответственно, учитывая, что мы скопировали все dll в эту папку, то пути будут работать. В вот resources.cfg, если ты откроешь, то увидишь, что ссылается на папку Media, которая одним уровнем выше. Поэтому тут если мы скопировали resources.cfg в \out\build\x64-release\, то значит можно скопировать Media в \out\build. Либо можно Media тоже скопировать в \out\build\x64-release\, но в resources.cfg подкорректировать относительные пути.И таким образом, теперь в VS при компиляции и запуске, игра запустится. Потом, когда уже будем готовить игру к релизу, то нужно будет оставить только папку Media и нужные dll. Добавлено через 28 минут Добавлено через 4 минуты XLAT, кстати, преимущество использования официального SDK в том, что там больше компонентов, чем можно вручную компилировать из сорцов без танцев с бубном. Причем, отладочные либы тоже есть. Я вот уже начал использовать официальное SDK и CMake проект. Проверил игру - все рендеры отлично работают: DX9 DX11 OpenGL OpenGL 3+ OpenGL ES 2 Tiny Rendering Subsystem Vulkan
1
|
||||||||||||
|
Just Do It!
|
|||||
| 12.12.2025, 16:45 [ТС] | |||||
|
Кликните здесь для просмотра всего текста
есть нюансы:
1. сбилдить проект это мелкая часть дела, но согласен, что для новичков это крупная часть дела, поэтому в целом годно. 2. сбилдить, чтобы что? правильно - чтобы кодить!) 3. кодить без ИДЕ это песец будущего провала. (речь про обычных кодеров, а не сверх-интеллектуалов, которым и брейнфак не помеха) 4. да у нас есть Igor3D, который видит вижуал студию и вместо того что меня за неё отругать начинает философствовать, что оно никому не интересно, потому что у Igor3D линукс. 5. в msys инфраструктуре Ogre3d есть в наличии, поэтому в целом система сборка приветсвуется. линуксоиды должны быть рады, если ты встроишь симейк в проект. 6. ещё раз, важно! ИДЕ решает успех! я бы мог настроить под кланг в Кодеблоксе - но ясно же - разработка там будет трешаком. так как я не фанат симейка, то ответственный за его поддержку ложится на твои широки плечи) ок? Для Visual Code можешь ПОЛНОСТЬЮ настроить проект шаблона и положить его на гитхаб + ПОДРОБНАЯ ИНСТРУКЦИЯ куда(процесс кодинга) и какими лапками(компиляторами) жмакать??? Опишите ваш проект, который был бы вам интересен в совместной разработке??? Добавлено через 6 минут берёшь создаешь папку + скармливаешь ссыль на эту папку перегруженному нашему методу. чесно - я уже не хочу ничего про ogre.cfg слышать - это уже пошёл аналог парсинга обж - рутина с низкими приоритетами)) тупо - как говаривал наш физик Igor3D - это нафик никому не будет нужно, кроме одного человека, догадайся сам, про кого я намекаю)))
0
|
|||||
|
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
|
|||||||
| 12.12.2025, 16:49 | |||||||
|
Любой чел, который пользуется IDE с поддержкой CMake - проектов, может за минуту настроить проект. Всего лишь нужно создать CMakeLists.txt и добавить туда такие строчки:
А что касается SDK, то как написал выше, не нужно его даже компилировать из сорцов. Можно просто скачать из официального сайта. Для линуксов тоже есть.
1
|
|||||||
|
Just Do It!
|
||
| 12.12.2025, 16:52 [ТС] | ||
|
двигаемся дальше: НУЖНА ПОДРОБНАЯ ИНСТРУКЦИЯ для организации процесса кодинга с Ogre3d для VC с симейком на борту. Мы, линусятники, Вас, уважаемый Royal_X, очень просим! симейк без ИДЕ для реального кодинга не нужен! это же очевидно. инет завален абстрактным информационным мусором - а нужна конкретика, увы, иногда так бывает: конкретика рулит.
0
|
||
|
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
|
|||
| 12.12.2025, 17:06 | |||
|
- ставишь расширения для С++ - ставишь расширение CMake Tools - создаешь пустую папку в VS Code. Там папки это проекты. В этой папке создаешь main.cpp и пишешь код Ogre Tutorial. - создаешь CMakeLists.txt и пишешь код выше. - на боковой панели есть кнопка с логотипом CMake, если нажать туда, то можно потом настроить конфигурацию сборки (типа релиз, отладка), а также выбрать компилятор. - всё Касательно SDK, то для линукса на официальном сайте есть ссылки на линукс-пакеты. Видимо, там ставится sdk через пакетный менеджер. Добавлено через 2 минуты
1
|
|||
|
Just Do It!
|
||
| 12.12.2025, 17:20 [ТС] | ||
|
мой план будет такой: 1. делаем Columns c казино и с буфетом. 2. я ставлю линукс. 3. далее вызаваю пока у нас на дворе пункт 1. ваще, после пункта 1 у нас уже был намечен в плане пункт с Пандой/Юнькой/анрилом4, но ничо - они подвинутся...
0
|
||
|
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
|
||||||
| 12.12.2025, 17:33 | ||||||
|
XLAT, зачем тебе этот линукс, если у тебя винда?
Я почти у себя все настроил. Остается решить проблему с созданием папки рядом с исполняемым файлом игры, не трогая исходники.
0
|
||||||
|
Just Do It!
|
|||
| 12.12.2025, 17:40 [ТС] | |||
|
1.
задачу с ogre.cfg я закрыл: https://github.com/users/BDOTimer/projects/5 задача создать папку для ogre.cfg это отдельная задача 2. вернемся к нашему барану(игре)... что я собираюсь щас сделать: разбить файл Test.cpp на отдельные файлы(они же образно - модули): навскидку так: 1. inspector-root.h /// ёлка нодов. 2. figure.h /// модуль с падающей фигурой. 3. config-game.h /// тут "волшебные числа" чего и какого размера в каком месте. 4. box.cpp /// для неигровых манипуляций(типа взломанного ogre.cfg и т.п.) - чтобы глаза не мозолить. 5. debug.h //// без дебага никуда - дебаг идет в релиз - если у юзере краш, то все должны знать где он и что он. 6. primitives.h /// всякие финтиплюшки для декораций. 7. ... /// Ваши предложения? Добавлено через 2 минуты Добавлено через 1 минуту
0
|
|||
|
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
|
||
| 12.12.2025, 17:42 | ||
|
и мне кажется, что нужно указать в качестве аргументов пути
0
|
||
|
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
|
||||||
| 12.12.2025, 18:49 | ||||||
|
Человек, который в OgreFileSystemLayer.cpp написал на 144 строчке
именно SHGetFolderPathW из винапи устанавливают папку CSIDL_PERSONAL, что собственно есть папка Documents. Из-за этого клоуна нет желания работать на этой говно-библиотеке. Там вообще подход неправильный и дело не только в этой строчке, иначе можно было поменять и собрать библиотеку из сорцов. Пусть программист, который написал глючный Ogre не жалуется, почему на ней нет ни одной игры. Пока настроишь этот мусор, можно игру сделать на нормальном игровом движке.
0
|
||||||
| 12.12.2025, 20:15 | |||
Командную строку, "ключики" и.т.п. всю жизнь ненавижу. Но если не удается избежать - добросовестно нахожу инструкцию и делаю по ней, надо - так надоА что касается чисто игр, так я на это не подписывался Давным-давно я понял что способностей артиста/дизайнера у меня нет, и придумать свой Doom мне не удастся. Это не трагедия, нужно ставить скромные, но реальные цели Насчет Ogre не раз слышал хорошие слова и даже пытался ковыряться в исходниках на предмет CA. Конечно изучение матчасти/инструментария никто не отменял, но проекты/идеи от этого не растут
1
|
|||
|
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
|
||||||
| 12.12.2025, 20:29 | ||||||
|
XLAT, чтобы писать меньше кода, и не играться с рутами (как это в твоем костыле), вот такой код предотвращает создание файлов в папке Documents и они создаются рядом с игрой. Так намного короче твоего костыля. Единственный минус в том, что папка с именем игры создается в Documents, но она пустая и больше не используется. Еще работаю над поиском решения, как предотвратить ее создание.
Смысл этого метода в том, чтобы поменять HomePath (это папка куда записываются orge.cfg, ogre.log) до того, как создать BasicTutorial, иначе уже поздно. Кликните здесь для просмотра всего текста
0
|
||||||
|
Just Do It!
|
||||||||||
| 12.12.2025, 20:38 [ТС] | ||||||||||
|
ты рыбачка - я моряк.
когда я парсил обж - я тоже на парсинг не подписывался - просто зашёл - попарсил - не зашёл - не попарсил - всё просто. Igor3D, так вы самописную физику делаете или уже готовую берете? у физики тоже есть движки... какие вы юзаете? у меня этот ваш Документс как раз для мусора используется. тем более, нафик мне или ещё кому то создавать эту папку - типа заняться нечем, так пойду щас папку создам... тем более, щас конфиг и так лежит рядом с игрой, куда ещё ближе... :лол
0
|
||||||||||
| 12.12.2025, 20:38 | |
|
В развитие темы совместного проекта(может соберемся и сделаем что-нибудь вместе) Давайте отыщем "Грааль" Давайте напишем соц.сеть. Объединяемся. А давайте свою операционку забабахаем Сюжет и название игрушки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|