Browsergame({ serverville })
September 17, 2024
For this project I challenged myself to create an interactive isometric browser game while embracing strict constraints: no frameworks and no images! This minimalist approach taught me a lot, pushing the boundaries of what’s possible with basic tools.

One of the most fascinating challenges in this project was designing the algorithm for grid generation. In an isometric grid, the intuitive progression when increasing the grid size would have been straightforward: expanding from a 2x2 grid with positions labeled 1-2, 3-4 to a 3x3 grid with 1-2-3, 4-5-6, 7-8-9. However, we wanted a more dynamic numbering system where new grid cells were seamlessly inserted between existing ones, resulting in a pattern like 1-2-5, 3-4-6, 7-8-9. Achieving this proved complex because it required a non-linear mapping between the grid's visual representation and its data structure. Hardcoding this layout was infeasible beyond small grids due to its inflexibility and the risk of errors. Instead, I developed an algorithm that recalculates positions dynamically, accounting for the isometric projection and preserving the integrity of the numbering system as the grid grows. This problem pushed my understanding of algorithm design and reinforced the importance of scalable solutions in game development.

Another unique aspect of this project was the decision to not rely on image files. But i still wanted to add character and immersion to the game. The Solution? Ascii Art! This approach not only kept the project lightweight but also taught me how to push the boundaries of what’s achievable with basic tools.
If you want to check out the game you can do it down below, as well as the source code, which you can find on GitHub: