Version 96 + Sequel Update!
Author: indiefoldcreator
Date:
Tue, 28 May 2024
Game: Streets of Rogue
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.
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:
Hopefully I'll have some more news for you in the coming months!
Yes, a mobile version of SOR1 is currently in development by 3839. At the moment, this is exclusively available for the Chinese audience. However, there is a possibility for us to bring this to the rest of the world at some point. You can check out their website here.
Graphics
UI / Controls
Playfield Objects
Items
Status Effects / Traits / Special Abilities
Sound
Big Quests
Disasters
Mutators
Artificial Intelligence
Performance
Multiplayer
Engine
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!
Mobile Version??
Yes, a mobile version of SOR1 is currently in development by 3839. At the moment, this is exclusively available for the Chinese audience. However, there is a possibility for us to bring this to the rest of the world at some point. You can check out their website here.
Version 96
Graphics
- Fix for small graphical glitch when highlighting dead bodies
- Fix for some object shadows being incorrectly positioned for objects next to walls
- Fix for Stealing Glove and similar held items being visible when an NPC is invisible and performing certain activities like sitting
- Fix for NPCs sometimes appearing highlighted after Body Swapper is used and their position has been swapped
- Fix for NPCs' shadow and light positions sometimes appearing incorrectly if they were killed and simultaneously knocked out of a body of water
UI / Controls
- Fix for multiplayer game sorting not working properly
- Fix for inconsistent mouseover areas over player characters
- Fix for in-game timers not functioning properly at very high values
- Fix for player characters sometimes having the wrong mouse box collision
- Player will auto-aim at NPCs hidden in bushes
Playfield Objects
- Fix for cases where a Bush could be destroyed but the NPC hidden in the bush is not revealed
- Fix for cases where Mine Cart or Train could destroy vending machines at building entrances
- Fix for fires not starting in the areas surrounding Lakes
Items
- Fix for player not being able to shoot the Flamethrower and other similar weapons past doors and windows that had been destroyed
- Fix for Warp Grenade working on empty Mech Suit
- Skeleton Key no longer appears as a potential reward in the Home Base list, since it cannot actually appear in the game. It is still available in character creation
- If a Molotov Cocktail lands in water, it will not explode
- Quick Escape Teleporter triggers at 10 health instead of 15 when using Low Health For All mutator
- Fix for sleeping NPCs sometimes teleporting back to their beds after the player uses Body Swapper on them
- When the player uses Cologne, Bouncers will allow party members to pass as well as the player
- If the player Hypnotizes an NPC to be Friendly, the player's followers who were Loyal or Aligned with that NPC will remain Loyal or Aligned instead of becoming Friendly
- Fix for Oil Container count dropping below 0 on multiplayer client during laggy games
- Fix for Memory Mutilator not taking into account NPCs who are aligned due to Random Reverence
Status Effects / Traits / Special Abilities
- Fix for Zombie appearing to be Arrested if they are arrested as a normal human, then zombified, and then tranquilized
- Fix for difficulties Possessing NPCs who are standing in doorways
- Fix for Werewolf turning into a Werewolf after becoming a zombie
- NPCs who have Resurrection while being inhabited by ShapeShifter will not still read as having Resurrection after dying
- Fix for Alien being able to continue Mind Controlling NPCs to walk when they are being bitten by a Vampire
- Fix for multiplayer client Alien not being able to use Mind Control properly on another player's Slaves
- Fix for multiplayer host not always communicating to client that an arrest or enslavement had ceased to take place, which could result in a few bug fixes
Sound
- Fix for sound effects on split-screen cameras sometimes playing at the wrong volume
Big Quests
- NPCs who are being Bodyguarded will not count as witnesses for Assassin's Big Quest
Disasters
- Bodyguarded NPCs (i.e. Musician) will not receive certain status effects during the Status Effects disaster, such as Dizzy and Shrunk
Mutators
- Player will not receive ammo-related items rewards and traits during games with Infinite Ammo mutators
Artificial Intelligence
- Fix for not being able to interact with Mind Controlled NPCs who were annoyed with you prior to being Mind Controlled
- NPCs will not react to the player’s Joke if the player is out of their view
- If a Ghost is spawned into a prison via the Boo-Urn, opening the prison door will not make that ghost Loyal
- Fix for NPCs being able to start dancing in midair while jumping
- Fix for cases where player could be mugged by an NPC who they had enslaved
- Fix for NPCs sometimes attacking player immediately after being depossessed and not having dizzy stars
- Fix for NPCs sometimes being able to open locked outside doors in buildings they do not own
- Fix for NPCs whose default behavior is Sit/Sleep/Idle not being able to walk past certain doors in returning to their starting position
- Fix for players being able to issue certain commands to NPCs when another player had hired the NPC
- Fix for Hackers and Thieves not being able to perform special tasks for the player if they are Aligned/Loyal and the player re-hires them
- Fix for instances where Musician could stop following the player and start wandering around the level
- Fix for Musician's fans becoming Aligned with the player instead of Loyal after player is forced to beat up the Musician for disobedience
- Potential fix for rare cases where Musician's followers could become hostile after the player exits through the Elevator
Performance
- Game now makes use of Unity’s incremental garbage collection to avoid frame rate hitches
Multiplayer
- Fix for multiplayer client Bodyguard triggering their Musician to speak, when they are actually talking to the host Bodyguard's Musician
- Fix for multiplayer client data not always being stored correctly if they quit out of the game instead of quitting to main menu, particularly when client was inside a Mech, in Werewolf form, or Possessing someone
Engine
- Updated game engine to Unity 2020.3.23f1
Version 96b
- Fix for NPC hair appearing behind their heads while dancing or sitting
Version 96c
- Fix for player markers not appearing on map after loading saved game
Version 96d
- Various small changes to ensure best compatibility with Steam Deck
- Fix for several text fields not working properly with Steam’s virtual keyboard
- Updated Steamworks.net plugin to most recent version
Write your comment!