[RUN]it - TECH OVERVIEW (so far...)


[RUN]it - TECH OVERVIEW (so far...)


The Plan....


Hey guys, Max, the Programmer here! 

I'd like to use this post as an opportunity to give you and overview of the more technical side of the project. 


Tools for development

Unity 2020.1.6 - a great free (up to a point!) game engine which we value for its versatility, assets and packages,  multitude of learning resources  and cross-platform support.

JetBrains Rider - very cool IDE which opens fast and has great built-in refactoring tools and suggestions for code improvements. 


So, what to code first?

Since a satisfying and fluid movement system will be at the heart of our game, it was a no brainer to start with just that. I'd like this project to be my best coding work to date, therefore I spent the past week researching and  thinking  of optimal ways to structure the code. 


I want it to be: 

  • Extensible - so that we can add new types of movement without having to alter the core system.
  • Decoupled - a change to one class should not require a change in another.
  • Optimised - little best practices I can incorporate to make the game run better, no matter what device we release it on.

I stumbled across some great tutorials while doing my research. I've linked some of them at bottom of the post,  for anyone interested.


Structure so far:

ParkourBehaviour  - each parkour action, such as 'wall run' or 'jump' is going to extend from this abstract class.

StateManager - this component will monitor the state of the character controller, such as 'grounded' or 'sliding down wall'.

ParkourBehaviourManager - takes information from the state manager and enables / disables parkour behaviours accordingly.

The character controller has a Rigidbody component attached to it and forces are added to make it move. The project is also set up with the new input system.

Here's an early glimpse of the movement system in action:



I've no doubts that the system will go through changes and iterations as development progresses, so I look forward to sharing the journey with you guys in future posts! 

 That's all I have for today. Thanks for reading and have a good one!

-  Max, Lead Programmer for [RUN]it


Helpful tutorials:

SOLID Principles in Unity

Unity Code Review — Refactoring Some Common Unity Mistakes

Unity Input System | How to Migrate to the New Input System

6 Useful Unity3D Things (one I just learned!)

Get [Run] It

Leave a comment

Log in with itch.io to leave a comment.