SRPG Studio

SRPG Studio

Not enough ratings
How to make an SRPG: Basic and Advanced guide
By Evilous
This is mostly complete guide on how to use SRPG studio and more.
   
Award
Favorite
Favorited
Unfavorite
Intro
First off, thank you for reading. This originally took me a month to make this guide when I made it in 2023, and since I made it in a different program, a lot of things will be in the images. I also lost the original files for it, so I'm posting images of the exported PDF version instead. Feel free to download them and use them individually if you like. This whole thing is 250-300 pages long, and I am going to add onto what I originally wrote for this guide due to many things updated and that I learned. Mostly publishing this here so more people can see it. Many images I made of the original are missing/gone, since I do not have access to them anymore, I will try to use text. But this is made to be complemtory to the official guide: https://srpgstudio.com/english/help/index.html so I might not go fully in depth with somethings and more in depth with other things.

These are the different types of stuff to go into with this guide:
  • How to use SRPG Studio with all of the fun menus and hidden stuff.
  • Some advanced things with SRPG studio.
  • A basic overview of plugins that exist (not fully much detail, you need to look at them yourself)
  • Bare basics on Steam vs Itch.io along with some external tools on how to make stuff with this engine to make stuff outside the defaults.
  • An overview of games I made in the engine on Steam with somethings detailing stuff I used with them with the basics of it for stronger AI using variables.

Not sure how much I will update this once it's done, probably not a lot.

If you don't have SRPG studio already, I would highly recommend waiting for a sale, since it goes for 15.99 USD regularly. It's well worth it at 60, but it does go on sale often.

This will all be in English only, mainly due to being forced to use lots of images for this.

If you enjoyed this, please give it a like/favorite so more people can get read this guide when they need to.
Why SRPG studio?
Games I made in engine
Mostly a shilling part:

https://store.steampowered.com/app/2254310/Mecha_Blade/

First game I made with the engine. Lots of learning.

https://store.steampowered.com/app/2296080/Sector_598/

Was trying to be more experimental with the graphics with something smaller.

https://store.steampowered.com/app/2432630/Mythical_Agent/

This had a lot of experimentation as well with recording and acting on player actions.

https://store.steampowered.com/app/2822390/Whiteout_Frontier/

A lot of code to record player actions in game and responding to them with editing the AI and allowing the AI to be MUCH more dynamic in choosing what it wants to do and how it does things, with making sometimes depending on earlier actions, it allows for the game to be highly dynamic and personalized to the player's actions.

https://store.steampowered.com/app/3083510/Reapers_Odyssey/

A simpler game but still keeping a lot from Whiteout Frontier with a focus on map design and player choice/freedom.
Software you need
Console Exporting?
Does SRPG studio support console exporting? No. WIndows only. You could try to convert the EXE and the folder into a UWP file for Xbox, but even then that requires a lot of effort. Overall it's a no.
Multiplayer support?
As of now, unless you make a plugin based around local multiplayer, there really is no support for multiplayer at all. Maybe one day, but I don't expect it to happen.
The DLCs
File

[previewicon=37012504;sizeOriginal,inline;SRPGbook-011.png][/previewicon] [previewicon=37012505;sizeOriginal,inline;SRPGbook-012.png][/previewicon] [previewicon=37012494;sizeOriginal,inline;SRPGbook-013.png][/previewicon]



Resources


Tools


Options









Map (Toolbar)
Game Layout
Balance

Help

Steam (Toolbar)
How to upload to the Steam Workshop

SRPG world

Message Layout


Shop Layout


Command Layout


Graphics Menu


Media Menu

UI Menu

Fonts Menu (How to add a Custom Font)

You also have to go into the Database's Config 1 to Fonts to select a font for the default or for specific stuff.
Resource Location






Open Map








Enemy/Ally/Guest Units





Basic Map Events





Event Conditions











Event Commands (Event)









This doesn't cover everything, but mostly what is used. If you want to learn more about Javascript with the engine, outside Steam integration it's best in separate files as plugins than calling it in the code unless required.
Database Basics



Config and Config 2 are the ones you should focus the most on, the rest is stuff for statuses, classes, etc which gets covered a little more in other things.
Players


Basically this is playable characters, you can choose who is at the start and who is introduced later during map events.
Classes
There are three main class types (Fighter Archer and Mage) You can't add or remove these types. Then you can change what skills it get automatically, it's type, weapons it can use, and stuff for battle motions. Battle motions mostly only exists if you want a cut in, where you import it as an animation and select that animation later.
Weapons

You can control many effects a weapon can have along with who can use them exclusively and a bunch of other things to define them, like adding skill effects as weapon effects and more.
Items

You can control a lot about items with what they do, make custom stuff with Javascript with Item Type. Item Type is the biggest thing to know about since most things for options are limited with what you select.
Skills
There is a lot with skills

