Archive for February, 2017

Eternal Card Game Simulator

Posted in Development, Video Games on February 8, 2017 by osake

It’s been a long time since I posted here. Blogs are dead, right?

Anyway…

I’ve been playing Eternal (eternalcardgame.com) since closed beta. It’s a nice departure from my Hearthstone tenure (played since beta as well). One thing I really liked in Hearthstone was the deck tracker, and I knew that there was a lot of work in the Hearthstone community around simulators, etc.

Eternal seems to use HTTP traffic, at least in my first stab at deck tracking. After writing up a silly little manual deck tracking app in Javascript (eternal-deck-tracker.appspot.com) and messing with a card creation tool, I took on writing a simulator for Eternal Card Game. It’s just my own little project to mess around with Scala while recreating some behavior of the online card game I’m currently playing.

Currently, I’ve got a simple AI vs AI simulator and I’m working through the basics of solitaire mode where you can pit yourself vs AI. As a text sim, the command parsing is going to take some work, along with needing a clean-ish rendering of the board state.

I had thought of doing a few more complicated things with this simulator: creating a graphic UI with ScalaFX, exposing a RESTful JSON API with Scalatra, or maybe even rebuilding Direwolf Digital’s Unity UI. I could go on with ideas, but I think I want to stick to a simple, messy text UI for now.

The next phase I’m really interested in jumping into, once the solitaire is done, is looking at 4 player modes, so an FFA and two-headed giant. So that’s your teaser.

If you want to keep up with the simulator development, then check it out osake.github.io/EternalCardGameSimulator/ or even contribute.