Hey all!
I wanted to share a little game I've been working on ovet the past couple of days. As I mentioned before, I want to get into game dev, for small little projects that I feel like doing.
Noice Noise is one of these projects. It is my take on a twin stick shooter. Nothing groundbreaking, but I hope I can make a fun little timewaster.
I always like how Vectrex games looked. So I wanted to make my game look like it. Which also means, I do not have to actually make any graphics. Everything is just stored as coordinates from which the object on screen are rendered.
I am writing the game in pure JavaScript, from the ground up. Which means I am writing my own little engine for it. It removes further baggage from a simple little thing. In the end, I am pretty sure the whole thing will fit easily on a floppy.
As I said, my objects are stored as coordinates, from which I contruct the graphic on the canvas by drawing from one line to the next.
So: P1 -> P2; P2 -> P3; P3 ->1, for a simple triangle for example.
I set up the game loop, made a render function for my Wireframe-Objects, and put in a little movement system with WASD.
It sucked. The movement is clunky, and I don't know why I even coupled the rotation of the player with the movement vector. For a twin-stick shooter, that makes no sense.
Here is how it looked on the first test.
So. Not good. I then gave up trying to make the game work with the keyboard entirely. That is a problem for future Cass.
I went to work on implementing a mapping for my controller, and bound the player directional movement to the left thumbstick, and the player direction to the right one.
This was already much better.
Next I put in a button for boosting. For now it's unlimited, but I will add a refillable fuel gage in the future.
Awesome. Now, the last thing I did before the dreaded nexr step, was to make the player be able to shoot.
Works, great. I initially forgot to remove the bullets once they left the visible canvas, which led to the whole thing dying after a minute of shooting. Whoops.
What's next?
I need collision detection. And I am pretty sure that's going to take me a few days to iron out. Since I am working with simple geometry it's certainly possible to make the collision detection pixel perfect.
I just need to find a way to not compare every single object on screen with every other object.
But that's a problem for another day.
I am quite happy with the progress so far. And I am really enjoying the coding exercise. Building it from the ground up by myself is making it feel a lot more like my own little baby.
Tomorrow I'll be back with a random topic I guess.
Have a good one!
-- Cass