Author: admin (Page 1 of 4)

Small Updates

Finished making the game multilingual, and fixed some issues with the tilesets.

Now, the window titles are still only English, as those are in the graphic. Also, they won’t all fit, unless I change the design. Some of the words are ridiculously long, for example, the French word for “save” is “sauvegarder”. Now, I could just use “sauve”, but that might sound odd to French speakers, as “sauve” means “to rescue”. At least that’s what I was told.

Multilingual Text

Started to set the game up to allow text in multiple languages. Spoken audio will remain English only, but written text will be available in English, German, Spanish, French and Italian (currently). The latter three will be translated via AI.

Restarting small

Testing out a few things, like the 3rd boss. Still buggy, for example it didn’t know when it was dead.

Also got an idea for the next boss. It’s not gonna just try and kill the player, rather it’ll try to capture them in between two parts or something like that. Would fit well with the story.

Anyway, here’s a video of a test fight with the 3rd boss. I might change the cover to something the boss can destroy (maybe some shields that eventually break down and, after a few seconds, appear again).
In the end the boss disappears into the wall. That is not a glitch, the boss found a piece of fake wall which I put there to test something else, and forgot to remove.

Moving forward…

So, development was on hiatus for almost 3 years. I had issues with the game’s physics. Essentially, when the ship collides with a wall, it’s supposed to bounce off, angle of incidence equals angle of reflection, that sort of thing. However, instead it almost always bounced off exactly perpendicular to the wall, no matter the angle of incidence.

Now, I’ve previously been unable to solve this behaviour. I eventually concluded that this is an issue with Godot’s physics engine. As a result, the only solution would be to try and find someone who knows a lot more about Godot and programming than I do, and have them write completely new physics for me. Yea…

Now, thanks to the recent advances in AI, I was able to solve it. Or rather, a certain well-known LLM pointed out my actual mistake. Mr. Smartypants over here confused friction with drag and turned it up to max, when it should have been at 0.

Friction applies when two objects slide along each other (or in this case, the player along the wall). With the player’s friction set to 1, the player’s velocity parallel to the wall was immediately reduced to 0, so, of course, once they bounced off, they did so exactly perpendicular to the wall.

Right. So, moving forward, I will now go back to working on the game. My posts here will likely be more sporadic, but this is a passion project which I intend to finish.

Here’s the gist of the game’s current state

What is done:

  • Enemies are done
  • 6 levels and 3 bosses are done
  • Interface is done
  • Game mechanics are done
  • We can save and load in between levels
  • We have options to change volume and rebind keys
  • Keyboard/mouse and controller support

What I still have to do:

  • 9 more levels
  • 2 more bosses
  • More tilesets so the levels don’t all look the same
  • Balancing and polishing
  • Music (unfortunately I don’t have the budget to hire Leonard for all the music)
  • Testing
  • Figuring out how to release it. Not sure I want to do Steam…

Second Boss

Original date: August 24, 2022

The second boss is now finished. It’s probably a bit unbalanced but we’ll see.

Since 6 levels are now complete, I’ll have the beta testers take a look.

And no, it’s not a Borg cube.

Final Boss and Cheats

Original date: August 19, 2022

Bit early perhaps since there isn’t even a mission for it yet, but I had an idea for the final boss fight, so I started working on that. The music track for the fight is pretty awesome, too (Leonard again 🙂 ).

Also spent the evening implementing cheat codes. Mostly for beta testing, but I’ll probably leave them in. I’m especially happy with the input window. Cheat codes have gone pretty much out of fashion these days, but they were quite common back in the day. There were cheats for Shadow Wraith as well.

So far there are 5 cheats and one to undo all cheats. If a player used a cheat, this will be marked in their saved games.

Oh yes, the boss I mentioned two posts ago? Done.

New Player Ship

Original date: July 25, 2022

Decided to change the player graphic. It was a pre-made model and I was told it wasn’t easy to tell front from back. Changed it to something new. It’s even animated.

Kinda like the idea of different player ships. Maybe next game.

Dragon is working

Original date:

Okay… so this nearly drove me crazy.

The walls of the levels are made with tilemaps. I have, for example, a bullet that is of type Area2D and when that bullet registers a collision with the wall/tilemap, it deletes itself. Simple.

I used exactly the same way to detect a collision with a probe object that would tell the Dragon if there is something in the way or not. Basically, the dragon randomly chooses a set of coordinates to jump to and spawns a probe object at those coordinates. If the object collides with something, it sends a signal to the Dragon and suicides, then the Dragon tries again. If no signal is received, the Dragon goes ahead and jumps.

However, whatever I did, the probe would not register any collisions with the tilemap. How can it be that if you do something, it works, but if you do it again, it doesn’t? I checked the settings, they were the same. Collision mask, code, everything.

What eventually made it work was to tell the tileset to handle collisions as if it was a kinetic body rather than a static body. I have no idea what exactly that does, especially since tiles cannot move, but when I checked that box it works. Strangely enough, that was NOT necessary for the bullet thing to work.

A possible explanation would be that even though it’s the same detection (on body entered), it makes a difference wether the object moves against the collider or spawns inside of it.

Well, it works now. I just need to remember to check that box in the future. And to keep an eye out for any possible changes in behavior.

The Final Enemy

Original date: July 02, 2022

dR46o11.io.exec “Dragon” is the final enemy I’ll add to the game. This guy is able to teleport around. He’s not entirely finished yet, as he still tends to teleport into walls. Currently working on preventing him from doing that.

Also started working on the next boss. Not entirely sure wether this will be the second boss or a later one, but he’s coming along fine nontheless.

« Older posts

© 2025 Cyberwraith Devlog

Theme by Anders NorenUp ↑