Update to v1.25 Final Update


Hey folks!

This will be the final update for this project.

If you haven’t played in a while, now’s a great time to give it another try.

I was originally planning to add a graveyard and a few other things, but I’ve hit the point where my motivation for this specific project is starting to fade. 

And honestly, it already works well as a complete (if short) game / tech demo for my engine.This update adds directional sprites for the enemies and a few other tweaks, one of the big things Wolf3D had that my engine didn’t, until now.

From here, I’m going to move on to a new game. Not sure yet if it’ll use this engine or something else, but either way, this engine is now “done” and in my toolbox for future projects.

I’d love to make something more in the vein of an Ultima-style RPG, and I’ve got a whole book full of ideas: maybe a horror game, another shooter, or some kind of Elder Scrolls: Arena–style RPG.

Not sure what’s next yet, but something is.

Anyway! Thanks for playing!


Short Post Mortem!

I’ve been working on this project for a while now, since around July, I think.

It started as a personal challenge: can I write my own raycaster that runs in the browser without external libraries? 

Somewhere along the way it turned into a full-on game engine with a level editor and everything.

Absolutely wild.

Raycasters themselves aren’t new, but I do think my approach is a little different. 

I’m using DDA with a zone system that lets different parts of the level behave differently, which allows for much more varied layouts than most web raycasters (or even Wolf3D) usually manage.

That zone-based setup ended up being really powerful. 

If you ever make your own raycaster, I honestly think rectangular/polygonal zones are the best way to handle things like lighting, atmosphere, and other per-area effects.

I spent a lot of time looking at other raycasters and asking, “How can I match this or do it better?” I deliberately skipped floor and ceiling textures because I wanted the look to sit somewhere between Wolf3D and Doom. I think I pulled that off, but I still support different floor/ceiling colors and some nice gradient effects to keep things visually interesting.

Overall i think this was a cool project.

Some things I think i didn't do well, and will keep in mind for future projects:

I often got lost in the weeds trying to implement features that felt complicated when the reality was that they really just needed a heuristic approach rather then a complicated mathematical approach. Things like mid textures and side textures, and rendeirng different textures on different sides of walls. All feel complicated, but just required a simple heuristic in the end.

I didn't remember some basic trigonometry that would have saved me hours of debugging.

I also failed to check how the engine runs in differnet browsers until it was towards the end. Something I really should have thought about from the start. Not everyone just uses chrome.

And the worst part: I got bogged down in engine dev instead of actually making a game a lot of the time (Which is probably part of why i'm stopping now.)

With all of this in mind, I feel I am ready to start on something new!

If you have any raycasting questions feel free to ask on the game's page! 

And remember to give the game a rating and to let others know it exists.

Files

RealmchildInvasion.zip Play in browser
20 hours ago

Leave a comment

Log in with itch.io to leave a comment.