Доска создана для обсуждения вопросов, связанных с разработкой компьютерных игр. Постинг высокохудожественных webm, движкосрач вне спецтреда и прочая токсичность наказуемы. Аргументированная критика приветствуется.
>>910710 Самый большой спрос в Яндекс Играх на нарды. Думайте.
Компилируем первый NetHack
Аноним17/06/23 Суб 19:08:57№881857Ответ
В этом тредике компилируем NetHack А точнее его прародителя, самый первый рогалик Hack (не считая самого Rogue)
Попутно выясняя: -Насколько сильно изменился Си со времен K&R, ведь можно было как в питончике вызывать необъявленные функции, не писать типы переменных и возврата. -Как вообще у олдов что-то работало с таким количеством СегФолтов и без тестов -Почему он занимает столько места, 200-300кб, там ведь не так много логики, и почему его никто не пытался ужать до 48-64кб для Спектрума/C64 -Нормально ли считалось оставлять в РИДМИ адрес и телефон своей младшей сестренки
Уже скомпилированы и опробованы: NetHack 1.3d, первая доступная версия нетхака Hack 1.0.3, собирается с парой изменений, доступен в BSD Hack 1.0, падает при генерации Hack для PDP-11, самые ранние доступные исходники. Он и будет основным объектом интереса. Собирается с переписанным терминалом, часто падает. Также в отдаленном будущем будут изучены NetHack 3.0.4, первая версия с цветными буковками NetHack 3.1.x, версии для MS DOS с оверлеями, то есть возможностью выгружать и подгужать отдельные модули логики.
>>885698 Ну и да, компилятору скорее всего нельзя переставлять поля местами, потому что вдруг программист обратился ко второму байту структуры по указателю.
>>881857 (OP) Тоже занимался подобными вещами. Только я не пытался сделать прямой форк, а старался из кода rogue и нетхака использовать только то, что мне нужно. В итоге все равно наизобретал велосипедов. Тоже все хочу сделать что-то под спек и нес, но скиллов маловато. Все безбожно тормозит и не влезает
> -Насколько сильно изменился Си со времен K&R, ведь можно было как в питончике вызывать необъявленные > функции, не писать типы переменных и возврата. Не очень понятно что имеется ввиду. Не объявлять функции это порок, который тогда просто еще не осознали. А типы в си все сводимы к одному числовому. Плюс указатели можно по-разному использовать, главное - выделить достаточный участок памяти
> -Как вообще у олдов что-то работало с таким количеством СегФолтов и без тестов Большинство из них большую часть времени фигачило в асме, а кое-кто и в машинных кодах. Тут хочешь не хочешь все в уме держать будешь. Особенно если не объявлять функции, и постоянно все запутывать с типами
> -Почему он занимает столько места, 200-300кб, там ведь не так много логики, и почему его никто не пытался ужать до 48-64кб для Спектрума/C64 На спеке никто особо не пытался писать на сишке, писали на асме. Ну и рогалики это гиковская, не спековская тема. Просто культура другая, на спеке больше по аркадам, причем до сих пор. За коммодор не скажу, но наверно что-то подобное
> -Нормально ли считалось оставлять в РИДМИ адрес и телефон своей младшей сестренки Дима Башуров оставлял в контактах рабочий почтовый ящик засекреченного ядерного, блядь, центра в совке
>>882085 Потому что k&r стандарт еще очень сырой был, многое еще не продумали, многое еще не пофиксили. Вот с ansi можно жить
>>910544 Функции не объявляли по простой причине, на железе под которое изначально писалось, все аргументы int (неважно сколько их), и указатели int.
Наработок показывать особо нет, это реально форк где выполняется тот самый оригинальный код. Свои вставки я показывал, например, тут, ничего особенного. >>884518
Пока забросил, хотел переосмыслить подход, но актуальные проекты и работа поглощают все время. Просто написать собственный вариант на тему с нуля не проблема, такие игры есть. И даже в 83-м какой-то рогалик был, Sword of Fargoal Было желание, чтобы работал именно тот код, та логика, тогда будет преемственность и тот самый Nethack. Одна из идей - перенести все по функциям руками в асм. Это даже не то чтобы сложно, просто трудоемко и потом тяжело редактировать, если появится новая идея. Может быть, как-то автоматизировать получится, или взять асм с макросами.
очень понравился тред, считаю, не стоит расходиться надеюсь, ОП не возражает против переката ждём его накопы и всех сидящих ИТТ в следующем треде!
анон, какой софт посоветуешь для написания сценария для игры с большим количеством выборов и сюжетны
Аноним26/10/23 Чтв 13:07:51№910279Ответ
анон, какой софт посоветуешь для написания сценария для игры с большим количеством выборов и сюжетных веток? стандартно в ворде или блокноте не очень удобно писать, ибо все сплошь одним листом идёт. нужно что-то вроде блочных сегментов, чтобы грубо говоря один сегмент можно было линией с другим объединять, как и строится сюжетная ветка, ну вот такое в общем
Twine для прототипирования сценариев более чем норм. Можно запрограммировать всю "игру" на нескольких экранах и "пройти" её по нескольким путям, плюс протестировать на третьих лицах. Это гораздо больше, чем просто инструмент для диаграмм сцен.
>>910432 Последнюю арку для вн делал со всеми развилками получилось что-то около 120+ страниц. Это было настолько душно менеджить на вики движке, да ещё без гибкого форматирования текста, что вернулся обратно на в родной ворд.
Покажи свою игру!
Аноним10/09/21 Птн 16:14:27№769015Ответ
В этом треде возрождаем идею стримов игр из /gd. Давайте показывать друг другу свои игры, вместе играть в них и давать друг другу советы по разработке! Делать это лучше всего вечером или по выходным, в какое-то определённое время, чтобы разработчик и стример могли вместе оказаться на стриме.
>>910474 Это тыквенный спас, русский православный праздник, еще святой Ебатий придумал
Оптимизация Игр Unreal Engine
Аноним25/10/23 Срд 23:55:38№910217Ответ
Всем привет) Не давно ознакомился с движком Unreal 5 и мне он показался тяжелым и многие мои задумки идут под нож. Так как пк не обновлялся с 2012 года.
Было бы здорово если если бы этот тред наполнился советами как поднять лишний фпс
В моём случае решил попробовать снизить нагрузку путем создания кучи переходов (загрузок) на ту или иную часть уровня например как в elder scrolls oblivion но столкнулся с проблемой выполнения распорядка дня у нпс их действия должны выполняться вне уровня. но как это реализовать достойно я понятия не имею. Если Кто-нибудь решал подобные задачи или сталкивался с подобным? Напишите буду премного благодарен
>>910217 (OP) Конечно, бро. Просто используй ECS в котором будут существовать все твои сущности и все боты от AI, все расчёты будут только там исполняться. А УЕ будет использоваться просто как рендер ну и мелочёвки типо анимаций, конечно же рендер ты можешь как угодно упрощать для упрощения разработки, можешь вообще уе на время выкинуть нахуй, пока разрабатываешь, чтобы рендерить в более простых средах. Твоя проблема решена.
Сап. Кройте хуями, но объясните че делать. Проблема ниже
Это я написал чатгпт'у: Хочу разработать игру в godot, но при создании объекта meshistance и при выборе mesh ничего не видно. При попытке же запустить сцену выходит ошибка "Your video card drivers seem not to support the required Vulcan version", несмотря на то, что я открыл годот через консоль, вписав godot --rendering-driver opengl3
Короче, я использую manjaro os, godot качал через pamac. По ноутбуку: Celeron b815 Radeon hd 7470m 4gb ddr3
Пытался побазарить с современными технологиями, не помогает, искать в инете не собираюсь, т.к. не умею гуглить такие проблемы (я даже не знаю в чем она заключается). Буду признателен, если великий и могучий справится с моей проблемой
>>910222 3.5 без вулкана, там только gles3/gles2. Больше старых туториалов, но сейчас под нее ассеты практически перестали делать, да и туторы новые тоже. Но ее хватает на многое.
Пилю простой TD
Аноним# OP12/10/23 Чтв 21:30:28№906833Ответ
чел с три в ряд для яндекс игр уже неделю не постит, займу его нишу: пилю простую игру для яндекс игр и заодно пробую phaser3. Попощу прогресс, может и восьмью рублями похвастаюсь в итоге.
>>908396 Не уверен на счёт колеблющихся элементов и то, что вирусы не по центру полосы идут, но с вирусами может плохо смотреться будет и сливаться, раз так автор сделал. Автор, поменяй цвет полоски хп врагов на красный
Делал всякие унылые вещи почти неделю, пиздос. Меню, основные звуки, ui, 6 карт, набросок спавнов, etc. Осталось полирнуть звуки, посчитать экономику-спавны и видео для яигр записать. Финиш уже где-то маячит! Не всё же прогулке по Геленжику все лавры носить
>>908396 это я пожал видео просто, а то жирное было, игра сама pixel crispy >>908397 колебания убрал после того, как в туторе явно рассказал, что на них нажимать надо, про красный попробую, может будет смотреться
Изучаем лучший движок современности! А заодно и программирование на Питоне, фреймворк SDL, и заодно оптимизацию этого добра, чтобы всё летало в 30 FPS на RTX 5095 Ti! Спрашиваем вопросы! Делимся своими шедеврами! Помогаем новичкам!
>>818723 Я бы решал задачу от гравитации. Каждый тайл имеет единичную гравитацию. Если он может двигаться вниз, он каждый кадр движется вниз на 1хG, где G - гравитация игрового мира. Если под тайлом есть другой тайл, то этот тайл не может двигаться вниз, тогда он сообщает тайлу снизу некоторый коэффициент, например треть своей суммарной массы (а масса у нас это 1хG, если кто не догадался), затем наш тайл проверяет, может ли он соскользнуть в сторону? выбирает рандомное направление и пытается соскользнуть, если не удалось, то вторую треть от сообщает тайлу в той стороне, куда хотел соскользнуть, и выбирает оставшееся направление, и если не удалось соскользнуть то последнюю треть своей массы он сообщает третьему тайлу. Если соскользнуть удалось, то он падает с 1/3 x G только в этом кадре, в следующем кадре он снова обладает полной массой в 1xG.
Теперь рассмотрим слой ниже. На тайл сверху давит несколько тайлов и каждый кадр сообщают ему коэффициент в скажем, 3.5, тайл домножает на G и теперь его полная масса 3.5xG, и он каждый кадр пытается упасть вниз с этой массой, если снизу неподвижный тайл, то он переданный ему коэффицент посылает обратно. Это у нас реакция опоры. Наш тайл получает этот возврат в стек, но будет суммировать его на следующем кадре. Далее он пытается соскользнуть по схеме выше. Если сбоку опора, то импульс соскальзывания тоже возвращается ему в стек. На следующем кадре каждый тайл смотрит, что у него в стеке и импульсы справа передаёт влево, и наоборот, а импульсы снизу передаёт наверх. Затем обрабатывает импульсы сверху. Снова.
Таким образом, если у нас сообщающиеся сосуды, то спрайты естественным образом распределят давление и выдавятся в незанятую полость. Только вот, насколько я слышал (а сам не пробовал) такой поатомный расчёт жидкостей заставит приуныть даже топовую пекарню.
Короче решили достать из стола один из проектов и довести до конца. Наша задача познакомить игрока с жизнью типичного постсоветского думера - РАБотка, борьба с зависимостями, бесцельные прогулки под пост-панк и пост-рок, сомнительные схемы заработка на жизнь и прочие радости мужчины средних лет, выброшенного на обочину праздника жизни. Над игрой работают создатели "Симулятора Куколда" и "Истории Сыча", так что игра будет наполнена искрометным юмором уровня б.
>>872095 (OP) Единственное что мне интересно - это как вы выпустились в стиме в 2023 году. Ну, вот, допустим я сыч из России, с юридической точки зрения у меня нихуя нет - как мне подойти к издателю говноигр и толкнуть свою говно игру? Что нужно будет сделать потом? Как выводить деньги если ты в России? Я был на сайте издателя и видел какие игры он ещё издаёт (говно сделанное на коленке за пять минут). И у меня появился хитрый план толкнуть ему одну свою старую игру, договор на издание которой с другим издателем провалился из-за того что стим ликвидировал его нахуй. Получится?
Приветствую, Gd! Почему ты ещё не вкатился в Roblox studio? Без рофлов Роблокс студио реально конкур
Аноним14/09/23 Чтв 16:38:48№898834Ответ
Приветствую, Gd! Почему ты ещё не вкатился в Roblox studio? Без рофлов Роблокс студио реально конкурент Юнити и Анрила. Используется язык Lua, который довольно прост в изучении
>>899584 >Для того, чтобы смачно зарабатывать на твое роблаксе, надо, чтобы кто-то покупал роблаксы в твоем плейсе. А если у тебя говно, то никто это делать не будет А в чём подвох?
>>900122 Да ни в чем. Это как с любыми другими играми Делай хорошо и будет тебе счастье Я просто подумал, что ты решил, что будут платить просто за то, что игра есть
>>905162 (OP) Лучше б оригинал в точности скопировал.
Господа! Делаю игру стратегию. Карта - политическая карта стран планеты Земля. Движок - Unity. 2.5
Аноним15/10/23 Вск 17:21:21№907755Ответ
Господа! Делаю игру стратегию. Карта - политическая карта стран планеты Земля. Движок - Unity. 2.5D. При полном отдалении видно только границы стран. При приближении видно границы провинций, провинции кликабельны по отдельности. Ландшафтных особенностей нет.
Вопрос: в каком софте и собственно как нарисовать карту со всеми границами, чтобы потом все это запихнуть в Unity.
Пикрилейтед - визуальные примеры того, чего хочется добиться, но в 2.5D.
>>907827 Неееет! Я первый сделаю игру стратегию контурную карту ведь никто с тобой до нас этого не делал и идея очень уникальна! И вот когда я сделаю я заработаю не 300 а 324 рубля и ты у меня попляшешь!
Gimp vs Krita
Аноним15/10/23 Вск 09:08:07№907664Ответ
Двач, если откинуть фотошоп, то что из свободного софта лучше годится для создания и обработки текстурок и прочего? Есть всем известный GIMP, который хоть и пофиксили, но который всё ещё выглядит как говно (ИМХО). А есть, например, няшная Krita, которая выглядит как Фотошоп, но является менее популярной.
Юзаешь что-то из этого ты? Есть что сказать по этому поводу?
>>907766 >GIMP это глыба, как понадобилось сконвертить один формат файла картинки, С этим даже онлайн конверторы справляются. Это как держать маткад для сложения чисел.
>>907800 >С этим даже онлайн конверторы справляются Как ни странно, они справляются фигово с таким, речь же идет про не очень стандартные форматы, например .hdr, .exr. В лучшем случае на этих сайтах и стоит ImageMagick, настроеный криво и неизвестно кем. А еще я бы не стал закидывать рабочие файлы неизвестно кому, лол. А то потом удивляются утечкам. >Это как держать маткад для сложения чисел. Ты почти в точку попал, я последнее время перестал пользоваться приложениями калькулятор, они то жирнеют и ломятся в интернет, то просто неудобные ограничения дают в разных режимах Я просто запускаю в терминале python -c "print(2+3*6)" или там "print(hex(123))"
>>907804 >Как ни странно, они справляются фигово с таким Особенно я прифигел когда такой сайт не смог склеить два видео подряд. Склеить он их склеил, только превратив в слайдшоу, когда каждый кадр стал в 10 раз медленнее. Потом разобрался как сделать в ffmpeg в консоли и это заняло 10 секунд, но понадобилось три попытки чтобы подобрать команду.
Halver — это абстрактное приключение про прямоугольник в мире чертежа. Главный герой умеет прыгать и стрелять в другие блоки, чтобы поделить их на две равные части
>>907644 привет, гомогей это я, твой единственный тролль просто пишу сказать, что это я скачал твоё чертёжное говнище с 52 аккаунтов под разными проксями
Физика машинок
Аноним13/08/23 Вск 20:49:52№894057Ответ
Как сделать простую аркадную модель физики машины, чтобы было интересно ей управлять? Нужно ли честно симулировать колёса? Подходят ли существующие физические движки для этой цели? Есть ли готовые к применению бесплатные контроллеры для распространённых движков? Должны ли различаться модели физики для гонок на трассе и для езды в городе? Правда ли, что самое важное в гоночной игре - не повороты, не подвеска, а механика торможения?
>>894861 >Вопрос 1 Честно говоря не припомню ни одной гонки где были бы сохранения. Может на пк на рубеже веков было пара таких. Так что сделай, будет уникальная фича. >Вопрос 2 Делай как самому нравится, но круто если будут оба режима. >Вопрос 3 А где выпускать-то будешь? Посмотри нелицензированные машины тех же марок в других играх (не только там а вообще). И кидай билд на плейтест.
>>894769 >Если игрок по автопилоту ехал-ехал и приехал в ситуацию, как на картинке, то достичь точек 1 или 2 будет нетривиальной задачей, построением кратчайшего пути не обойдёшься. >>894763 >Путь построит, а доехать не построит. >движением машины с учётом поворотов корпуса. Можно сделать 360° разворот на месте а-ля танк. Видел такое в градостроительных симуляторах. Автомобиль разворачивается на месте, а потом едет по прямой - тогда никаких застреваний нет.
>inb4 ряяяя нереалистично Реализм 100%, если у колёс независимый привод. Ну, можно сделать поворот задних колёс симметрично передним, чтобы покрышки меньше снашивались. Или использовать сферические колёса - можно будет даже боком ехать ничуть не хуже, чем прямо.
Нужно просто мыслить нестандартно. Тред с самого начала был про аркадную, нереалистичную физику, а ты зачем-то приплетаешь реалистичную физику. При том что даже с реализмом решение есть.
>>907052 Я раньше тоже думал, что хуйня какаята. Но вот реальный пример использования. Допустим юзерданные хранятся на облаке. Чтобы загрузить их, шлём запрос к серверу и ждём ответа. И не городим дикую конструкцию, а просто в одной функции: > send_request_to_server() > var data = yield(self, "data_loaded") > do_something_with(data)
>>907150 Механики я делал там ничего сложного. Большую проблему доставляет задизайнить удобный интерфейс, чтобы игроку были все эти механики доступны и понятны.
Сохранение прогресса игрока
Аноним02/02/23 Чтв 15:07:34№855921Ответ
Анон, давай обсудим этот вопрос. Большинство из нас все же делают нормальные по продолжительности игры, а не так что 15 минут поиграл и дальше продолжать смысла нет. И тут сразу встает вопрос о том как дать игроку возможность в удобный момент закончить игру и в удобный момент ее продолжить. Кто-то ленится вообще не делает сохранения для того чтобы было олдскульно как в эпоху NES. Кто-то рвет жопу и пишет мощную систему которая позволяет в любой момент сохранить/загрузить а его игроки активно пользуются сейв-скамом. Какой путь выбираешь ты, анон?
>>906410 Ну вот есть механика потери конечностей. В случае свободных сейвов игрок просто перезагрузится и ппродолжит играть, а в случае ограниченых он стоит перед выбором. Попытаться дойти до точки, где их можно будет восстановить и сохранить найденое или перезагрузиться, но при этом потеряв прогресс. Или предлагаешь совсем отказаться от подобных механик?
Мне было скучно. У меня было часов 10. Я сделал это.
njaab04/10/23 Срд 23:40:15№905105Ответ
Здесь нет никакой цели. Здесь есть только один гном, который просит угадать его имя. Загадку даже не я придумал, а честно спиздил с King's Quest, самая нелогичная и неадекватная серия квестов. Я не пытался сделать это проходимым, это просто тест механик с одной нелогичной загадкой. https://dropmefiles.com/XMgCu
Механики протестил, теперь можно и графику со звуками прикрутить. Ничего, кроме пустой комнаты, здесь нету. Добавил просто красоты немного. https://dropmefiles.com/n4C4X
Уже не считаю количество часов, спущенное на игру, но теперь её уже можно назвать игрой. ОЧЕНЬ короткой, но игрой. Настолько короткой, что это можно назвать демо-версией. https://dropmefiles.com/HNRFV