15Sep

How to mod Road Not Taken

We’ve added mod support to the Steam (PC/Mac) version of Road Not Taken! Warning: writing and using mods is something you do entirely AT YOUR OWN RISK. We’re way too small a studio to fix every possible bug introduced by every possible mod. OK, having given that warning, here’s how you dive into modding:

Using a Road Not Taken mod created by someone else

  • Make sure that you’re running v731 or later. You can check your version number in the game’s options menu.
  • Browse to the directory where you’ve installed Road Not Taken. (Follow these instructions to find it.)
  • Browse to mods/
  • In the “mods” folder, paste in a folder containing the mod you want to use. The “mod1” folder is there as an example. Note that you should not overwrite the mod1 folder (this won’t break the game, but if you ever want to get into modding, you’ll probably want to start from the default and/or have a copy of the default to refer back to).
  • Launch the game, open the options menu, and choose Select Mod.
  • The folder you just added should be listed. Choose it.
  • The game will say that you will have to manually restart it. Agree. The game will close. 
  • Launch the game again.

Creating a new mod for Road Not Taken

  • Browse to the directory where you’ve installed Road Not Taken
  • Browse to mods/
  • There is one mod installed by default. This is the directory named mod1/.  Each mod is a directory of all the config files and art assets used by that mod.
  • To create your own new mod, copy /mod1 to a new directory under the parent mods/ directory. Name it something unique. Example: “/mod/mod2”
  • Edit the config files as you desire in a text editor.

To play your mod

  • Load the game
  • Open the options menu
  • Select mods
  • Selected your new mod. For example “mod2”
  • You’ll be prompted to restart the game.
  • On restarting the game, you’ll begin a game using your new mod config settings.

Some important notes on modding the game

  • Each mod has its own saved game file. If you switch between mods, you’ll be starting a new game.
  • It is possible to change the config files in such a way that the game won’t run. Keep a backup of the original files so you don’t get make a mistake you can’t recover from.
  • You can always switch back to the default game mode from the mod menu.

List of important files

In your mod directory will be a list of config files. This is where the majority of the game is defined.

  • config_basics: Global properties for the game.
  • config_boosts: Properties for charms
  • config_crafting: Crafting recipes
  • config_objects: Object definitions and properties.
  • config_rooms: Custom room definitions and properties
  • config_years_version1: Difficulty settings per year for normal difficulty mode. Also timed mode difficulty.
  • config_years_version2: Difficulty settings for hard difficulty.
  • english.JSON: Complete text for the game.

Exercises

Modify an object

  • Load config_objects into a text file.
  • Scroll down till you find “big_food”. This is the honey object.
  • Edit the energy property to be 20 instead of 10.  All objects are composed of properties and behaviors. The honey now is worth 20 energy when you walk over it.
  • You can add new properties to an object just by adding a new properties to the list.

Types of objects

There are several types of objects in the game.

  • Lock objects: These objects are used for locks. To specify a lock object include the property:
    • ,”locks”:{ “dist_1_to_999”: {“amount”:[5,6,7],”move_to_other_room”:[0,1,2],”move_to_dist”:[1]} }
    • “dist_1_to_999” means that this lock can be used in any room that is a distance of 1 to 999 away from the starting room with the mayor. To calculate distance, just count the number of doors you need to go through to get to a room.
    • “amount”:[5,6,7]: This means there is a random chance that the lock will need 5,6 or 7 objects to open the door. [a,b,c,d] is how we specify distributions. [0,1] for example means there’s a 50% chance of getting a 1.
    • “move_to_other_room”:[0,1,2] means that of the amount, we’ll move 0,1 or 2 items into another room.  This splits up the lock and makes it harder to solve.
    • “move_to_dist”:[1] means that the objects that are moved will move a distance of 1.  Objects are always moved closer to the origin so we don’t get insolveable rooms. 
  • Challenge objects: These objects add difficulty to the game. To specify a Challenge object be sure to add the following:
    • ,”difficulty”:50
      • A difficulty of 10 means the object will spawn in easier rooms.
      • A difficulty of 20 to 30 means the object will spawn in medium difficulty rooms.
      • A difficulty above 30 means the object will spawn in harder rooms.
    • ,”add_as_extra_object”:{“min_dist”:1,”max_dist”:99,”max_amount”:8}
      • This specifies where to add the object.
  • Decoration: These objects don’t do anything except look pretty. See “town_dock” as an example in config_objects.
  • NPCs: These objects move around the village and the forest and you can talk to them. See “npc_girl_nature” in config_objects

Creating a new object

  • Copy an existing object in the config and paste it into a new location in config_objects
  • Be sure to give your new object a unique name.
  • Modify the the properties as desired.
  • In english.JSON, be sure to specify the name of the object in the “object_texts” section. The game may not load if you don’t specify this.
    • If you are running the game in a language other than english, you’ll need to modify the appropriate language file as well.

 

Common problems

I don’t know what all these properties and behaviors do!

There are tons of properties and behaviors in the game. Over time, we’ll be documenting them. For now, the best bet is to find an object that uses the property and play with it a bit.  That will generally tell you how it works.  Next make a new object that includes the property and see if it does what you want it to do.  Don’t be afraid to ask other modders questions!

My new object isn’t showing up in the Book of Secrets

Add the name of your object to “secret_objects” in config_basics

1 Comment in 'How to mod Road Not Taken'



%d bloggers like this: