LINUX.ORG.RU
ФорумGames

Хочу начать писать игру

 


5

6

Здравствуйте, я тут задумал написать игру, про карантин, про одиночество, про общежитие, в общем то что меня сейчас окружает и окружало. Хочу передать свои раздумья, атмосферу, мне кажется это можно было бы завернуть в интересный формат.

Во-первых, сценарий. У меня есть пару идей, но мне кажется эти идеи надо подкрепить профессиональной литературой, для лучшего эффекта. Посоветуйте легкую книгу в этом направлении.

Во-вторых, картинка. В плане пискельности, пропорций должно выглядеть как Dead cells, так же вид сбоку, но проходить должно в антураже условной хрущевки. И так как рисовать я не умею и друзей художников у меня нет, придется какую то часть ассетов накалякать самому, для другой части искать бесплатные ассеты. Порекомендуйте сайтик где есть большой выбор.

В-третьих, музыка. Тут все легче: у меня много друзей, которые играют на музыкальных инструментах. У меня есть представление что должно играть. Тут вопросов, вроде, нет.

В-четвертых, геймплей, жанр и механики. Пока это мое слабое место, я еще не придумал как в мир без магии, фентези и прочего добавить каких-то геймплейных механик. Днем герой мог бы ходить по общежитию, взаимодействовать с объектами и изучать их, выполнять задания, но потом я задумался:«А как еще можно разнообразить геймплей». Вспомнил, что была такая игра Catherine. Подумал, что тоже можно добавить некую мини-игру, которая бы происходила в конце игрового дня и влияла на героя в его реальности. Но, мне кажется что, эта мини-игра должна быть драйвовая, динамичная, чтобы щекотать игроку нервы, чтобы он понимал, что если он тут провалится, то это повлияет на персонажа.

В-пятых, яп. У меня есть пара требований к языку:

  • Без GC, чтобы картинка не лагала. Хотя, у меня есть ощущение, что у меня картинка будет не сильно сложная.
  • Удобная поддержка юникода и в Linux и в Windows. Все таки сценарий будет написан на русском.

И что у нас остается:

  • С. SDL2. (скорее всего придется крутить велосипед для юникода(?))

  • C++. SDL2, SFML.

  • Rust. биндинги к sdl2, sfml или же чисто растовсикй piston.

На самом деле, в какой-то степени в голове я уже сделал выбор(но колеблюсь), но вы сами знаете, хочется необычного. ;)

Ответ на: комментарий от snake266

Ну зависит от количества возможностей, если их мало то можно и в .cfg-файлы (libconfig) какие нибудь все вписывать, если поведение сложное то lua, или quickjs.

stasolog ()
Последнее исправление: stasolog (всего исправлений: 1)
Ответ на: комментарий от snake266

Хм, я попробовал вспомнить каое-нибудь инди, которое выезжало только за счет сюжета.

They Hunger, например. moddb вики

очень сюжетный мод Half-Life 1. во-первых, лавкрафтовский антураж. во-вторых, нарратив, повествование. подаётся через магнитофоны с записями, постепенно. в-третьих, сюжетец там есть.

Neil Manke делал его не совсем в одиночку, но большую часть таки да.

и сюжет, и подача сюжета – там чувствуется.

anonymous ()
Ответ на: комментарий от snake266

держите нас в курсе

ну ты там записывай в текстовый файл типа диздок какой-то, для начала. что это такое, зачем и почему будет работать. в чём игровая механика, интересные фишки, зацепка.

потом возьми какой-то конструктор типа Visual Novel Maker/RenPy, MangaMaker, SMILE GAME BUILDER, RPGmaker, GameMaker, Construct, AppGameKit/Game Guru, S2, Leadwerks и прочие, да хоть тот же GoDot и побыстрому и погрязному набросай прототип. тупо со стоковыми ассетами: спрайтами, звуками.

чтобы потыкать и посмотреть, будет ли игровая механика работать. а гемплей – цеплять.

для начала просто в блокноте в текстовый файл. потом можно взять какой-то articity:draft или аналоги, прикрутить туда повествование (если есть), записать ассеты и какие-то заметки, сделать базу ассетов. оно там:

  1. экспортируется в JSON, интегрируется в любой workflow
  2. в топовых версиях articity какую-то сцену в 2D можно мышкой набросать, экспортировать в Unity нечто типа квеста «найди предмет» или запустить диалоги
  3. диалоги можно расписать если есть идея какая-то

другое дело, что это не все жанры. а дальше нужно думать, как оно будет выглядеть в прототипе, в движении. что-то простое текстовое можно и в Twine набросать. даже тетрис там видел, хотя это совсем не для того.

поинт в том, что в конструкторах можно быстро слепить какой-то прототип, чтобы опробовать игровую механику. и понять как можно раньше, будет ли идея там работать или нет.

а кодировать в каком-то конкретном движке уже потом. когда идея опробованно годная.

anonymous ()
Ответ на: комментарий от snake266

Мне кажется, если бы я начал такое писать, то у меня это растянулось бы на большее время.

вот если не записывать себе план и крутить идеи в голове (а лучше, в текстовом файле или какой-то базе данных типа articity), а сразу бросаться кодить, не продумав как следует взаимодействие – итого времени ещё больше уходит.

anonymous ()
Ответ на: комментарий от snake266

