SparkChess 5 using Union

Added by Armand Niculescu 313 days ago

During the past month, I posted a number of things on these boards. I thought I should let you know what I've been doing all this time :)

I added multiplayer to SparkChess (http://www.sparkchess.com), my AS3 chess game (and actually the only, or at least the first, chess AI engine written in AS3).
SparkChess was featured extensively by Adobe and Google (first for their Chrome OS, then in their webstore) as well as by RIM in AppWorld.

I haven't updated the tablet versions (iOS, Android, Playbook) yet.

I've been considering other multiplayer platforms (basically I tried everything from FlashMog to SmartFox) but Union won me!


Replies

RE: SparkChess 5 using Union - Added by derek clayton 312 days ago

Hi Armand,

Very nice! Went through a quick game against Cody and the interface is nice and clean. Tomorrow I'll try some human opponents.

Great job!

Derek

RE: SparkChess 5 using Union - Added by colin moock 312 days ago

hi armand,
fantastic app! do you mind if we mention sparkchess on unionplatform.com?

thanks for sharing your work!

colin

RE: SparkChess 5 using Union - Added by Armand Niculescu 310 days ago

Cody is the easiest... Try Boris for a decent challenge :)
It's not Rybka or Shredder but it's the best Flash can do.

For this release I kept the multiplayer features to a minimum. I'm planning to add observing games and maybe other features, depending on user feedback.

Feel free to mention the game!

RE: SparkChess 5 using Union - Added by colin moock 310 days ago

just posted to twitter...you are on the home page : )

a few more questions:

  • is the multiplayer mode available in the windows and mac native apps? if so, did you write a custom client library?
  • you mentioned that you evaluated other multiuser options. can i ask what finally made you choose Union?
  • if you could add any three features to Union platform, what would they be?

colin

RE: SparkChess 5 using Union - Added by Armand Niculescu 308 days ago

Colin,

they are not really "native" (as in compiled to native cpu instructions) apps but self-contained flash wrappers/projectors (.exe and .app). I used the term "native application" to separate them from the AIR version (which some prefer) and avoid confusion. In 3 years no one has complained.

Right now there is SparkChess online SWF, Chrome CRX, Windows EXE, Mac APP, AIR, iOS IPA, Android APK and Playbook BAR. Not all of them have multiplayer yet.

As to Union's strengths, first of all I liked the licensing. SparkChess generates some profit but chess in general is not a very "hot" topic so investing a lot of money up front is risky, especially since there are quite some expenses as well (EC2, CDN, certificates, etc.) A license that lets me start for free and with no strings attached is perfect. I can be prepared for when I hit the free connections limits and upgrade the hardware and license as needed. Sure, there are some other free and open-source platforms, but sometimes they complicate the problem (apart from Reactor, SparkChess is 100% written from scratch and I didn't want to worry about GPL vs. L-GPL).

Second, I love the performance. On the EC2 instance I'm using, it really doesn't use much CPU & memory. With other platforms there wasn't even guaranteed that they could handle 1000 simultaneous clients without choking. The fact that it's already been used in big live projects gave me confidence.

Third, Union is both focused and very versatile. It's not a Media Server but at the same time it has most of the tools I want out of the box: user accounts, rooms, observers, etc. All the things I need, none of the things I don't. The fact that it works in socket mode and http mode is incredible, as well as all the connection options (list of servers and ports, heartbeat, etc.) Server-side, I simply love the javascript modules (for some reason, I prefer them over java).

Forth, Reactor documentation is top-notch.

New features... this is tough, because I haven't managed to push the plaform to its limits - yet :)
The server-side documentation is not as complete, some things are mentioned only in the forums.
Data types for attributes would be interesting, if a bit too difficult to implement. It would be interesting to store a binary blog (say a jpeg avatar) as an attribute.

Best of luck!

RE: SparkChess 5 using Union - Added by colin moock 301 days ago

hi armand,
thank you for this extensive reply. it really does help us assess some of our important feature and distribution decisions. we look forward to helping make SparkChess a great success!

colin

RE: SparkChess 5 using Union - Added by colin moock 301 days ago

ps., regarding images as attribute values, we have talked about that feature before, but it wasn't recorded, so i just submitted a ticket:
http://factory.user1.net/issues/show/510

colin