The Aspen's Devlog

First concepts

Finally, I got something to show up


The unexpected problem

I was testing my very first spaceship prototype when I noticed that the player's character's (or vehicle's) movement was a bit off. I mean, it was a bit funny looking when the spaceship was looking to the left, but it was still moving up only because I was pressing "W" from my keyboard. Should the spaceship move where its cockpit is directed? Like the engines thrusters should determine the movement direction, not which key I was pressing, right? Then I realized that the whole movement system for the player was way too simple in its current state.

So, how do I fix this? The spaceship should rotate automatically in the direction in which it is moving. Ok, that was not so hard to implement, but still, it was not quite there yet. It just did not feel right, or would I say realistic (Alas, I have not flown a spaceship.), but it just looked a bit weird when the spaceship immediately changed its rotation when I'm pressing any "W A S D" key, which is controlling the ship's movement. Then I thought, Should it act like a car? When you press the movement keys, it should add force to the direction where the ship is looking, but at the same time, it should maneuver the rotation in the desired direction. Also, it should not stop immediately when I release any pressed keys but rather start slowing down its speed, like braking with a car. And there it was. After implementing that, the movement felt smooth and (relatively) realistic.

And I only noticed that because I was testing a layout prototype. When the player was a simple shape, this was not a problem at all, but when I changed it to look at least somewhat like a real-world object, my brain was expecting a certain type of behavior. This also gives me the opportunity to create different ships with different maneuver speeds!

It is hard to show this in action, but I hope the following gif gives some perception of what I mean.

Movement demo

Weapon concepts

Now that I have started sketching and prototyping graphical stuff, the basic five weapons that I have planned are coming together. I also got the idea to use colors here to represent the weapon level. In this game, there are three levels for each weapon: the 1 is the lowest, a basic version of the gun, and the 3 is the best version of it. Here is an example of what it would look like:

Level 1 gun Level 2 gun Level 3 gun

So the green is the basic level gun, the blue slightly better level 2 gun, and the red one is the most powerful level 3 gun. (The red blast is not done yet, which is why it is missing.) All weapons are going to follow these same principles, and it's a cool way to add details to the weapons too.

Here are some other concepts about the weapons:

Minigun Shotgun

And how about coding?

Lots of code has been done regarding animation handling and such. The power-up system is also done. Now I only have to do the actual power-ups, but the "engine" is there. Bug fixes are also done here and there. I'd like to keep things working, but the problem is that when you start fixing a minor bug, you notice that there is another bug, and look, that other thing is also broken if you do things in certain ways, and now you are on the sidetrack in the bugtrain. Maybe I should start to report bugs I find to some other system and keep track of them from there. I don't know; maybe that is just extra work? But if I fix them right away (what I'm doing now), the risk of doing lots of other things than what I was planning to do is huge.

Everything is going onward, at least, and I found out that this pixel drawing is actually kind of fun when you learn the basics.

That's all for now. Thanks.

-Teemu, TheAspen

13.03.2024