Streets of Rogue

Streets of Rogue

Not enough ratings
Chunk Pack Making - Advanced Knowledge (WIP)
By Doctopus
After reading the ultimate content creation guide and playing SoR with custom chunk packs you wanna make some more and share them with others? Good! This extra guide will teach you the secrets of how to do it properly-ish like a pro.

Intended specifically for making new custom Chunk Packs (with optional custom characters) that will appear randomized in a regular playthrough. You will still need Abyssal's guide, so keep that one open too - this guide mostly delves into the deeper secrets and the process of making a high quality chunk pack, including the thinking/mindset behind it.

This guide will not cover customized missions/campaign maps.
   
Award
Favorite
Favorited
Unfavorite
Be inspired and enjoy!
If you haven't yet, then actually play some of the best chunk packs first:

https://steamproxy.net/sharedfiles/filedetails/?id=2456991300

This collection makes it easy for you to get the best (date: april 2021) chunk packs on the workshop easily and quickly all at once. Just hit "subscribe all" and you'll get them all.

They can be played with together, loaded all at once.

See what people have made, get a good feel for what is possible. Get inspired.

I may update the pack from time to time as new chunk packs are released. Maybe yours will get included in it too one day!

The reason why we make these chunk pack is because the amount of variety and surprise they add to the game is massive, especially when done right. Its like playing Street of Rogue 2000: Super Charged Edition.

Learning to make chunk packs is easy and even relatively fast, but it requires care and vigilance. It is strongly advised to study the game (by playing it) and the level editor first, before jumping in.



Lets do this!
How to Chunk Pack (summary)
There are two ways to go about making chunk packs:

#1 Yolo amateur
  1. Open the level editor straight away.
  2. Put down some walls, floors, objects, items, lights and npcs. - guided by "what feels good".
  3. Only use the ingame-help buttons for hints.
  4. Be confused at what some of the functions do.
  5. Try to playtest the chunk, revealing NPCs don't react properly, you've made impassable walls in the map and things don't do what you wanted them to do.
  6. Attempt to brute force, trial and error, get frustrated and lose hours of time trying to fix problems you have no proper information to resolve them with.
  7. Get demotivated and give up OR release a crappy pack that sucks. Or do both at the same time.


#2 Chad Professional
  1. Watch the level editor tutorial video: =LINK=


  2. Read the big content creation guide by Abyssal: =LINK=

    https://steamproxy.net/sharedfiles/filedetails/?id=2140119001

  3. Have a clear idea of what you want to make and why you want to make it.


    Inspiration of a caverns chunk pack that was never released.

  4. Open the level editor and load up any and all of the Prefab Chunks in the list and use the Select mode to click on each layer and each element/object/tile within to see how they're set up. Explore each button and submenu in the level editor, just for fun and curiosity.

  5. Become aware of the many hidden details in the chunk system.

  6. Understand the limitations of what can be done and what is impossible.

  7. Understand the big picture of a full SoR playthrough and how the chunk pack will affect it.

  8. Have realistic/grounded expectations.

  9. Give up if necessary.

  10. Kill bad ideas, pursue good ones that you truly believe would make the game better.

  11. Write down each idea for a chunk/building/location + any vanilla/custom NPCs that goes with it.

  12. Look up the SoR Reference Sheet in Chunks/Districts tab to see what chunk type is most suitable for each individual chunk you're wanting to make. Remember that Chunk Types hold hidden code that make certain interactions only work there and nowhere else. =LINK=[docs.google.com]


    Excellent resource in planning how your chunk pack will appear throughout a regular randomized playthrough.


  13. Remember to build chunks with the correct rotation if its a dead-end, tunnel or near the border.

  14. Don't try to make every level have every feature - keep each district unique and remember pre-existing chunks or other custom chunk packs in what they already offer and how they'll interact with your chunks.

  15. Remember to always include multiple solutions and gameplay options for your challenge chunks that contain important objects (things that can become elevator unlock objectives during the game). Use windows, doors, locks, cover, vents, air filters, guards, cameras, obstacles and hazards to cater to both stealth and combat approaches in the game. The more options and features, the better. SoR is a chaotic game with funny unexpected situations, after all.

  16. Its ok to stop and think - even for hours or days - on how to make a specific chunk work, how to organize the entire pack or how to make a cool idea work within the limitations of the game.

  17. Grab either pen/paper or whatever sketching tool you may have and just doodle the different chunks ideas you've listed one by one, where the walls/floors are, what NPCs/objects it has and how it would play both as stealth or combat. These are meant to be as low effort and fast as possible, just to give a basic idea of what you'll make - so that when you're in the level editor actually making it, you're focused and know what needs to be done and when it is finished.

  18. If the blank canvas gives you paralysis/creators block, you can use a random level brainstorming generator by UwUMacaronitime to give you some basics to grab on to and start with. =LINK1=[gamejolt.com] =LINK2=[gamebanana.com]




    Showing the generator app in action - simple to use and easy to understand.


  19. After all this prep, you may now open the level editor to actually make the levels according to the plan you've made. Follow Abyssal's guide to creating custom content on the basics of building the chunks and chunk packs for the rest.

