Skip to content

New Implementation: Client-Server

Pre-release
Pre-release

Choose a tag to compare

@controllerface controllerface released this 01 Mar 02:19
· 47 commits to main since this release

This is the first release of the new Client-Server implementation of the app. I still consider the app to be in an "alpha" state because there's a few more features I plan to add before I consider it "feature complete" and there's a few small things from the old code I have ported over. Some of the older logic I may not pull into the new codebase at all, but several of the trade suggestion elements and the modules purchase/modify/experiment options I do plan on bringing in.

For anyone checking this out for the first time, the main gist is that I originally implemented this app as a JavaFX desktop application. While JavaFX is itself pretty decent, I could never quite get what I wanted out of the UI compared to what I can achieve in a web browser. As such, I have ditched the JavaFX code and re-written the UI as standalone web server. When started, the server spins up at http://localhost:9000 and serves the UI to the user form there.

In addition to having access to all the modern Web APIs, this new configuration allows for the UI to easily be accessed from a separate computer or tablet device if that device is on the same network as the system where the game is being played. Doing so only requires a simple inbound rule on the host system, and does not requiring opening access to the internet (I plan on making a guide for this in the near future). With this feature alone, I have a newfound interest in development and have added several new features on top of what the old app had.

Note that this project is the product of a hobbyist endeavor, primarily used as test-bed for ideas I have revolving around web applications and front-end development in particular. As such I am open to feedback, but can't guarantee I'll make changes other than those that strike me as interesting. That said, hope you find it useful or at least educational in some way :-)