I’m currently in the process of creating my own first one-level game idea from scratch – a 2.5D platformer somewhat inspired by Inside. The game will have a 3D character and 3D graphics moving on 2 Axis (X and Y). I’ve worked through Ben’s 2D course years ago and studied general OOP programming methodologies so I’ve got programming skill and I comfortable breaking things in Unity. I currently teach High School computer science, game development, and app development.
I need help approaching the first step of my prototype: the character controller. I don’t want to use a pre-built solution. I have Corgi, for example, and I’ve watched a tutorial on doing this kind of thing in Playermaker but, I really want to build this on my own, from scratch, with a little guidance so that I come away understanding how the system I write works. There seems to be a big gap in my understanding here of what exactly I need to build or do. I’ve been scouring the web but nothing I’ve found really helps me think critically about what I need to do next.
Just to reiterate, I’m not looking for the answer or free code. If you guys can recommend a guide or even help me come up with a list of problems I need to solve or some basic pseudo-code that would be awesome. Here’s the functionality I’m looking for:
- Character is constrained to the Z axis (or X).
- Left/Right arrows turn character around if facing the opposite direction of the key press (or joystick or whatever.)
- Left/Right arrows move the character left or right, activating the animation / blend tree state of the character ( or cause the state to activate and move the character via root motion.)
- Character can jump
- Character can crouch
And that’s it for the basics. I’m not sure exactly how animation plays into scripting with root motion or activating animations, etc. What I am essentially asking for is: how do I begin to prototype this character controller? What are the things I need to be looking at doing from a to-do or pseudo-code standpoint? For example, I know how to use Translate or AddForce but those aren’t really appropriate in this scenario (or are they?) How would I go about getting the animator to move the character or would I move the character from script? Any help is much appreciated!