Ruby/Epoxy is dead.
Or, at least, shelved. As projects go, it’s not a bad one. It would give a cross-platform GUI capability to Ruby scripts and would be a nice goal in and of itself. But, that is not our goal. Our goal is to produce a cross-platform application that players can use to play TOCS game modules on their systems. Developing Ruby/Epoxy beyond the very simple test app that I wrote was going to require some tricky coding that, while well within my capabilities, was going to be time consuming to implement. After you throw in the big question of how to wrap Ruby code into a deliverable application to game users, the idea of using Ruby as the language of choice becomes a shaky proposition.
I’m moving the game client project to Swift.
This decision is also not without risk. For one thing, while Swift is fully supported for macOS and Linux application development, Windows support seems to only be provided by third party workaround projects. On the plus side, however, Apple’s XCode application fully supports Swift application development on a variety of Apple platforms: macOS, iOS, watchOS, etc. As Paul and I are both Mac users, this will allow us to build a native application on a common platform quicker and we can worry about porting later. Finally, there are plenty of online Swift development resources that I can use directly in XCode without having to mentally translate them into a Rubyesque dialect for use in a porting project, which is what Ruby/Epoxy was.
That said, until last night, I had never used XCode for application development nor had I written anything in Swift. Still, with close to 20 programming languages under my belt, I’m not concerned with learning yet another new language.