Как это переводится

Японское (но) связывает в родительный падеж, Примерно соответствует английскому of. Agony уже на английском. Запишем на японском - アゴニーの伝説. Машинные переводчики переводят так - The Legend of Agony - Легенда {о{б}} агонии

boowai ★★★ ()
Ответ на: комментарий от snake266

ещё в Pixel Game Maker MV можно нарисовать ассеты, набросать конечный автомат состояний для анимации и переходов между анимации, плавных – или управляющей логики.

и какую-то метроидванию или там мариоподобное (лучше, конечно монтесумо-подобное или принц-персии–принц-госплана-оригинальный-подобное) набросать.

ассеты можно потом доработать. или там, или в Spriter – рисуются PNG запчасти, расставляется rig и скелетная анимация (для 2D). потом через скелет и векторный рисунок из повторно используемых запчастей задаются анимации, кейфреймы, таймлайны, вот это всё.

в Pixel Game Maker MV можно сразу набросать и ассеты, и уровень, и какую-то играемую логику. см. примеры игрушек.

в Spriter – набросать более качественную только анимацию. также есть готовые DLC с ассет паками.

anonymous ()
Ответ на: комментарий от snake266

Future Perfect

статья

И вот свершилось: студия Unknown Worlds, создавшая Subnautica и Natural Selection, объявила о своей новой игре Future Perfect, которая посвящена совместному созданию игр.

Это большой многопользовательский конструктор, который позволяет разрабатывать собственные игры и моды, проектировать уровни и писать скрипты, даже когда другие игроки бегают вокруг вас в вашем мире. В представленном примере мы видим FPS, однако у Future Perfect гораздо более обширный потенциал. Для того, чтобы вы могли поделиться своими творениями и набросками, используется Steam Workshop, так что вы легко можете поделиться тем, что сделали сами, и скачать работы других игроков.

в стиме

anonymous ()
Ответ на: комментарий от snake266

У меня кстати, скорее всего, будут лабы на лабвью

По мне так самый интересный предмет (если ты на информатике). Учи, пригодится.

Кстати, покажи прототип Метапрога своему преподователю. Интересно что он скажет. Если что, приглашаю всех в Метапрог Онлайн.

metaprog ()
Ответ на: комментарий от snake266

На самом деле я восхищаюсь упорством и трудолюбием @metaprog

Благодарю.

По техзаданию на игру - Метапрог как раз для такого (сишка+SDL). Был бы, если б был готов. Если не хочешь ждать (и участвовать в его разработке) - делай на чистом Си, можно будет потом функции на нем в Метапроге заюзать и ваять в графике новые игры, пользуясь твоими наработками.

metaprog ()
Ответ на: комментарий от snake266

Я б делал на структурах, с хранением в бинарнике и сериализацией-десериализацией стандартными функциями (как в Лабвью). Хотя для таких случаев, скорее всего, надо СУВТ.

Какой, хотя бы примерно, должна быть структура, которая отвечает за персонажа и его свойства?

metaprog ()
Ответ на: комментарий от metaprog

Какой, хотя бы примерно, должна быть структура, которая отвечает за персонажа и его свойства?

Я думаю даже сейчас примерно нельзя представить, к тому же придется в процессе добавлять поля, и что делать с готовыми бинарными файлами? Нужно будет писать конвертор постоянно в новый формат, к тому же нужно будет следить за порядком, выравниванием итд. Для текста к тому же достаточно лишь блокнота, и с ним хорошо будет работать git.

stasolog ()
Последнее исправление: stasolog (всего исправлений: 1)

Советую сразу над редактором своим подумать, в качестве GUI можешь выбрать Nuklear, в метапроге он кстати и используется, хорошая библиотека. И к SDL2 просто подключить.

stasolog ()
Ответ на: комментарий от stasolog

Я эту проблему даже в Лабвью решаю версионированием форматов. Если номер версии более ранний, чем последний - идет функционал конверсии измененных элементов. Я могу как угодно менять структуру данных так, что совместимость будет сохраняться всегда. Праввда в Лабвью (и текстовой сишке тоже) функционал версионирования надо делать ручками, а в Метапроге планирую автоматическое версионирование через бинарные версионированные форматы (по сути СУВТ из разных версий одного определения типа).

Наловчившись делать версионирование бинарных данных, ни за что больше не захочешь трахаться с парсерами текстовых форматов.

metaprog ()
Ответ на: комментарий от metaprog

Я не на программировании, я на радиотехнике, проектирование радиосистем.

Мне кажется, что на направлениях, напрямую связанных с программировании, не изучают лабвью, ведь это не их профиль

snake266 ()
Ответ на: комментарий от metaprog

Я б делал на структурах, с хранением в бинарнике и сериализацией-десериализацией

Зочем? Если для скорости, то можно организовать буфер, который бы заранее подкачивал текст, если для уменьшения места, то я к этому не стремлюсь

snake266 ()
Ответ на: комментарий от stasolog

Главное что бы метанол не пил. А вот металику слушать можно, кушая сметану металической металоложкой

На аську твою смотрю и ржу всё время

LINUX-ORG-RU ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Главное что бы метанол не пил. А вот металику слушать можно, кушая сметану металической металоложкой

@metaprog всех …, так как метапрограммирования у него нет и скорее всего не будет.

anonymous ()