He’s not wrong; making nicely styled anything in UI is a PITA.
with a simple menu like in Nier Automata
If you go and break down all the little things it does, it’s actually not that simple. It’s not quite as in-your-face as P5’s menus were, but there’s a bunch of little transition effects – things like the triangle dissolve when opening it and a particular typewriter text effect that types out characters with deliberately wrong letters before correcting itself. Areas changing color like progress bars – which can be interrupted and which reverse themselves nicely if the user changes tabs so that you get a transition effect without delaying the user much. An overall styling that’s reminiscent of old LCD screens – which needs to work cohesively with the rest of the game design. Subtle changes to the music when the menu is open. Special animation sequences (e.g. in ending E). Etc, etc. Individually none of them is all that hard, but putting it all together was probably still a PITA for whoever wrote it.
You can do this by configuring an HTTP server (e.g. Apache) to listen on port 80 and/or 443 (HTTP and HTTPS standard ports, respectively) and select which site to serve based on the name of the site requested. Apache documentation for this feature is here: https://httpd.apache.org/docs/2.4/vhosts/name-based.html
Note the sample config snippet showing how to set up a simple static site serving both
www.example.com
andother.example.com
usingServerName
in aVirtualHost
to select between them.You can also have Apache match a pattern in the URL and reverse proxy to another HTTP server – that can just be another program on the same computer listening on a different port, or could be on another computer entirely. See the simple reverse proxy config example on this page for a starting point: https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html (Note also that you probably don’t need anything further down that page – e.g. the load balancer and failover stuff is not likely to be useful to you for a small personal project.)
Other popular HTTP servers can do this too; I just happen to have done it with Apache before.