Best way to build chunks is by going down the list as it is in the editor - starting from top to bottom.

The level editor in 1x1 chunk configuration, ready to go.


Do it in phases:
  1. Start with drawing walls, place down floors, place objects, place NPCs, add lights - use Play to test it at this stage.
  2. Then go back to floor layers, use Select to select and designate the correct Owner/Prison IDs, set up the parameters for each NPC correctly, designate important objects, set up spawn chances.
  3. Double check that the floor OwnerID and PrisonID are correct. Triple check any NPC.
  4. Give the chunk a name that helps you know what chunk type it is, what size it is (1x1, 1x2 or 2x2), and what its known as generally, a unique 5 character signature, and a sequence number how many'eth it is. Like "bar_1x1_cold_doc_1" or "zoo_1x2_hedges_doc_1" or "citypark_2x2_fountain_doc_1" ect. Stick to this naming format and make it easier to browse and edit them later.


    An alternative example of how to name chunks for a chunk pack and stay organized.

  5. When setting up Owner/Prison IDs or other special npcs that you expect to behave like they do in vanilla game, first save you own chunk you're working on then load the vanilla prefab they're in normally in, use Select to check their values and then replicate that back in your chunk to ensure everything will work as you want it to. This part can trip you up if you don't do everything exactly same as in the prefab examples.

  6. After these phases, you can return and change walls, positions, objects, add/remove stuff and tweak parameters as needed as many times as necessary - don't expect the chunk to be finished right away, usually there may be a detail or two that you missed or something you forgot.

  7. Also Save often - the level editor can crash sometimes, so keep saving between changes as soon as it feels like you made some progress.

Random inspiration of some tunnel city chunks.
Level Editor - Common Mistakes
Generally, floors 1,2,3 work like this:
  • Floor 1 = foundation of entire building
    (MUST go under walls too, not just interiors! Important!!)
  • Floor 2 = specific room interior stylings (kitchen, bedroom, cell, corridor etc).
    (does not have to go under walls)
  • Floor 3 = carpets and extra interior styles/flair.