All of the options exist for a purpose and a single skill can only be for a single thing, unless made in Javascript where a Keyword is used or the code is written directly in it. Most things unique to the game will be done here or in the plugins.
States

This doesn't really have much outside forcing skills through them. Mostly for buffs and debuffs.
Terrain (how to import custom Terrain)

This is where you set up imported or default terrain data for where it can be passable, what can pass through them, and effects done on the tile.

With custom tiles, they must be 32x32 and there are two layers. Non-transparent will be the base layer and transparent tiles or ones that have some transparency (not all pixels will be used). So if you want to make a Table and put a vase on it, it must fill all of the pixels in an imported file and then the second vase file must have some unused space with it. Then you place the table first, then the vase second. No way to add extra layers for stuff.

Mapchip data goes in the Mapchip folder.
Config 1

Mostly a place to edit Difficulties, NG+ options, weapon types ( can chance what weapon types are strong and weak to), edit fonts, edit command strings (what shows up when selecting an event option for a village/etc) and switches/varriables in a neat place. NPC settings too.

The game options are very individual where most of the time you don't need to edit much unless you want to edit how the base AI handles some stuff. It's good to keep it on the defaults unless you need to to make enemy units run away instead of attacking under conditions, but for attacks that are made to inflict states but does no damage, certain settings will disable the enemy from doing so.
Config 2

This is mostly for editing limits and how it's rendered. Rendering it at a higher resolution will make it more pixelated/ugly, so it's best to have stuff for going into full screen or not than forcing 720p in something naively running at 640x480.
Demo map is if you export the Demo version (export a demo normally but with a switch), it will only play one map if exported through a demo with the one selected. Also max stats and more.
Animations (how to make a custom animation)
Every animation even default stuff can be edited.

To make a custom animation, copy a default one to custom. Then make a 255x255 sprite sheet for a unit. Now you can have as many animations, even more so then the default ones, as long as it's on the sprite sheet.

Then go to the custom copy and import the file after you imported it with the graphics folder for motions.

It seems more complex than what is actually is, 95% of it doesn't matter for most people unless they are making custom attacks or are making sprite sheets not in line with the default ones (recommend making a sprite sheet over an exported one from the engine). But you can do a lot with adding stuff from multiple parts of the sprite sheet and doing many things with it, sound effects, and more.
Recollection events
These are basically global events that are events you can call from any map. You can do settings for what is needed to call it and more.
Story Settings
This is mostly stuff for extra menus for playing in game music on the main menu. Also some settings with showing and hiding them. Unless you want to have a thing to talk about the cast or concept art/actual maps, it's not really needed.
Base Settings
Bases are places in between maps for shopping, getting quests, and spending stuff like bonus points (secondary currency).

You have to use switches to force one base to be used at a time, or the first one that can be used will be used. But you can make unique places and unique sidequests using switches.
Test Play
Starts the game from the main menu to playtest from the start of the game or from a save file. When in map editor mode, it will start from the map.
Custom Images and more
Instead of making multiple chapters about it, it's much more simpler than that.
1. Look at https://srpg-studio.fandom.com/wiki/Resource_Format_Guide to see how big or small a thing must be
2. Import the files into the right folders
3. Either go into resource location for stuff like UI, or into the individual places to deal with it.

It's that simple. Sometimes you need to copy a default animation or motion and then import it through that for it to work well. If you don't sometimes the engine errors out.
Game.ini and Options
This can be gotten in the FILE toolbar with Options in the TOOLs toolbar. They do the same things, but one is in the engine to select stuff and the other is an INI file to be edited with notepad. This can set many things like the default volumes, button and gamepad layouts (Automatic build in xbox controller support) and some other minor settings.

Not much to edit outside export path and automatic backup locations. Other smaller settings can be edited here as well.
Resource Layout
You can edit the default sizes for unit sprites and tile sizes. Overall isn't exactly worth it unless you really desire to have bigger tile sizes.
Map Layout
Can change how much each tile is sized. Not worth editing in most cases as most things depend on this sizing.
Map Colors
In the TOOL part of the toolbar, you can add different colors.

