Обнаружил тут, что 19 января для Streets

Обнаружил тут, что 19 января для Streets of Rouge вышло дополнение, предыдущие было очень давно. Текст и перевод под спойлером. Разработчик говорит, что он был очень занят и 2021 год был тяжёлым для него, но теперь то всё наладится. Там ещё про мобильную версию были новости, но их не стал копировать, можете глянуть на страничке с игрой, если кому интересно.

Hey everybody! It’s been a long time since the last update, but I assure you that I’ve been VERY busy. Today’s update includes some news on the sequel, mobile plans, and a brand new patch with around 50 bug fixes.

Sequel News
2021 was actually the most difficult year for me in terms of sheer brain-busting programming challenges since I began development way back in 2013. My goals for the year were simple: get the hard, technical stuff out of the way, and create a solid base for my future work on the game. 2022 is all about implementing actual structure and content into the game, which should hopefully be a lot more fun and a lot less stressful. I’m super excited about my upcoming work, and I can’t wait to see this thing start to come together as a cohesive whole.

Got suggestions for what you want to see in the sequel or questions for me? Post them in the comments below, and I’ll try to answer what I can!

(From here on out, I’ll be referring to the sequel as «SOR2», but just to be clear, it doesn’t have an official name as of yet.)

Here’s just some of what I’ve been working on:

Fully streaming open world — The original Streets of Rogue was level-based. Upon entering a new level, the game would procedurally generate everything over the course of a loading screen. This is how a typical rogue-lite works.

Streets of Rogue 2 takes an approach similar to other procedurally generated open-world games, such as Minecraft. As the player moves along the landscape, the procedural generation system works its magic to determine what the world should look like, new chunks of data are streamed in, and old data is removed.

There’s nothing particularly new or innovative about how I’ve approached all of this. However, the major challenge comes in the form of integrating my existing systems into this new structure. AI, combat, items, world interactions, etc., there are very few aspects of the game that didn’t need heavy modification to function properly.

World generation system — At the start of a new game, SOR2 generates a large procedural world that is (for the moment at least) approximately 3,000 times the size of a SOR1 level. This world includes a full countryside to explore, complete with numerous cities and towns, and an interconnected road system.

«Dungeons» — When I say «dungeon», I’m referring to any area that the player enters which isn’t a part of the main open world. This could end up being anything from a small cave to a multi-story underground city.

New Save/Load system — The original SOR allowed for saving at the beginning of levels. Nothing too fancy. However, saving the state of a large open world is… something more of a challenge. Bear in mind that SOR2 is a persistent sort of open world, more akin to Skyrim than GTA5. For example: if you blow up a wall, it stays blow’d up. If you punch a shopkeeper, he’s going to stay angry, even if you walk halfway across the world and return to his shop.

New map systems — SOR2 actually includes a couple of different types of maps. First off, there’s the «close-up» maps, which are similar to the maps in SOR1, but are now capable of following the player as they move around the open world. And second, there’s a much more zoomed-out world map, which shows a somewhat abstract version of the entire game world.

Day/night cycle — The game world changes in significant ways based on the time of day…

NPC Schedules — NPCs are now capable of pursuing different goals based on the time of day. For example, a Shopkeeper might leave their home at 8:00 in the morning, drive their car to a store that they own, work until 10:00 at night, and then return home.

Vehicles — There were two major challenges to solve when implementing vehicles: A. coming up with a solid driving model that’s both fun and not completely awkward due to the top-down nature of the game, and B. NPC artificial intelligence. I’m happy to say that both A and B are in great shape right now.

Animals — Yes, the game will have animals this time around. No, I’m not going to say which ones. Will they be playable… We’ll see!

Ability to build walls and floors — SOR2 will allow players to create their own structures within the game world. While I don’t want to give away any specifics about the purpose of these structures just yet, I will say that they may have uses beyond what is typically seen in open-world sandbox games.

Diagonal walls — In the original SOR, you may have noticed that walls exclusively face 90-degree angles. Last February, I spent three torturous weeks re-jiggering my systems to allow for 45-degree angles as well.

