🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

New game – a small Rick Henderson Spin-off

Published July 14, 2021 Imported
Advertisement

While Rick Henderson is happily being ported for Xbox, Playstation and Switch, i decided to make a small spin-off game that will be free for all existing and new Rick Henderson owners.

It will be available to buy separately and i have yet to decide on pricing, but it will be somewhere between $0.25 and $0.50. What, am i nuts?

Consider it a small experiment, i want to see how much traction and sales can a small and cheap game get while also exploring the potential of getting one small game for free when buying the more expensive one and the potential of the gamer getting interested in Rick Henderson when playing Rick Henderson: The Eternal Arena (working title).

What is the game all about

So, in a nutshell, the premise is quite simple, think of it as a mixture of Rick Henderson, Bit Blaster and Asteroids. The game is one screen, the view is top down, the waves are smartly randomized (separated into invisible levels of progression by score) and the ammo is limited, but ammo pickups are flowing into the screen at all times, while you also get some more when killing enemies. But you need to be a good shot, not just trigger happy, otherwise you’ll run out of ammo.

I am drawn to add more and more stuff to expand the idea, but i’m afraid i will get into the scope creep and that the development will take too long so i’m taking it simple, working on the core loop and i will add features as i go and see fit.

Assets and systems

One of the perks in having a game behind you is all that sweet, valuable assets that are already polished and selected. I will be reusing the backgrounds (which are roughly 50% of the cost of the original game), enemy ships (i am simply mirroring the appropriate ones by horizontal axis, retouching them a bit and placing them into the game), weapons, sounds, translations and most important – systems. Reusing already polished systems save a ton of time and that’s what will make the game possible to finish in about month or two. But this time i’m doing it even smarter, modifying stuff to be 100% modular so i can just copy/paste stuff and tweak parameters via inspector.

Basic Mechanics

We start with the movement. Here is where i hit the first wall. It was quite easy to make a typical BitBlaster movement system: ship always goes forward, you rotate it to alter the movement direction and press back or forward for boost or slowdown. Boost also affects ship rotation speed (you turn faster) while slowing down does not. However, i found that this system of movement is not satisfying (a bit boring tbh) and i will go with the typical asteroids feel (space drifting) using physics and adding the relative force with a slowdown when releasing the move forward button. This type of controls adds a higher skill needed threshold to the game (which might or might not be good), makes mastery of it important (which is good since improving you control skills make you better) and allows for some more fun mechanics to be explored. Also, stuff like drag allows for more differentiation between playable ships. Plus, it’s ~300% more fun as opposed to the movement system i explored first.

However, hitting the game bounds is quite easy when space drifting and it can be quite frustrating to die this way, though it can be mitigated by bouncing off the wall and losing a hit point instead of dying. Also, making controls tight and responsive using physics can be really tough, and when playing with drifting in a tight place, controls also need to be tight!

Big issue is that the game will need a lot of refactoring from OnCollision2D which i’m using for all sorts of collision in no physics movement method as to OnTrigger2D since i need to use the dynamic rigidbody for the player for physics space drifting movement.

However, i found that using the physics (unless you are making a physics based game) is a bad idea since it’s a constant battle with the physics system, so i will ne simulating the force and drag instead of using it ouf ot the box. I’ve yet to see how will i accomplish it since there is a remarkably low amout of info on this matter on the internet amd my math and physics skill are not top notch, to say the least.

Enemies

Simce i don’t plan for games to last too long (few minutes tops, i’m aiming for “Ok, let’s play one more. And maybe one more.” not too many enemies will be included in the game. For now i have a small asteroid, a basic floating rock that dies to one hit of a basic weapon, big asteroid that is a bit tougher amd breaks into four small asteroids, Ripper (homing enemy from Rick Henderson, a huge rotating saw slowly following you), Hunter Seeker (a huge bomb with an engine that stops when you enter its range, stops and then charges towards player’s last position and then explodes), Enforcer (big guy that is a bit tougher to kill and shoots targeted bullets) and Katori which shoots non-targeted 8-way shots. I will probably be adding some more enemies, also from Rick Henderson.

Weapons

To motivate players to switch weapons and help them not die when they run out of ammo, picking up new weapon will also get you more ammo.

Pickups

Not much to say here, besides ammo, there are boost/brake refillers, shields, bombs and magnet.

Different ships and special abilities

Haven’t done anything yet regarding this, but it would be nice for the player to choose between multiple ships. Like in Rick Henderson, i think three should suffice, light and fast, slow and heavy and balanced in terms of speed, acceleration, drag and lives. Also, special abilities for each one would be cool and add distinct character to each one od them (see more in Feature Creep).

Scoring System and Progression

I am kind of reusing the system from Rick Henderson on this one – enemy health == enemy score. Level progression is kind of an ease out curve to compensate for the steady rise of enemy health increasing through the game (as more powerful enemies are appearing). After a first few small asteroids and hitting a score of 100, large asteroid spawners are being activated and spawn times for small asteroids are being recalculated to avoid swamping the screen with enemies. When hitting the next score threshold, next enemy spawners are being activates with previous levels spawners spawn times being recalculated again. This way we can fine tune the number (not too many, not to few) and power of enemies on screen (not too powerful, not too weak).

Issues

One of the main issues i have is readability. BitBlaster sports a simple look with no background and readable colors. Rick Henderson – not so mich. While the original game is relatively good in that regard, the new game looks a bit messy with colorful backgrounds, debris, bullets and pickup flying all around. But i will make it as i intended it to be and let the players be the judge od that.

Feature Creep

As usual, this always poses a threat as ideas appear during the tenure. The best way is to keep working on the core loop, fine tune everything and the add the next simplest idea you have to try it out.

Ideas i currently have are:

Multiple playable ships. Pros: gameplay diversity for different players’ style. Cons: lots of refactoring, additional menu for ship selection, hard to balance the game for the players to have similar chance of shot at leaderboards.

Special abilities:

Additional pickups

Read more

0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement