WELL DONE, NOBLE GUIDE. YOU HAVE DISCOVERED MY FIRST SECRET.
DOWNLOAD THE MAP TEMPLATES FOLDER: VERSION 1.1
IT STARES BACK CUSTOM MAP EDITOR
BUILD YOUR OWN MAP! We might even put one in a community map pack if it’s fun!
IT STARES BACK is still under development. It is possible elements of community submitted maps will make their way into the final game, either intentionally or by coincidence. By submitting a map to the community, you are forfeiting creative ownership of it. That said, community maps will credit their creator, provided the creator adds their name to the level description.
Note: If you experience any trouble loading up a level, double check this list. Any misspellings will break the editor.
-The “Editor” button will unlock on the main menu once you have started Dreams of the Makers.
- Create a Directory( folder) titled “ItStaresBack” in your documents folder
-Download the “ISB Map Templates” folder, as seen above, and drop it into “ItStaresBack”, and unzip the file
-Launch It Stares Back. The Editor menu should now have levels available to select. If it does, congrats you did it! Now you can get on with the fun part!
Again, if you experience any trouble loading up a level, double check your syntax. Any misspellings or additional spaces will break the editor.
Everything else is only recommended reading. You might have more fun learning through your own experimentation like the mad scientists you are. So go crazy! Asking questions in our Discord is encouraged. That said, people who ask questions already answered in this document will likely be told to “cease thy insolence and consult the tome of legend.”
It is recommended that you create a backup folder for spare levels so you may easily replace anything you break. Any folders not titled “Level1”-”Level10” will not appear in the editor. Don’t let this limit you, however. Create as many folders as you want in the directory and simply trade out as you need.
-Okay, so these folders might look like a bunch of crazy code nonsense. Don’t worry, to make a level, you only need to know three things to get makin’ and sharin’.
Every pixel represents a hex. The color denotes what type of hex. Just open that file up in any pixel image editing software to paint your pixel map. MS paint works fine! Photoshop is our preference, but be your dreams. Use the color picker to select from the Map of Legend and paint! Make sure to use the pencil tool to fill things in. Any pixels not matching the exact color legend will break the level. New Colors will be added to the Legend over time.
Black is fog, white is not fog. Use and shade of grey to get as intricate as you want. Just don’t use color in this image and make sure the dimensions match your Map.png.
The top line is your level title. The second line is the creator’s name. The third line is the template type. The fourth is the description. That’s literally it. Everything else is extra curricular.
“SpeechX”- Editor maps have had all dialogue audio removed from them, but you can still make characters appear in-game and say goofy stuff in text.
EventsConfig- pink hexes are events. Can be found in the bottom left of the legend.
GlobalEventsConfig- events that are not tied to hexes, like winning and losing and whatnot.
LevelConfig- a few other parameters not tied to event hexes.
If your map does not meet within these guidelines, we will not put it in a community map pack.
Share and upload whatever you want in the discord. We will not put your map in a pack unless your permission has been granted. We are not required to put your map in a pack even if it meets all the rules. If your map is not selected we are not required to explain why.
These rules are subject to change as we add new features. We’ve got some cool stuff planned.
- EventsConfig and GlobalEventsConfig must match one of the available templates
- Map must fit within template dimensions (100x75 pixels)
- Map must be bordered by at least one pixel of void. Use void to make your map as big or small as you want within those confines, but…
- ALL NON VOID SURFACES MUST CONNECT by at least one hex. Avoid void islands.
- Do not spell dirty words or make lude shapes. I know it’s tempting. Once we have the separate editor built, you can make whatever you want on your own time.
- Level must be beatable within reason.
- Level must have some degree of challenge to it. Don’t give the player 400 dye to start with, please.
- Every pixel color must match the legend. Unregistered hex colors will break the level.
- Player will fail the level if they run out of stone. Provide enough to win.
These suggestions are what we’ve found make for “balanced” levels, but some rules are made to be broken. Feel free to not follow these guidelines. Thinking outside the box is encouraged!
- 2 player castle limit. Player can always build more
- 4 regular or haunted ruin limit (haunted ruins will activate when revealed)
- 15 lit or unlit spire limit. So lit, fam.
- 10 discover five lost soldiers event limit
- 10 discover five clamorings event limit
- 4 discover five iron clamorings event limit
- Keep basic land below 40% of your map. Use other hex types to fill
- No more than 5 dye, iron, coal, or crystal. No more than 8 total.
- No limit on trap hexes (water, ice, lava, electric, or void) so go crazy, but avoid large sections the player must cross to win, especially ice.
- No limit on haunted trees, but avoid massive clusters the Guide must clear to win, especially early level. Keep clusters below 8. Exceptions may vary.
Once you’re ready, upload your three files (Map, Fogmap, Description) to our #map-makers thread in our discord and tell us a little about it.
If you’ve made some wacky changes to events or other level files, feel free to share them as well! It is unlikely we’ll use it in a community map pack, but we are thrilled to see all the crazy stuff you all play around with.
01010100 01110010 01100001 01110000 01110000 01100101 01100100 00100000 01001001 00100000 01101101 01100001 01111001 00100000 01111001 01100101 01110100 00100000 01100010 01100101 00101100 00100000 01100010 01110101 01110100 00100000 01101101 01111001 00100000 01100100 01101001 01110011 01100011 01101001 01110000 01101100 01100101 01110011 00100000 01110111 01100001 01101100 01101011 00100000 01110111 01101000 01100101 01110010 01100101 00100000 01001001 00100000 01100011 01100001 01101110 00100000 01101110 01101111 01110100 00101110 00100000 00110011 00101111 00110001 00110010 00101111 00110001 00101111 00110001 00110011 00101111 00110001 00110101 00101111 00110001 00111000
Fair luck, travelers.
Below is all the info for advanced designers who want to play with the code that we’ve left open for you to play with! Not at all required to get started, but these features give you some really cool design options.
Some basic, overarching parameters for the level: mostly AI personality variants and visuals.
“startDyePlayer” : 0,
“startStonePlayer” : 0,
“startGoldComputer” : 0,
“startStoneComputer” : 0,
Gives X amount of resource at level start. Computer is all enemy A.I. so if Fathoms and Celestium are both on the map, they both start out with X. Not commonly useful to us, except for certain circumstances like giving near unlimited stone in the demo. Usually best to apply as in-game hexes instead. Otherwise confusing unless commented on in-game.
“AIDifficulty” : 2,
Difficulty ranges from 1-4 from easiest to hardest. Increases aggression and decision making speed.
“adjustAnger” : 1.0,
Enemies will tend to only attack players they are angry with. They get angry when you attack them. With adjustAnger up you are setting them to START angry. This is old code. System will be getting adjusted in future.
“extremeMult” : 2.0,
Not used in Stares at the moment. In “extreme mode” in castle battles, how much harder does everything get (multiplies spawn rates etc).
“hexSet” : 1,
I don’t believe this is currently functioning for variants. Should determine type of art sheet used. Will need be cleaned up later. Will be working to determine which HexSetup_ to use. But there is now other stuff that cannot be configured so doesn’t give control over whole map look.
“seaSet” : 1,
See “hexSet”
“edgeSet” : 1,
Also see “hexSet”
“numBosses” : 0,
How many bosses in the level. None currently available. Specific stats in Boss Configuration files as we make them available. As we add bosses for you to play with, we’ll give you the listings below.
“fadeImage” : 4,
Ditto about the sets. This is for overlay hexes like territorial land.
“tree1” : 0,
“tree1” : 1,
“tree1” : 2,
“tree1” : 3,
Which trees are randomly pulled for natural land. 0-3 Standard, 4-7 Fathoms, 8-11 Avaricious, 12-15 Celestium, 16-19 Neon Desert, and 20-23 Lost.
These are level events that are not tied to event hexes, but have other triggering parameters. Best used for win/lose conditions, but have many additional uses. Found in GlobalEventsConfig.txt
Below is a simple event as an example:
{
“id” : 0,
“triggers” : “Delay:8.0”,
“parameters” : “Speech:SpeechZero”
},
ID: This is simply the global event number. So the next event would be [“id” : 1,] and the next would be [“id” : 2,]. THESE ARE NOT tied to events listed in the event configuration file. So Global Event 1 has nothing to do with Hex Event 1.
TRIGGERS: What queues the event. In this case it’s on a timer from level start. This event will activate after 8 seconds. Available Triggers listed below. There’s a whole bunch to choose from and we’re adding new ones all the time!
PARAMETERS: What actually happens when the event is set off. What event do? It do that.
Many global triggers/parameters may also work for standard event triggers/parameters and visa versa. This list is already massive, so I’m not going to add stuff in twice, but you’re smart. You can probably figure out which ones carry over.
Delay
-Queues in x seconds (8 seconds in the example). 0.0 if you want it to queue immediately.
Guide Lost
-If the guide is slain, x parameter happens
-Ex: GuideLost:1 (What is the 1 about? - activates when they have been slain this many times or above. Not that usefull but a quirk of the system is each parameter must define SOMETHING )
Number of Ruins claimed by player
-Ex: PlayerRuins:3 (activates when any three ruins have been claimed by the player)
Number of Castles claimed by player
-Ex: PlayerCastles:4 (activates when any four castles have been claimed by the player)
Number of Enemy Castles remaining
-This is useful for Classic win condition OR could also be used halfway through a battle to increase the stakes and reduce snowball.
-Ex: EnemyCastles:0 (activates when enemy has no castles left)
Empty
-Must be triggered elsewhere, generally via another global or hex based event
-Ex: “” (nothing will set it off on it’s own)
Separate Event trigger
-Is set off by a separate hex based or global event. This way hex based events can set off global events and visa versa. Massive utility.
-Ex: RegionEvent:19 (global or hex event is triggered when hex event 19 is triggered)
-Ex: GlobalEvent:5 (global or hex event is triggered when global event 5 is triggered)
-Ex: RegionEvent:10,Delay:1.0 (triggers one second after hex event 10)
Repeat Event
-Allows an event to fire more than once
-Ex: Repeat:2 (repeat twice). Repeat:0 (repeat infinite)
-Only GuideKilled and PlayerRuins, PlayerCastles,EnemyCastles repeat properly
-Ex: Every time the Guide is lost, spawn a new guide “triggers” : “GuideLost:1”, “parameters” : “Guide:Spawn,Repeat:0”
Guide Conditions
-Spawn a new Guide
-Ex: [Guide:Spawn,] See Above.
Speech
-An ingame dialogue sequence is queued. Currently this can be a standard speech, or a win scene speech. See “Speech” for more info.
-Ex: Speech:SpeechZero
-Ex: Speech:WinScene
Popup
-Queues a popup on the screen. Will have more in future for, bosses, etc.
-EX: Popup:Won (the “Sector Restored” image appears)
Won
-Level is won. What’s not to understand?
-Delay the win timer EX:Won:5.0,Speech:WinScene,Popup:Won (popup won’t appear for 5 seconds, winscene happens straight away.)
Lost
-It’s the opposite of winning.
-Ex:Lost:1.0 (delay lost timer by 1 second)
Music
-Queues a popup on the screen. Will want more for rites, bosses, etc.
-EX: Popup:Won (the “Battle Won” image appears)
FadeTime
-Queues a popup on the screen. Will want more for rites, bosses, etc.
-EX: Popup:Won (the “Battle Won” image appears)
The following parameters are unavailiable in the editor, but I figured I’d list em anyway.
Volume
-Sets the volume level of the audio track in a percentile
-Ex: Volume:0.8 (set volume at 80% of max volume)
Change Volume
-Ex:ChangeVolume:5.0,Volume:0.1 (changes previously stated volume to 10% max volume over 5 seconds)
Audio
-Sets the audio levels of a specific voice line
-Ex: Audio:SpeechEleven/1_The Inductor1,Volume:1.0 (set the volume in the Inductor’s first line in speech eleven to max volume)
Events attached to event hexes placed on the map. Found in EventsConfig.txt
Below is a simple hex based event as an example:
{
“id” : 1,
“triggers” : “RevealBuild:0.1”,
“parameters” : “Camera:0.5,Speech:SpeechOne,MaxTriggerTimes:1”
},
ID: This number correlates directly to the event hex associated with it. For instance if the event hex G color (as in RGB) ends in 101, then the hex Id attached is 1. So the complete hex color for ID 5 would be R-255, G-105, B-255.
TRIGGERS: What queues the event. In this case it’s when the hex is revealed by a spire or other building. This event will activate after only 10% of the mist covers the hex. Further explained below.
PARAMETERS: What actually happens when the event is set off. What event do? It do that. This one queues up the “SpeechOne” dialogue sequence and it will only play once, no matter how many hex 1’s on the map are revealed.
Many global triggers/parameters may also work for standard event triggers/parameters and visa versa. This list is already massive, so I’m not going to add stuff in twice, but you’re smart. You can probably figure out which ones carry over.
Reveal in any way
-Hex is revealed by the player by any means.
-The number associated indicates what percentage of fog must be cleared before activation.
-Ex: RevealAny:0.1 (activate event if 10% of the mist remains. Hex is mostly revealed.)
-Ex: RevealAny:0.5 (activate event if 50% of the mist remains. Hex is halfway revealed.)
Ex: RevealAny:0.9 (activate event if 90% of the mist remains. Hex is slightly revealed. Best for enemy ambushes not appearing underfoot.)
-Ex: RevealAny:1.0 (activate event if 100% of the hex is revealed.)
Reveal via building
-Hex is revealed only when a player structure reveals that part of the fog.
-Ex: RevealBuild:0.1 (activate event if structure has revealed 90% of the mist)
Reveal via Noble Guide
-Hex is revealed only when the guide reveals that part of the fog.
-Ex: RevealGuide:0.2 (activate event if 20% of the hex is revealed by guide)
Claimed
-Activate when hex is turned to Claimed land by x faction. 1=Fathoms, 2=Avaricious, 3=Celestium, 4=Aggregate, 5=Player
-Ex: Claimed:5 (activate event if hex is claimed by player)before activation.
-Claimed:2 (activate event if hex is claimed by Avaricious)
Camera
-Pull camera to the event and (zooms in x amount - dont think zoom is in).
-Ex: Camera:0.5 (Moves the camera to this point - the 0.5 is how long it holds it at the point - might need work).
Spawn Units
-Spawn any type of unit you want. Important to include both troop type and faction
-Ex: Normal:40,Owner:5 (Spawn 40 standard player soldiers)
-Ex: Iron:250,Owner:6 (Spawn 250 Iron Clamorings)
-Ex: Coal:10,Owner:1 (Spawn 10 Fathom Siege Engines)
-Ex: Void:75,Owner:3 (Spawn 75 Celestium Mages)
Repeat Event
-Allows an event to fire more than once
-Ex: Repeat:2 (repeat twice). Repeat:0 (repeat infinite)
-Ex: Every time the Guide is lost, spawn a new guide
“triggers” : “GuideLost:1”,
“parameters” : “Guide:Spawn,Repeat:0”
Alter Time
-Manually set the speed. Useful for slowing down ambushes
-Ex: Speed:1 (set to standard speed)
A.I. Fog of War
-Though it is not visible to the player, each faction A.I. uses its own fog of war that acts the same as the player’s. Can be turned off to give a specific faction full view of the map.
-Ex: UsesFog:0,FogGod:1 (Fathoms can now see everything)
-Ex: UsesFog:1,FogGod:1 (Fathoms cannot outside their fog clearance)? Untested.
-Ex: UsesFog:0,FogGod:5 (Player can now see everthing)? Untested.
A.I. Attk range
-Default is the entire map. So just turn off fog of war if you want them to have full range. This provides more specific options.
-Ex: AttackRange:0.0,RangeGod:3 (Celestium will not attk at all)
-Ex: AttackRange:200.0,RangeGod:2 (Avaricious will attack any structure within 200 hexes)
A.I. Reaction Time
-A.I. operate on a rotating timer. Every X amount of time they decide to either build, attk, upgrade, or pass. This lets you control how quickly they think.
-Ex: ReactionTime:100000.0,ReactionGod:1 (essentially puts the fathoms to sleep)
-Ex: ReactionTime:4.0,ReactionGod:3 (celestium operate every 4 seconds)
-Ex: ReactionTime:0.0,ReactionGod:1 (Aggregate operate without delay)
Set Structure to be seen
-Set a nearby structure to be “seen” by a particular god or revealed to the player.
-Ex: SetSeen:5 (Structure appears to the player. Is revealed out of the fog.)
-Ex: SetSeen:1 (Structure is revealed to Fathoms)
Change Owner
-Changes owner of nearest structure. Currently a bit wonky. Might change owner of multiple structures several hexes away. Better to use transition hexes instead.
-Ex: ChangeOwner:5 (claim structure for player)
-Ex: ChangeOwner:2 (claim structure for Avaricious)
-Ex: Ex: ChangeOwner:6 (turn off spire)
We already have more triggers and parameters to play with that need to be formatted in. Will announce in the Discord when more become availiable and when this page has been updated.