I added wormholes, which are currently just a glowy circle that you can touch to travel very far, instantly. These will serve as “levels” in the game. Defeat the boss, a wormhole opens, and you can travel to the next area. But there’s no hard requirement that you have to do it that way. You can just fly from the Earth to the Moon directly if you like. I think it’s cool to have the fully open-world option as a different way to play the game.
Try it out in version 0.5.3.0.
That hideous image at the top of this post is the solution to a “quartic” equation. That’s just like the “quadratic formula” that you learned in high school algebra class, except the quartic has x4 in it, instead of just x2. In order to create realistic paths for things that accelerate, I took on the challenge of simplifying that monster down to something useful.
Continue reading “Using a Quartic Equation to Find Parabolic Projectile Paths”
With the foundation essentially done, I’m starting to nail down the specifics of the game, like “Where will all the enemies be?” and “How will the player progress through each level?” The primary tool for level design (to the extent that Ladon even has levels) is procedural noise.
Continue reading “Procedural Noise that Covers the Entire Solar System”
I initially used
Continue reading “Using IndexedDB for Save-Game Data”
localStorage for storing they player’s save-games. That works, but has a size limit of about 5MB (although it’s hard to find consistent documentation on this). Ladon’s save data can grow well beyond that, so I started looking at other options.
The first time I decided to make Ladon was somewhere around 2010, I think. It was just an idea for a hobby project then. I was working full time at an engineering start-up and had a very small amount of time each day to work on a hobby project. I made some progress but abandoned it pretty quickly.
Continue reading “Yet Another Thing I Wish I Had Known Before Starting Ladon”
I spent some time cleaning up nagging performance stuff and got the framerate back up over 200 FPS during normal gameplay. Also discovered that if you die (happens if the cockpit of the ship is destroyed), the game crashes. You say “bug,” I say “feature.”
Check out version 0.4.5.6 on the releases page.
I finished another really difficult chunk of work. Enemies can now damage your ship, the damage done is saved, and lots of bugs are fixed. It was so exhausting that I don’t even feel like going into all the details!
Instead, I just want to mention this incredibly insightful and somewhat saddening bit of wisdom that I came across:
Continue reading “What Happens If I Actually Finish This Project?”
Everyone who has played Ladon, so far, has mentioned that it’s difficult to tell which way they’re moving. My initial thought on that was, “well, yeah, that’s what it’s like in space.” It’s true; there isn’t any way to measure velocity in space, unless there’s an object nearby. I hesitated to add the grid because I wanted the player to feel that enormous emptiness of space. In the end, though, having a game that’s fun to play is more important than having a 100% accurate simulation of reality. So the compromise I went with is a big glowy grid, which I can explain away as being generated by the ship’s navigation system, a hologram, yadda yadda. And for the realism purist, there’s an option to turn off the grid in the menu.
Try version 0.4.5.1 on the releases page.
It took about a month to get all the “foundation” pieces built, like procedural generation and entity state management. With those done, I was finally able to add some enemies to battle. They are loaded and saved along with all the space rocks, using all that foundation stuff.
They can’t hurt you yet, because the player’s ship has no collisions and no hitpoints. But they’re fun to shoot at and they have a nice explosion effect. Mining and combat are the two big pieces of gameplay, and those are both working now. That’s a relief, but I am way behind schedule. The end of March will be the half-way point and this game is not half done.
Mine some resources *AND* blast some baddies in version 0.4.4.1.