-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
Then, for the actual game part, each wall "tile" is able to render with 4 sides, I just use a rAF loop and so on. Here's the Level.svelte component, which contains the state for the map and handles mounting all of the needed tiles. This is where the level optimization happens too, since it will remove any connected tile surfaces that are unseen by the player (happens only when the map loads).
I made a small brickout game also rendered in HTML + CSS, you can take a look it's pretty short: https://github.com/MaximeIJ/css-brickout