Untitled 2D Role Playing Game
A downloadable game
[Last updated November 12th, 2024]
I am developing a 2D Action RPG in Godot 4, under the working title "The Escapist". The game follows the story of 4 individuals, split up into their own individual worlds, who can share their abilities with one another as they travel. However, everyone's world is almost identical to each other's, only looking different in small ways. The core gameplay will have players utilizing each character's powers and sharing them between each character to traverse through all four worlds simultaneously. The game will also have a significant battle system incorporated as well, with the fighting gameplay taking inspiration from Punch Out! The player will utilize the character's powers to dodge enemy attacks and strike back to defeat them by KO'ing them [The Battle Scene prototype can be seen in the last image on the right of the page].
---------------------------------------------------------------------------------------------
Gameplay Mechanics:
Character Switching
I programmed a system that allows the player to switch between different characters using the number keys (1, 2, and 3 so far). Switching characters also switches worlds (with Character 1 residing in World 1, Character 2 being in World 2, and so on).
I have two global scripts for managing Player and World management, titled PlayerManager & GlobalManager respectively. These scripts are written in C# and keep track of which Character and World is set (however, for now, Character 1 will always be in World 1, Character 2 will always be in World 2, and so on).
Character Abilities: Character 2 Teleportation
Each character will have their own ability, and they can share it with everyone else in the group. So, when Character 2 teleports, the other characters teleport to this same location as well. This will allow the player to navigate between all worlds at once without having to manually play as every character for each world!
Programming Player Movement (State Machines & Scene Inheritance)
For player movement, I created a base player script for code that all players will use (titled "player.gd"). I then gave each player their own inherited player script that extends from the original player script (titled "player1", "player2", and "player3" respectively).
As of right now, each inherited player script only manages their respective state machines for basic player movement. However, the player's scripts will inevitably grow as I continue to implement each character's own abilities that are exclusive to them.
---------------------------------------------------------------------------------------------
Art
I am using free assets for now, mostly assets that I can find on Itch.io.
Eventually, I will commission an artist and adapt my game to their art style when I feel the game is ready for this next step. Every world will have a consistent art style, however, the color pallets for each world will be unique and have its own theme.
---------------------------------------------------------------------------------------------
Programming & Development
The game is being made in Godot 4. Most of the scripts so far have been developed in Godot's native language, GDScript. However, recently I have decided to begin incorporating C# into my development process, as this programming language is more universal to other game development workstations such as Unity, and is used almost everywhere in the game development industry. I have began to "adapt" my Level script (originally written in GDScript) into C#, and will continue to use C# over GDScript whenever possible. However, the game as a whole will most likely use scripts from both languages.
Here is the C# adaptation of my Level script that is still being written [Outdated as of 11/12/24, will update soon!]:
https://gist.github.com/Jea2933/8ebd0adca2e1e90d9da105868f965dec
For reference, here is the original Level script, originally written in GDScript:
https://gist.github.com/Jea2933/1924600d5c4db092f4759aab975ac880
---------------------------------------------------------------------------------------------
All Scripts [Currently outdated as of 11/12/24, will update them soon!]
Game Manager Script: https://gist.github.com/Jea2933/5c967d25942f311149db125f92fa25fb
Level Script:
https://gist.github.com/Jea2933/1924600d5c4db092f4759aab975ac880
Main Player Script:
https://gist.github.com/Jea2933/cd7ac78ba11e8f2c5d90eaac862637b4
(The following scripts are almost identical, but are put here for reference)
Player1 Script:
https://gist.github.com/Jea2933/2e6448acd3f724e3cd1f4f58005af0e4
Player2 Script:
https://gist.github.com/Jea2933/6705163481ea27c13b07761216dca37d
Player3 Script:
https://gist.github.com/Jea2933/4501bf79d98c25e8f7b65931df6a1852
---------------------------------------------------------------------------------------------
Updated | 7 days ago |
Published | 12 days ago |
Status | In development |
Author | Jacob36 |
Genre | Role Playing |
Download
This game is currently unavailable
Development log
- Untitled Role Playing Game Devlog80 days ago