The Beginnings of an Upgrade System

One of the core features of Ladon is the ability for the player to build a better and better ship. Until now, the only way to do that was by adding new tiles. I found that this type of “upgrade” is too coarse. If you start with one laser and the first upgrade you can make is to build a second one, that’s a 100% increase in firepower. It needs to be more gradual in the early stages, and more drastic in the later stages. An exponential curve does exactly that.

Continue reading “The Beginnings of an Upgrade System”

Asteroid Mining that Feels More Like Mining

I spent a lot of time this week on generating asteroids with more realistic sizes and making them produce “drops” more realistically. Instead of the whole asteroid breaking apart all at once, it now steadily drops resources as you mine it, until its hit-points reach zero. It’s slow and feels like work, which is good! There’s your motivation to build some bigger guns.

Continue reading “Asteroid Mining that Feels More Like Mining”

Beams!

It’s not just “pew pew pew” anymore – now there’s also “bzzzt bzzzt.” This forced me to right a whole new class of collision detection shapes. Up to now, everything was treated as a circle, which is easy. For beams, I just had to add line segments and the test for collisions between lines and circles. My collision algorithm uses a sparse grid implementation, and testing a line segment against a grid was a little tricky. There’s a subtle bug in there somewhere because sometimes I see collisions being missed…

Check out beams in version 0.3.7.0.

Ladon’s First Pre-Alpha Release!

I did a lot of code cleanup this week in preparation for the first true release of Ladon. It’s a “release” because it’s actually going out to people, but it’s still very far from being an actual game. My very generous friends have volunteered their time to play around with Ladon at this early stage and share their feedback.

The version is 0.3.6.1 and I went through a heavy code cleanup. The on-screen text is now using the 3D text class I wrote recently in the BabylonJS forum, which was a huge performance improvement.

If you, dear reader, would also like to play the early version, you can do so right here and you can leave feedback in the comment section, below.

“Going Pro” as a Game Developer

It’s not the writing part that’s hard. What’s hard is sitting down to write.

Steven Pressfield

That’s a quote I came across a few years ago and it really stuck with me. Mr. Pressfield was talking about actual writing, as in novels, but it applies to any creative pursuit. With a game, the hard part isn’t solving the various algorithms, creating the artwork, or even the game design itself. The hard part is sitting down every day and just doing the work. Yesterday, I did what he calls “going pro.”

Continue reading ““Going Pro” as a Game Developer”

Particle Systems

I added some particle systems. BabylonJS makes this really easy. It’s currently just some sparks when the player’s bullets collide with a rock, but I’ll eventually put particles on just about everything because it’s one of the highest “bang for the buck” visual features.

Version 0.3.4.0 here.

Pseudorandomness

I’ve replaced the pure randomness in Ladon with pseudorandomness. If you’ve played it at all before now, you probably noticed that each time you played (or even just refreshed the page) the rocks were in a different place, the colors changed, and the resources you found were completely different. That’s because I was using plain old Math.random() to generate everything, which gives random numbers based on some internal system clock. Now, I’ve replaced that with a pseudorandom algorithm.

Continue reading “Pseudorandomness”

Building with Hexagons that Don’t Look like Hexagons

It’s no secret that the hexagon is the basic building block of pretty much everything in Ladon. The obvious easy choice would have been squares or cubes, but the world doesn’t need another Minecraft lookalike. Hexagons are a little tougher, as far as the math, but I find them a lot more interesting.

Continue reading “Building with Hexagons that Don’t Look like Hexagons”