An outdoor chunk inspiration.

  • Absolutely make sure that there is atleast 2 tiles of empty/nothing around the entire chunk! Failing to do this makes impassable walls during level generation sometimes.

    The only exception is if you're making a corner, dead-end, tunnel or 1-side wall special chunks.

  • Technically 1 tile empty perimeter around chunk is possible too, but the path may be blocked by randomly spawning vending machines or trashcans. No bueno.

  • Doors AND Windows MUST face INTO the room they are looking inwards. i.e. If you have a door or window located to the south of a room, their direction must be set to north:



  • Around the edges of chunks, trash cans, vending machines and some other misc objects are placed automatically and randomly by the game even if they weren't placed manually by the chunk author.

  • Vents and air filters must be placed by you. Game will not automatically place those.

  • To place a pair of laser emitters, you only need to put one - the other one will automatically be placed at the furthest point in the direction you designated.



  • Do not manually put direction for Cameras or Turrets - just leave direction to None. They will automatically orient and decide how to operate.

  • You can make Chunks that are built into the border walls - the important thing is to always organize them like this:



    The order is always TOP, LEFT, RIGHT, BOTTOM for which directions are blocked most commonly.

    Do note that Level Exit, Mayor Start and Level Start must all be facing downwards originally - the game will automatically rotate them for you during level generation, flipping the 'Start' chunks upside down.

  • When placing carpets or walls, make sure they use all use the same Multiple In Chunk number (1 or higher), otherwise each individual floor tile of that carpet will be of different color or type. Multiple In Chunk [Same number] makes them all same style, for consistency.

    Using number 0 (zero) in Multiple In Chunks will make each piece of carpet or wall randomly different.

  • Certain features ONLY work within certain chunk types. If you want an arena behaviour, you MUST use the Arena chunk type. Same for hospitals, ice rink, malls, movie theaters and so on. The game has hidden functions that you only can figure out by playing the game and talking to each NPC and remembering where that happened.

  • Some features of Chunk Types only work within specific Districts in the game (Slums, Industrial, Park, Downtown, Uptown, Mayor Village). If some feature you added into a chunk doesn't seem like working at first, its because its spawned during a different district where that specific feature is turned off by the game's code (which can't be changed, unfortunately.)

  • This specific configuration will result in an annoying gap for the door. Its harmless and the door will work fine, but just looks wierd. Its a known bug:




  • Always test your lighting and avoid this scenario:



    No one likes eye torture.

WIP:
(talk about PrisonID how its actually more a RestrictedAreaID or OwnersWillGoHostileIfYouStandHereID, ID 1 not used for cells, ID 2 and above used for prisons, except ID 22 and 23 used maybe for panic rooms, but I dunno about that yet fully)
(multicell prisons/apartaments/hotels)
(arena, slave shop, podium, mayor office, mall setups (Owner ID 99 for multishop guards))
(that one annoying door gap glitch)
(preventing from no-entry door from showing up when you didn't intend to (put a Clear (Owned) front of it or something))
(how certain walls do not connect visually and how some do - deal with it or avoid it etc)
(how generic type chunks are like empty spaces between other chunks)
(being careful not making spaces too tight to block interact prompts in certain cases)
(if locked doors or windows not knockable/tappable from outside, then direction is wrong)
(make sure NPC and floor OwnerIDs match up - if they protect stuff)
(how Important Targets work.)
(how spawn chance and randomization works with those)
(probably something more I missed)
Level Editor - Hidden Tricks
  • Doors and windows can be both placed on top of walls (meaning you do not need to erase walls where you plan to put windows or doors to), but they will also still work even they are not placed on walls.

  • Keep in mind the very corners of a chunk may get deleted by the game on occasion, like so:


    If you made an edge chunk, corner chunk, tunnel chunk or a dead end chunk, then if you put anything important in the very corners in particular, it might get cut away during level generation.

  • You can prevent random object/obstacles spawns by placing "Clear (Owned)" floor around the perimeter of the building or anywhere else you specifically want to keep empty.

  • This the blast radius of a common generator explosion:



  • The prevent NPC AI from choosing to get stuck on fences on purpose, just place a "Clear (Owned) tile + PrisonID 1" floor underneath the fences.

  • It is possible to create water currents by combining Conveyor Belt (Floor 2) + Water (Floor 3). There may be more creative ideas like these, experiment with the floor styles to create cool stuff.

  • Some furniture and objects will auto align to face away from walls - meaning you can place chairs, TV, refridgerator, stove, vending machines etc next to a wall - keep Direction as "None" and it will automatically rotate them to face away from wall, saving you time from having to do this manually. You can override this by just setting the direction yourself if needed.

  • Randomization via Spawn Chances can be used to make a single chunk change into many shapes, opening or closing paths within it:



    Beware, always make sure there is atleast one path that is always open no matter what. If you randomize all walls of a building with no default always-open emergency backup path, they can indeed cause completely closed off areas.

  • It is possible to sort of make a powerful "turret" by trapping a Killer Robot character between 4 desks (the grey stone things) around it, pinning it to a single spot. You can give it any gun and it will be very scary powerful.

    Keep in mind that if the desk barricades are broken, the robot will be free to chase you. This can happen by accident if the robot uses the rocketlauncher and the explosion hits too close to it. Its best to place the robot on a tiny 3x3 tile island, with a 2x wide hole surrounding it from all sides.


Some cool inspiration of an Arena chunk.
The Making-of 'Children Expansion' Chunk Pack
(Here I detail the process by which I made the pack, talking about the idea, the mindset and the planning behind it)

(Then I go over the part where I use the SoR Reference Sheet to assign each ideated chunk for the correct Chunk Types to ensure they're properly spread across the playthrough and their features functioning correctly.)

(Later I showcase UwU Macaroni's generator tool in going from blueprint inspiration to the final actually built chunks)

WIP, Come back later
Chunk Checklist - Don't forget these!
WIP
(did you add combat and stealth solutions)
(did you add important objects - where applicable)
(did you set the correct chunk type, owner/prisonIDs for floors and NPCs?)
etc etc gonna finish later
Credits and Links
Special Thanks to:
Abbysssal
Cyan_Light
Matt Dabunski
UwUMacaronitime
Matt Dabrowski
The rest of the awesome SoR Discord community
All the custom character, chunk pack and campaign creators out there!

I wouldn't be making this without you guys pavin' the way.


Another sexy chunk to be inspired by.

LINKS

Ultimate content creation guide:
(characters, chunks, chunk packs, missions)
https://steamproxy.net/sharedfiles/filedetails/?id=2140119001

Streets of Rogue Level Editor Introduction:
(official video by developer themselves about using the level editor)
https://www.youtube.com/watch?v=Fglj8e3Pi70

Streets of Rogue Discord server:
(share and promote your cool stuff here, ask level editing questions)
https://discord.com/invite/streetsofrogue

SoR Reference Sheet:
(check which chunk types will appear in which district - excellent planning resource)
https://docs.google.com/spreadsheets/d/1IU0H6-b-so80NLToVViLlu8O1wQOyyINcm7tjUatCEM/edit?usp=sharing

UwUMacaronitime's Chunk/Building Layout Brainstorming random generator tool:
(dont know where to start when drawing a new building in the level editor? use this tool for ideas!)
https://gamejolt.com/games/SOR-Build-Gen/593128
https://gamebanana.com/tools/download/6989
12 Comments
Ted Bunny 21 Nov, 2023 @ 7:36am 
What info was useful on those sheets? I'm not really sure what people used them for
DaPostmaster 20 Nov, 2023 @ 4:33pm 
That sucks.
Ted Bunny 29 Oct, 2023 @ 6:45am 
@DaPostmaster Those got deleted, sorry
DaPostmaster 28 Oct, 2023 @ 2:57pm 
Now I just straight up can't access the Reference sheets D:
Ted Bunny 20 Feb, 2023 @ 6:28pm 
@Sirniy_Belash The SORCE mod de-limits items per district, do you have that installed?
Sirniy_Belash 18 Feb, 2023 @ 10:25am 
I have already figured it out that some things dont appear somewhere (slums especially) but I have seen a lot of chunk packs from the workshop and ppl from there somehow made such chunks appear only on appropriate levels. How do i do that? Didnt find any tools for that
LuVenBen 5 Jul, 2022 @ 12:35pm 
how do i make an npc not attack you when hostile?
(like the bouncer in the tutorial)
Crash [LV] 7 Jan, 2022 @ 6:42am 
"This guide will not cover customized missions/campaign maps."

But that is what we need, since there isn't any guide for that.
Doctopus  [author] 18 Dec, 2021 @ 1:26pm 
@DaPostmaster I have no idea how to fix that for Steam. You can still just select the link (bottom of the guide), Ctrl-C and paste it directly in your browser (chrome, firefox etc). The google doc itself still works fine and is safe.
DaPostmaster 16 Dec, 2021 @ 3:43pm 
For some reason the link to the Reference sheets were blocked. Can you fix this?