krre |
Отправлено: 26 Апреля, 2016 - 20:35:41 ID
|
компьютерный мультипликатор
Сообщений всего: 2151
Дата рег-ции: Дек. 2008
Репутация: 28
|
Концепция следующая. В двух словах. По жанру это и песочница, как Майнкрафт, и стратегия, как Цивилизация, только не пошаговая, а реал-тайм, и строительство, как в Сим Сити, и 3D шутер, но мочилово не сильно кровавое.
У нас есть робот-аватар по имени Гагарин, которым управляет игрок видом от первого лица, то есть смотрит на мир глазами робота. Почему именно Гагарин, фиг его знает. Модель, может быть, такая.
В начале игры робот забрасывается на процедурно сгенерированную планету, у которой случайным образом задан диаметр, угол наклона к эклиптике, расстояние до звезды, спутники (либо же планета сама является спутником по отношению к более здоровой планете), кольца наподобии как у Сатурна. В зависимости от этих параметров и места, куда приземлился робот, там будет своя длительность дня, ночи, сезон, климат, температура воздуха. По планете можно свободно перемещаться, и если диаметр небольшой, то можно довольно скоро совершить кругосветное путешествие.
Робот попадает на планету с пустыми руками и некоторым зарядом аккумулятора. Этот заряд постепенно расходуется (чем более мощную работу приходится совершать, тем быстрее), поэтому первым делом желательно как-то обеспечить себя источником электричества и регулярно подзаряжать батарею. Если амперы упадут до нуля, аватар отрубается. В этом случае может быть либо Game Over, либо взамен высадится другой аватар, куда переселяют игрока, но с зарядом в два раза меньше первоначального, либо какой-то другой ущербностью, чтобы не возникло соблазна плодить эти аватары бесконечно. В итоге, попав в тело второго аватара, можно зарядить первый, и получить таким образом два рабочих аватара, чтобы переключаться с одного на другой. Можно тогда уйти в одном на другую сторону планеты, оставить его там, и переключиться назад, сымитировав быструю телепортацию. Правда, при этом не получится перемещать предметы.
Кроме ограничений по заряду робот также может быть разрушен в результате какого-то физического воздействия, вроде падения со скалы, атаки враждебных туземцев или дикого зверья. Последствия здесь аналогичны, как для севшей батареи, только убитый аватар уже нельзя оживить, разве что пустить на запчасти, если игрока переселили в другой аватар.
Чем будет заниматься робот? Колонизировать планету. Добывать ресурсы, строить из них предметы, из этих предметов более сложные предметы, а из них ещё более сложные, вплоть до гидроэлектростанций, фабрик и ракет, которые будут запускать искусственные спутники и показывать с орбиты планету в любой точке. При этом роботу придется сооружать безопасное жилище, обороняться от враждебных варваров, как в Цивилизации, природных катаклизмов и ночных монстров, как в фильме “Чёрная дыра”, например. Если подружиться с туземцами, можно торговать с ними сперва бартером, а потом деньгами, когда появится чеканный станок, чтобы делать монеты, и будет достаточно золота. Туземцев также можно будет за бабло нанимать на работу, чтобы строить свои сооружения быстрее. Потом понаделать своих маленьких роботов и с их помощью строить ещё быстрее, пока вся планета не будет засрана городами, автомагистралями, аэропортами и пирамидами Хеопса.
Природные ресурсы находить поначалу будет непросто. Что наверху лежит, то и нашёл. Постепенно, сооружая орудия геологоразведки и запуская спутники на орбиту, можно будет находить подземные залежи нефти, газа, минералов, строить шахты с угольными комбайнами и автоматизированные рудники.
Наконец, при требуемом уровне развития, можно будет построить ракету, которая транспортирует Гагарина и грузы на соседнюю планету, чтобы начать её постепенную колонизацию и находить там те редкие ресурсы, которых не было на первой. Ну, и так далее, по нарастающей, строительство ещё более мощной ракеты, чтоб долететь до соседней звезды и обследовать тамошние планеты.
В общем, всё как всегда. Даём волю фантазии и строим заоблачные планы, но делаем только до тех пор, пока энтизиазм не иссякнет. Принцип по-прежнему простой: главное не результат, а процесс!
Тестовые сборки будут доступны только 2Б и Колямбе. Выкладывать буду на Гугл-диск, поэтому вам надо будет иметь почту на gmail, чтобы иметь возможность получить доступ к папкам. Сомневаюсь, что её у кого-то ещё нет.
Сейчас игра выглядит вот так. Русификация будет позже или даже уже скоро. Тестовую сборку не даю, так как тут всего два варианта действий - закрыть игру крестиком или закрыть кнопкой Exit, и оба варианта работают вроде бы нормально. Не думаю, что возможны какие-то неизвестные мне баги при такой конфигурации. |
|
|
Коля Логан |
Отправлено: 27 Апреля, 2016 - 10:51:47 ID
|
почетный участник
Сообщений всего: 4476
Дата рег-ции: Июль 2008
Откуда: Донецк, Украина
Репутация: 30
|
krre:Сейчас игра выглядит вот так. Русификация будет позже или даже уже скоро. Тестовую сборку не даю, так как тут всего два варианта действий - закрыть игру крестиком или закрыть кнопкой Exit, и оба варианта работают вроде бы нормально. Не думаю, что возможны какие-то неизвестные мне баги при такой конфигурации.
Я бы нашел.
krre:Тестовые сборки будут доступны только 2Б и Колямбе. Выкладывать буду на Гугл-диск, поэтому вам надо будет иметь почту на gmail, чтобы иметь возможность получить доступ к папкам. Сомневаюсь, что её у кого-то ещё нет.
Кстати говоря, мне кажется что вышла хорошая выборка бета-тестеров - я люблю старые игры и кустарное инди, а 2В играет в современные игры и хорошо знает рынок. Получиться соблюсти этакий баланс, надеюсь.
Почта на gmail у меня есть. |
|
|
krre |
Отправлено: 28 Апреля, 2016 - 20:08:13 ID
|
компьютерный мультипликатор
Сообщений всего: 2151
Дата рег-ции: Дек. 2008
Репутация: 28
|
Сделал локализацию игры. В переводе на русский - это сделал поддержку иностранных языков. Казалось бы, пустяковое дело - написал текст по-русски - и вот тебе готов перевод. Но я с этим делом продолбался два дня.
Первым делом, надо научить программу вытаскивать русские буквы из шрифтов. Это не так просто. Скажем, есть у меня шрифт Arial, он поддерживает отрисовку русских букв, но программа их не видит, для неё все русские буквы - это кракозябры. Чтобы научить, надо добавить такого рода строку "абвгдеёжзийклмнопрстуфхцчшщъыьэюяAБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ". После этого уже есть шанс, что русские буквы нарисуются правильно.
Вторым делом, надо подготовить переводные файлы. Их должно быть минимум три: дефолтовый, английский и русский. Когда мы указываем программе, какую локализацию использовать, она начинает поиск файлов. Если указали ru_RU, и такой файл нашёлся, то всё нормально. Если указали fr_FR, и такого файла нет, то берётся дефолтовый.
Как мы можем указать локализацию, для которого у нас нет переводного файла? Мы что, тупые? Тут на самом деле нюанс в том, в какой стране запустили программу. Программа опеределяет локаль операционной системы и по этой локали ищет переводной файл. Это сделано для того, чтобы не утруждать юзера ручным выбором языка. В итоге, если игру запустили на компе, в котором стоит русский язык интерфейса, то программа автоматически включит русификацию. Но если не найдёт этой русификацию, то возьмёт дефолтовые настройки, а дефолтовые всегда должны быть на английском. Вот такие дела.
Не думаю, что вы хоть что-то поняли, это я просто так написал, чтобы напугать. |
|
|
krre |
Отправлено: 29 Апреля, 2016 - 08:25:21 ID
|
компьютерный мультипликатор
Сообщений всего: 2151
Дата рег-ции: Дек. 2008
Репутация: 28
|
Коля Логан, в программировании, как в мультфильмах, всё уже когда-то было в "Симпсонах"
А тем временем я сбацал сохранение скриншотов прямо из игры по нажатию F12. Это чертовски удобно, и во многих играх практикуется такой подход. Не надо использовать всякие промежуточные программы, придумывать имя файла, и при этом в скриншот не записывается заголовок окна. Так что теперь вы не сможете определить, где он был сделан, на венде или на линухе.
Также появились небольшие косметические изменения. Кнопку Язык заменил на кнопку Настройки, и уже в новом экране готовлю приспособление для выбора языка и установки других настроек. |
|
|
krre |
Отправлено: 02 Мая, 2016 - 16:38:32 ID
|
компьютерный мультипликатор
Сообщений всего: 2151
Дата рег-ции: Дек. 2008
Репутация: 28
|
Процедурно генерируемый ландшафт планеты состоит обычно из нескольких наложенных друг на друга слоёв с шумами разных масштабов. Сперва накладывается самый масштабный шум на всю планету, он определит очертания материков, а также общую неровность земли в виде гор и океанов разной глубины. Затем поверх него накладывается более детальный шум, который уточнит линию берегов и добавит острова. В принципе, этого достаточно, хотя можно пошуметь ещё более мелко, смотря насколько большая планета, и как сильно надо её детализировать. Когда весь ландшафт будет готов, можно будет выбрать точку на поверхности планеты и поставить туда Гагарина. На языке игр это называется точка респауна.
Что ж, дел много, и не до конца ясно, как их делать. Для начала я создал шарик - типа планета. |
|
|
krre |
Отправлено: 02 Мая, 2016 - 21:13:04 ID
|
компьютерный мультипликатор
Сообщений всего: 2151
Дата рег-ции: Дек. 2008
Репутация: 28
|
Пока рано, не работает ничего, только наброски. Кроме того, я собираюсь переписать игру на другом языке и с другим игровым движком. В том, что я начал, притормаживает здорово, а игра такая, что там слишком дофига расчётов (по сути весь мир генерируется программно, кроме Гагарина), и тормозить она так будет всегда. |
|
|
Коля Логан |
Отправлено: 03 Мая, 2016 - 00:07:02 ID
|
почетный участник
Сообщений всего: 4476
Дата рег-ции: Июль 2008
Откуда: Донецк, Украина
Репутация: 30
|
krre:Пока рано, не работает ничего, только наброски. Кроме того, я собираюсь переписать игру на другом языке и с другим игровым движком. В том, что я начал, притормаживает здорово, а игра такая, что там слишком дофига расчётов (по сути весь мир генерируется программно, кроме Гагарина), и тормозить она так будет всегда.
Такой вопрос - на IMDb проект добавить, чтобы публика о нём хоть где-то знала? Я таким образом буду ещё и публицистом, а не только бета-тестером. |
|
|
krre |
Отправлено: 07 Мая, 2016 - 08:12:06 ID
|
компьютерный мультипликатор
Сообщений всего: 2151
Дата рег-ции: Дек. 2008
Репутация: 28
|
Думал, думал и решил сделать так. Буду писать свой игровой движок, заточенный конкретно под Гагарина. Игра настолько специфична, что готовые универсальные движки ей подходят плохо. Это по сути означало бы, что пришлось бы написать поверх универсального движка ещё и свой. Лучше тогда уж сразу полностью на своём делать. К тому же, привязываться к чужому не совсем надёжно. Если он бесплатный, то в любой момент авторы могут на него забить (такое происходит сплошь и рядом), и что мне тогда, самому его дальше развивать? А платные движки с либеральной лицензией, типа Unity и Unreal Engine такие громоздкие страшилища, что на одно их изучение полгода уйдёт. Не говоря уже о том, что они нифига не кроссплатформенные, занимают кучу места на винте и требуют дополнительно для работы установку Visual Studio - ещё одно громоздкое страшилище.
Короче, всё настолько плохо, что я чуток притормозил и начал читать книжку на 1000 стр. по созданию игровых движков. На английском, к тому же. |
|
|
|