Level editor updates — The level editor has been updated to accommodate new features of SOR2, such as the ability to construct large regions of the world.

«Abstracted» AI system — NPCs are capable of continuing to pursue their high-level goals regardless of their distance from the player, and with little performance cost. Just because you’re on the opposite end of the world, doesn’t mean NPCs can get out of doing their jobs!

Full couch co-op support — Returning from the first game, SOR2 still supports up to four players in split-screen mode. Players can act completely independently from one another, visiting different locations on the map at the same time, or even entering different dungeons.

Full online multiplayer support — Much like the first game, SOR2 will allow for players to jump into and out of a game at any time. Loads of time has been spent adapting online multiplayer to the game’s new open world structure.

Early quest integration — All of the quest types from the original game are fully functional in SOR2, with a number of new ones planned. I’m also intending to add some actual narrative to the quest system this time around…

A new look — While SOR2 retains the top-down perspective of the first game, the graphics are in the process of being overhauled to look super-stunning.

Performance and memory optimization — I spent close to two months optimizing the crap out of this game. Why so much time at such an early juncture? Imagine this scenario: four players in split-screen coop are driving their cars at high speeds in four completely separate locations on the map, in areas dense with buildings and objects. And they’re playing on a Nintendo Switch. For my own peace of mind, I needed to ensure that it was actually feasible to do this while maintaining a decent-ish frame rate and streaming in new data quickly enough.

Bug testing — A LOT of time has been spent working out the kinks in the features that I’ve listed above. My hope is that I won’t be constantly getting stopped in my tracks with showstopping bugs during my efforts to add «the fun» to the game this year.


Hopefully I’ll have some more news for you in the coming months!

Привет всем! Прошло много времени с момента последнего обновления, но я уверяю вас, что я был ОЧЕНЬ занят. Сегодняшнее обновление включает в себя некоторые новости о продолжении, планах на мобильные устройства и совершенно новый патч с примерно 50 исправлениями ошибок.

Новости о Продолжении
2021 год на самом деле был для меня самым трудным годом с точки зрения чисто изнурительных задач программирования с тех пор, как я начал разработку еще в 2013 году. Мои цели на этот год были просты: убрать с дороги сложные технические вещи и создать прочную основу для моей будущей работы над игрой. 2022 год — это все, что нужно для внедрения реальной структуры и контента в игру, которая, надеюсь, должна быть намного веселее и намного менее напряженной. Я очень взволнован своей предстоящей работой, и мне не терпится увидеть, как все это начнет складываться в единое целое.

Есть предложения по поводу того, что вы хотите увидеть в продолжении, или вопросы ко мне? Разместите их в комментариях ниже, и я постараюсь ответить на все, что смогу!

(С этого момента я буду называть продолжение «SOR2», но просто для ясности, у него пока нет официального названия.)

Вот лишь кое-что из того, над чем я работал:

Полностью потоковый открытый мир — Оригинальные Улицы Rogue были основаны на уровнях. При входе на новый уровень игра будет процедурно генерировать все в течение экрана загрузки. Вот как работает типичный rogue-lite.

Streets of Rogue 2 использует подход, аналогичный другим процедурно генерируемым играм с открытым миром, таким как Minecraft. По мере того, как игрок перемещается по ландшафту, система процедурной генерации творит свое волшебство, чтобы определить, как должен выглядеть мир, новые фрагменты данных передаются потоком, а старые данные удаляются.

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

Система генерации миров — В начале новой игры SOR2 генерирует большой процедурный мир, который (по крайней мере, на данный момент) примерно в 3000 раз превышает размер уровня SOR1. Этот мир включает в себя полную сельскую местность для изучения, в комплекте с многочисленными городами и поселками, а также взаимосвязанную дорожную систему.

«Подземелья» — Когда я говорю «подземелье», я имею в виду любую область, в которую попадает игрок, которая не является частью основного открытого мира. В конечном итоге это может быть что угодно — от небольшой пещеры до многоэтажного подземного города.