You can see how many different variations there are and to edit them. But adding more will force you to make more variations of battle backs and more, since they are dependent on it.
They usually end with -a (second option, -b (third) and etc.
Videos
So this has to be the default resolution you made the game in (640x480 default) or else it crashes the engine. The game has to start with a save before starting a video, but you can do a nice intro video if you want.
Setting up Initual stuff
In FILE, there is options for runtime and environment. This is mostly stuff you never need to edit or press, but exists.
Localization
If you want to translate stuff, you have to export into JSON and edit it there, which is a little annoying since you have to keep everything in the same format or else it crashes the game when imported. But it can allows you to make translations, but it's made to be slow.
Releasing
In FILE, there are three options
Project releases everything.
Patch releases a patch of changes since the last time exporting to put into a folder of the last thing exported. Exporting the project again is the same thing but with less needed.

Demo will release the full game but will only have one map playable, with what was selected in Config 2, that will only play that one map. It's pretty limiting, and selecting what you want to force into a demo end map is better.
Steam Intergration (How to add Achivements)
In FILE, click on Steam Settings. If you paid for a Steam application, use the ID you get and paste it in there, click on force Steam for a good cheap DRM. This will force Steam to exist with the game on the account to work.

To add an achievement added to Steam, go to events and add an event command to call a javascript command. Type in root.getSteamManager().setAchievement('apiname'); with APINAME being the achievement name. If any letters are wrong, it crashes the game.

You can add more, you have to look at the Steam Intergration stuff for Javascript and put it in game. Most of the use for it is with Achievements, with that single command is enough for most people.
Javascript stuff
For anything you want to know for javascript, here it is:
https://srpgstudio.com/english/api/index.html

It's mostly stuff to do in event commands. For anything bigger you need to make a plugin.
Plugins
Here is the main list of them that gets updated a lot: https://srpg-studio.fandom.com/wiki/User-Made_Plugin_Links

Read up on any you use, since some will have quirks or errors when dealing with other plugins. It's more advanced stuff, but a lot is already made. Everything goes in the plugin folder, same with anything custom you make.
Staff Roll
Tools --> Staff Roll

Basically a place to put text for a credits that you can call very quickly without needing to copy and paste it every time. Scrolling text and put it on very slow.
Music and Sound Effect Creation
I could write A LOT about this, but I will mostly be very quick with listing some stuff. FL studio is the best along with Audacity. Some other DAWs are good too. Free plugins exist, Paid are usually better for most things but are paid. sfxr.me is good for sound effects along with other stuff.

For learning how to make music. I would highly recommend learning pads and percussion first, then learning how to expand upon it.
Recording Footage
OBS is the best free thing to use. Put it in the same resolution to record the gameplay footage and then you can edit it for a trailer once done recording. I recommend muting the music but not the sound effects when recording for a trailer.
Trailer Editing
There is a lot of video editors out there, but I will say Open Shot is the most basic for most people, even though there are better free options. Put the footage, music, and some transitions for gameplay, with the gameplay being heavily focused right away in the first 5 seconds.
Custom Fonts
If you can't find or buy a good font, there is also making your own.
calligraphr.com
Go here and download a template and edit it with each letter. Import it back into the site and then build and download the TTF file and import it into SRPG studio in the fonts folder.
Cool tricks
This is mostly going to cover very basic stuff I used with my games in this engine. I use a lot more in depth stuff, but covering the basics is good for anybody wanting to use it.

Stability Variables: This is mostly for stuff like Level Scaling where you can see how strong or weak enemies are to the player and impact maps based on this data either by using extensive commands or more.

Tracking Variables: You can track a lot of certain actions to influence future ones. Doing stuff like doing a check with a variable if a certain unit attacks an enemy can allow the game internally to see how much a unit is being used, or what actions are being used. With this you can edit enemy weapons and placements and more to better counter the player's play style.

Forced Switch use: Switches to see if the player has or hasn't done something yet, to either enable something or disable something once already dealt with. This can allow for many dynamic fights where a boss can be fought on multiple maps but only killed once.

Outside Javascipt, Variables and Switches is the biggest and easiest way to add more depth to everything.
Extensive commands
This is in the event menu for the battle events. Allows for most events in the editor to be done with a single command. I highly recommend you use this and disable animations with it, as it's something that is easier to make work, allows for much more complex code, and more in engine without Javascript.
Itch.io vs Steam
Lots of platforms, but these are the main two. Itch.io is fully free while Steam is 100 dollars.
Itch.io is mostly for smaller games you don't want to put on Steam just yet, or won't, or demos. Much harder to get views and downloads, let alone purchases and donations, but you control how much you get.
Steam is something you want to make money from as it gives free visibility and more. You lose 30% to steam and more with taxes, but is overall better for paid/bigger games.
Advice about Steam
Some small advice:

  • 20 tags, you want turn based strategy and more as the top ones.
  • Set up a demo since it does help a lot.
  • Trailers have to have a focus in the first five seconds.
  • Graphical assets are important for the steam branding and more.
  • You need a really good presentation overall with making it look good.
Marketing advice
Some small stuff:
  • Find a target audience.
  • Tailor the game's marketing and presentation to that audience. Along with understanding what they want and do not want in a game.
  • Get good Steam tags and presentation overall.
Game Map/General creation tips
Some basic advice about making games in this engine

  • Use Variables and switches for many different things.
  • Presentation and graphics matter a lot.
  • Smaller maps are better than bigger ones overall.
  • Make the battle themes similar to the phase themes so it flows better.
  • Skills is where most things you want to edit will be along with states.
  • Don't reuse maps too much if possible.
Closing
Thank you for reading. If you enjoyed it then please give a like or favorite the guide.