Movement System Implementation

Going through the “just start making games” phase and I’d love to know how game developers start a project. I’m currently starting a project of my own, a boxing simulation with RPG features inspired by Hajime no Ippo and the Fight Night games, with a training system and stats, all with their own mini-games, along with dynamic training (e.g passively training stamina by running).
The game’s design is mostly done, and I know certain systems will interact with others, such as combat and movement interacting with the stat system, which makes me wonder how I should approach developing them.

Starting with the basic/default movement system, that splits itself into four types:
• Walking - standard movement with the [WASD] keys;
• Jogging - faster version of walking, toggled by pressing the [LShift] key while walking;
• Running - faster than jogging at the cost of draining stamina. Its input is double-tapping and holding the [W] key;
• Dashing - the fastest movement type with the fastest stamina drain, activated by holding the [LShift] key while running.

Now, of course, a player that has just started the game and hasn’t even joined a boxing gym won’t be able to run for as long as a professional boxer, nor will they be faster, for they haven’t trained any stats. Movement itself will interact with the stat training system, so should I first implement stats and stat training, and then movement? Or should I implement movement, and then, after adding stats, change their formula to depend on their respective stat?

What I’m curious about is how would that be implemented for a full game, rather than just scripting a system for fun.
What I truly want to know is the difference between coding something for no purpose other than practice, and coding something for a game. I have no idea on how a game developer organizes scripts for a full-fletched game. Do they just script each mechanic on their own and implement feature interaction (if needed) after everything is finished?

Please let me take a look at how a game developer approaches developing a game!

Thank you in advance.

2 Likes

When scripting, the script is altered all the time until the creation of the game. You may be working on a minigames system and then realize that you can save time by adding x to the movement system, and so you go back to the movement system and edit whatever you need. Also, I recommend you put the game into a framework; you can use Sleitnick’s Knit or just build your own (which I like better). Usually, a scripter might take on multiple scripts at once that intertwine together, but be careful not to do too much. In order to implement a custom “Movement System”, its more of the animations that give it that custom look. Really all you do is just build off the already existing roblox physics, but some game do use complete custom physics due to having custom characters. Feel free to ask me any other questions you may have or to clarify anything

2 Likes

When I make my games, I start by coding the foundations for the most important systems in the game, like the combat in a fighting game for example. Now usually, the game’s main mechanics don’t work without a lot of supporting ones, like stats in your case, so many variables are left as placeholders until those systems are developed. Once the main systems are developed enough, the supporting mechanics are developed and the placeholder values are removed.

2 Likes

That’s comforting. Somehow, I expected developers to finish the entire game’s design and start development with whichever feature has the most interactions, and only if needed, alter the game design and/or features. Not being exactly aware of whatever workflow developers would approach a game worried me.
Thank you for the reply!

2 Likes

That I’m aware of, though I have no idea on how frequently I’ll be editing scripts during the whole process. Thank you for the answer!
Never even though I’d need a framework for this, will definitely start with one since I haven’t ever made a full project until now, and mine is quite ambitious for someone who lacks the skills (yet).

Abusing your kindness for a second, would you mind showing me how you personally organizes the script folders? Perhaps how your map building is organized as well? Just so I have a better reference in my mind when doing it myself. Once again, thank you for the reply, will try Sleitnick’s Knit!

For building I have it something like this
GameLogic (Folder) →

                              Grabbables
                              Debris
                              NPCs

Then I create another folder called Assets, this is where I store any Visual stuff that are not required by ANY script, such as the map. I personally don’t use knit and just choose to use my own, so it would be formatted differently by itself.

1 Like

the only advice I can give on this is to try to make things as modular as possible. make things work with each other in a friendly way :slight_smile:

1 Like