Close

Back to the beginning

A project log for HTML5 Retro Game Engine(s)

A Side project where I try and build various scriptable retro game engines in the browser.

timescaleTimescale 03/24/2020 at 19:440 Comments

So I have been busy with building stuff I get paid for. Some call it a job I guess, but with the current state of the world, this has been kinda shut down. With all this extra free time on my hands, I thought it a nice distraction to re-visit one or two of my dormant projects.

The adventure engine thus far is not finished, but it is quite feature complete. It has animation, asset management, a scripting language and a powerful 2D retro graphics engine. I learned a metric faecal-ton of things about game logic during that experiment. Granted, It spiralled out of control when I got into writing buffers and filter and subsequently went nuts will all types of crazy effects that look nice and retro, but really have little to do with early 90's games.

As I wrote in this projects introduction, this whole suite of experiments began with an attempt to write an archaeologically themes game. I build an engine with isometric tiles which was meant as a turn-bases strategy game a'la Civilization only not with countries but with archaeological sites. With these new tricks I learned, I think building that now is far more likely to succeed than my initial attempt.

This time I'll keep it simple. Not an isometric playing field but simply top down. I can adapt my platformer experiment which was an adaptation of the engine of my adventure engine to do that. It has everything I need. It redraws the screen 30 times a second and has all the graphics function I need, including the ability to construct tiles of arbitrary sizes on the fly which will be handy for menus and panels.

I have taken the system to the point where I am getting ready to split the main project in two. I need an editor to build the maps which are quite large even with an 80 by 80 grid. This is because there are at least 5 layers that need to be designed. Not just the map, but also the geology, archaeology, height info, objects. There could be more, but all these maps combined will inform the player function on how to interact with the environment.

I have implemented the self updating menuing and panel system and the cursor system from the adventure engine and it looks something like this :

The entire screen is redrawn 30 times a second pixel for pixel and I still have more then enough time per tick to burn for other operations and game logic.

Discussions