Unforeseen technical difficulties
The quest for good enough texture mapping
You may have noticed a pretty long pause in this blog. Well, I’ve run into quite a snag.
In The prototype before the final prototype, I’ve talked about the last few technical things I’d like to implement.
- Full support for PCM sound effects on DOS and SDL2
- Support for analog controls on PSX
- Rework entity construction to avoid loading screens between waves
- Fix the long standing texture mapping offset bug in software renderer
- Maybe improve win32 opengl11 performance
While I did come around to implementing PCM, analog controls and better loading, I’ve left out one crucial thing: Fix the long standing texture mapping offset bug in software renderer
I’ve ignored this bug for a long time and decided to ignore it yet again when rounding up my engine-focussed “proto” phase. This came to haunt me when implementing text displays, meant for basic gameplay hints. They just looked horrible:
This led me into a rabbit hole of tuning and tweaking, finding many subtle bugs in not just the software renderer, but the PSX one as well. Turns out: Implementing precise maths using fixed point calculations is hard - especially if you absolutely need to land on precise integer values at the end. Who would have thought!
But, alas, I did manage to manipulate numbers in just the right way to pass all my tests and make things look like they should:
You can’t win, but you can loose
The game now actually considers your energy (it just showed it previously). You will loose a life when it depletes. Loose all lifes - game over. As simple as that! There is no win condition yet, however
I’ve also done some very basic balancing. More of that to come when finalizing this development phase.
Gameplay tweaks
There are now invincibility frames after getting hit. Charged shots can now shoot through multiple enemies - making defeating multiple smaller ones and cleaning up asteroid fields less tedious.
Basic progression
There are now a few levels. First a very basic introduction, then a few easy enemies. The charged shot comes in form of a pick up a few stages in. More to tome!
Things to come
The texture mapping thing was a major setback for this project for two reasons: First, it made me return to low level rendering stuff when I was planning on working on the game itself. Second, and more importantly, fixing this took a very long time.
I hope to get back on track. I currently plan to release about 2-3 more “preview” phase builds before preparing the final one. Stay tuned!
Files
Get sgame
sgame
More posts
- The first preview28 days ago
- The extent of Windows API compatibility34 days ago
- Technical roundup49 days ago
- The prototype before the final prototype63 days ago
- Exercising the entity system77 days ago
- Prototype 284 days ago
- Let's start an experiment91 days ago
Leave a comment
Log in with itch.io to leave a comment.