Новая система сохранения / загрузки — Исходная SOR разрешена для сохранения в начале уровней. Ничего особенного. Однако сохранение состояния большого открытого мира — это… нечто большее, чем задача. Имейте в виду, что SOR2 — это постоянный вид открытого мира, больше похожий на Skyrim, чем на GTA5. Например: если вы взорвете стену, она останется взорванной. Если вы ударите владельца магазина, он будет продолжать злиться, даже если вы пройдете полмира и вернетесь в его магазин.

Новые картографические системы — SOR2 фактически включает в себя несколько различных типов карт. Во-первых, есть карты «крупным планом», которые похожи на карты в SOR1, но теперь способны следовать за игроком, когда он перемещается по открытому миру. И, во-вторых, есть гораздо более увеличенная карта мира, которая показывает несколько абстрактную версию всего игрового мира.

Цикл День/ночь — Игровой мир существенно меняется в зависимости от времени суток…

Расписание NPC — NPC теперь способны преследовать различные цели в зависимости от времени суток. Например, владелец магазина может выйти из дома в 8:00 утра, доехать на своей машине до магазина, которым он владеет, поработать до 10:00 вечера, а затем вернуться домой.

Транспортные средства — При внедрении транспортных средств необходимо было решить две основные проблемы: A. создать надежную модель вождения, которая была бы одновременно увлекательной и не совсем неудобной из-за нисходящего характера игры, и B. Искусственный интеллект NPC. Я рад сообщить, что и А, и В сейчас находятся в отличной форме.

Животные — Да, на этот раз в игре будут животные. Нет, я не собираюсь говорить, какие именно. Будут ли они воспроизводимы… Посмотрим!

Возможность строить стены и полы — SOR2 позволит игрокам создавать свои собственные структуры в игровом мире. Хотя я пока не хочу раскрывать какие-либо подробности о назначении этих структур, я скажу, что они могут иметь применение, выходящее за рамки того, что обычно наблюдается в играх-песочницах с открытым миром.

Диагональные стены — В оригинальном SOR вы, возможно, заметили, что стены обращены исключительно под углом 90 градусов. В феврале прошлого года я провел три мучительные недели, перенастраивая свои системы так, чтобы они также допускали углы в 45 градусов.

Обновления редактора уровней — Редактор уровней был обновлен с учетом новых функций SOR2, таких как возможность построения больших регионов мира.

«Абстрагированная» система искусственного интеллекта — NPC способны продолжать преследовать свои цели высокого уровня независимо от расстояния до игрока и с небольшими затратами на производительность. Просто потому, что вы находитесь на противоположном конце света, это не значит, что NPC могут отказаться от выполнения своей работы!

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

Полная поддержка многопользовательской онлайн-игры — Как и в первой игре, SOR2 позволит игрокам входить в игру и выходить из нее в любое время. Много времени было потрачено на адаптацию многопользовательской онлайн-игры к новой структуре открытого мира игры.

Ранняя интеграция квестов — Все типы квестов из оригинальной игры полностью функциональны в SOR2, при этом планируется ряд новых. На этот раз я также намереваюсь добавить немного реального повествования в систему квестов…

Новый взгляд — В то время как SOR2 сохраняет нисходящую перспективу первой игры, графика находится в процессе перестройки, чтобы выглядеть супер-потрясающе.

Оптимизация производительности и памяти — я потратил почти два месяца на оптимизацию этой игры. Почему так много времени на таком раннем этапе? Представьте себе такой сценарий: четыре игрока в игре coop с разделенным экраном едут на своих автомобилях на высоких скоростях в четырех совершенно разных местах на карте, в районах, густо застроенных зданиями и объектами. И они играют на Nintendo Switch. Для моего собственного спокойствия мне нужно было убедиться, что это действительно возможно сделать, сохраняя при этом приличную частоту кадров и достаточно быструю потоковую передачу новых данных.

Тестирование на ошибки — МНОГО времени было потрачено на устранение недостатков в функциях, которые я перечислил выше. Я надеюсь, что меня не будут постоянно останавливать на полпути из-за показательных ошибок во время моих попыток добавить «веселья» в игру в этом году.


Надеюсь, в ближайшие месяцы у меня будет для вас еще несколько новостей!