Alpha 2.4 - Space War Crimes
New release. New stuff.
What I added:
* Big optimizations for projectiles. Previously what happened was every single projectile would check every single other collideable object for a collision and that sucked for performance when there is a lot of projectiles and colliders. So to improve performance, instead of checking every collider with everything you split objects into groups using a quadtree https://en.wikipedia.org/wiki/Quadtree so that collisions are only checked between objects that are likely to collide. Previously each projectile was checking for collisions between hundreds of objects per update and now with the quadtree each projectile usually only checks 10 other objects for a collision. The behavior is the same and the performance is much better.
* Cruiser chassis - A bigger and heavier spaceship chassis.
* New weapons:
Mega Laser - A big laser
Zapper - The first weapon I've added that does area of effect damage.
The Crusher - This one is fun, when the projectile dies, it sends nearby ships flying.
Nuclear Missile Launcher -
Bomb shelters filled to the brim
Heh, survival, such a silly whim
World leaders sell missiles cheap
Your stomach turns, your flesh creeps
Invasion Pod Launcher - For invading planets
Speaking of invading planets, attacking planets has been added. All you have to do is right click on an enemy planet with a ship that has either a nuclear missile launcher of an invasion pod launcher and they will attack the planet. The invasion pod method might have less casualties than the nuclear missile method. Oh and ships bombarding the planet with nuclear missiles won't stop until everyone on the planet is dead. At that point the planet's allegiance reverts back to neutral and you can colonize the planet for yourself, hooray! Just ignore all the dead bodies and nuclear fallout. The invasion pod method is slower but can convert the planet's allegiance to yours without killing too much of the population, or something like that. Idk how it works I forgot and I'm too lazy to check the code.
I've also added the bomb shelter colony building that protects the population against nuclear missile attacks. The Orbital Defense building now actually does something, it allows the planet to fire at orbiting enemy ships with a flak cannon. I will probably give planets their own special weapon sometime later. Also the military base building had an effect added, it weakens the effectiveness of invasion attacks. I've also added exploration events that start happening after you build an exploration HQ.
Damn it I'm typing too many words in this devlog again.
Alright, next big feature is the random name generator for stars. It's a really simple name generator, all it does is read in prefixes from a text file, and suffixes from another file. Then randomly picks a prefix and a suffix and slams them together. Example: prefix - tox, suffix - bot. Name - Toxbot. That's it. This method produces some fairly pronounceable names. See the attached picture for more examples of names produced by the generator. (I'd like to live in Catnation, though others might prefer to live in Dogtronics)
Finally the last thing I want to talk about is the border visualization on the map. Also shown in the attached picture, I've added empire borders to the star map similar to any other game that has space empires and stars. Here's how drawing these borders work: First I make a big rectangle shape that has all the stars inside of it. Then, I draw this rectangle shape with a shader for each empire. So if there are 4 empires, this "rectangle" will be drawn 4 times. How the shader works is that it takes in the positions of the stars of an empire, and the color of that empire. The shader calculates a value that is basically the inverse distance (i.e. closer = bigger value) of the stars multiplied by eachother. Then, if that value is greater than 1.0 and less than 1.1, draw the borders. And if it's greater than 1.1, draw the background color. I don't think it has to be the inverse distance but whatever. It's a pretty simple shader, only 22 lines of code in total. https://github.com/pancakespeople/At-Odds/blob/main/data/shaders/bordershader.sh...
Anyway that's all I have to say in this devlog, thanks for reading.
Get At Odds
Leave a comment
Log in with itch.io to leave a comment.