OpenArthurianX6: Day 7 of the New Arthurian Age

Today’s work was also split into two parts; first up were the improvements in the Map Editor—you can now edit the maps!

A couple of important refactors were made before: extracting the map rendering logic into a new MapView component and then doing a significant performance upgrade to render using an HTML5 Canvas instead of individual DOM elements, dramatically improving performance on large maps while preserving pixel-perfect visuals and interactions.

You can also now actually edit the map by picking a tile from the tilesets (loaded from the map file), selecting an active layer, and clicking on the Map View. This included hover-based grid highlighting, giving real-time feedback on exactly where tiles will be placed.

With this, editing tile layers in the maps works completely; next up for the editor is to allow editing object layers, which is where it will actually become more relevant to do it from within the Studio, since we will be able to directly hook it with the item, monsters, and NPC definitions, instead of relying on soft references the way we were doing when using the Tiled editor. I also gotta add a Undo and Redo stack, and eventually improve it to paint continuously, fill areas… also group together “floor” layers. And actually allow creating new maps from scratch (inheriting from a template, including setting up the number of floors)

The second big change is the groundwork for actually running projects. A new Run Project flow prepares a playable build by assembling runtime files from the Open Arthurian engine, assets, and map data into a temporary directory. This ties the editor into a larger pipeline, moving it closer to a complete development environment.

Next up will be automating serving the assembled directory into a separate window or a browser.

It’s exciting to see how changes on the maps are immediately reflected in the game!

Leave a comment