Test your puzzling and agility skills while delivering packages with a spaceship. Maneuver through space caverns and solve puzzles, while managing your fuel levels and fending off dangerous alien technologies. Rocket Shipment is inspired by Crazy Gravity and retro games like Gravity Force, Moonlander and Thrust, where you fly and land spacecrafts all around dangerous caverns.

Post news Report RSS My experience so far programming a game from scratch

Building your own engine is not the choice for everyone. This is my take on doing it and why I love it.

Posted by on

Localization, a save and load system, encryption. So much work that is not visible to the end user.

I sometimes underestimate the work that still needs to be done. Just when I think I see the end of the tunnel, a new subsystem needs to be programmed.

Collision detection

A collision detection system that I programmed early on


I love it though. I love the intricate things I need to think about, the way I have to carefully plan out every system so it not only works well, but is also easy to come back to later.

Making a game from scratch is a long and tedious journey, but it definitely makes me feel like you can program anything. Not because I feel like an expert or anything, but because I experience time and time again that I tackle complicated problems by logical thinking and perseverance.
I solved complex challenges that frightened me by patiently trying out different things and reasoning logically. Experiencing this again and again, really boosts my self-esteem as programmer.

Crate madness

Annoying issues with crate colliders


Crate physics

Result after hours and hours of trying solutions


I read a lot of different advice on programming your own engine. Most of it boils down to the question: "What do you want to gain, doing this?". And I agree, this is the question it is all about.

If you want to make a game quickly, don't do it. But if you want to build your skills as a programmer, and make a game in the process without a hard time limit, go for it!
It will surprise you how much there is to a game engine. Initially I thought it would be something like a renderer, save/load system, physics system and sound system, and that would be about it. But boy was I wrong. I only scratched the surface.
Localization, Tiling, Scene managing, Animation, texture managing, sprite managing, spritesheet managing, a GUI system, Math and geometry utils, the list goes on. There is no overestimating a custom engine, I learned that pretty quick.

Parallax background

Parallax background before I created multiple layers of stars moving at different speeds


Yes it is much easier to pick up Unity3D and not even have to think about most of these systems, but there's one massive advantage that Unity3D, or any other engine for that matter, cannot give you, and that's transparency. There is no part of my engine that I do not understand.

Any part that was incredibly complicated has been programmed and sufficiently documented by myself. I know exactly what my engine is doing, when it is doing it and why.
There is no black box in the game. When I find an issue, it always comes from MY code. If there would be an issue in a black box, you're screwed!

Cable retraction

Physics system, cable system, collision system, parallax system, animation, all my work is in here!


No disrespect to the commercial game engines of course. I programmed my first games in Unity3D and I'm glad I did. I would never kept programming games if it would be this hard.

Commercial engines do the tedious and complex stuff for you and leave you mostly to the fun parts.
I just wanted to know how it all worked, and I also wanted a non-graphical engine to program my game in.
I'm glad I took the path I'm on and I'm exited to keep working on this project.

Start menu localization

Basic localization test. It proved a challenge to integrate Chinese, Japanese and Korean.


If there is one lesson I learned until now, it's this:
There is no school like experience, so don't be scared to follow your curiosity and remember to have fun in the process!

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Icon
Rocket Shipment
Platforms
Windows
Engine
Custom
Contact
Send Message
Release date
Game watch
Follow
Related Games
Related Engines
SFML
SFML Zlib
Related Groups
SFML Developers
SFML Developers Developer