It is currently 25 Apr 2024, 00:41
   
Text Size

State of current game engines ?

Discuss anything concerning this site and its contents

Moderator: CCGHQ Admins

State of current game engines ?

Postby spiph » 19 Nov 2012, 00:59

Hi,

First off, I have to say it's very exciting to find this site and the resources collected here. I am new to MTG but am very interested in the games engines available. I've already sunk a lot of money into cards to build up my collection, but I realize that I enjoy the theory of the game and understanding the game mechanics and deck building more than actually playing (although that's fun too!)

I'm very interested in the game engines on this site. It seems to me that the main engines that are in active development are Forge and Mage. My impression is that the big granddaddy in terms of community is Cockatrice, but it is a more 'manual' affair. Is that a fair assessment ?

What is the reason behind having two engines (Mage and Forge) actively developed ?
What are the respective strengths and weaknesses of each ?
Any recommendations for which engine has a more approachable source code ?

Thanks so much for your time and any replies are appreciated.
spiph
 
Posts: 4
Joined: 05 Nov 2012, 05:14
Has thanked: 0 time
Been thanked: 0 time

Re: State of current game engines ?

Postby spiph » 19 Nov 2012, 04:58

Also, are there any common standards used between engines ? ie: game records, or card databases ?
spiph
 
Posts: 4
Joined: 05 Nov 2012, 05:14
Has thanked: 0 time
Been thanked: 0 time

Re: State of current game engines ?

Postby Aswan jaguar » 19 Nov 2012, 05:00

If you haven't seen this,take a look:
http://www.slightlymagic.net/wiki/List_of_MTG_Engines

I see more or less what is posted in all MTG games and most of them are in continuous development.
---
Trying to squash some bugs and playtesting.
User avatar
Aswan jaguar
Super Tester Elite
 
Posts: 8078
Joined: 13 May 2010, 12:17
Has thanked: 730 times
Been thanked: 458 times

Re: State of current game engines ?

Postby melvin » 19 Nov 2012, 05:19

Welcome to the forum, spiph :)

spiph wrote:I'm very interested in the game engines on this site. It seems to me that the main engines that are in active development are Forge and Mage. My impression is that the big granddaddy in terms of community is Cockatrice, but it is a more 'manual' affair. Is that a fair assessment ?
Note that the wiki page only contains rules enforcing engines, i.e. the engine ensures that the rules are followed by performing the mandatory steps automatically (adjusting power/toughness due to counters, state-based actions etc). There are other MTG engines, such as cockatrice, that expects the players to perform all the step themselves, much like in a real life game.

spiph wrote:What is the reason behind having two engines (Mage and Forge) actively developed ?
Personally I suspect it is due to differences in the direction of the project and the architecture of the code. I'm currently actively involved in the Magarena (https://code.google.com/p/magarena/) project because it is focused on human vs AI play.

spiph wrote:What are the respective strengths and weaknesses of each ?
http://www.slightlymagic.net/wiki/List_of_MTG_Engines has a few tables of features you could look at.

spiph wrote:Any recommendations for which engine has a more approachable source code ?
I'm obviously rather biased here having only worked on Magarena. Magarena has a rather interesting code base written in Java 1.6 + Swing, with minimal use of additional libraries and no external dependencies so that all the code is visible in the repo. The game state is nicely encapsulated and only changed via action objects, each of which can be undone. This makes it very easy for AI processing which needs to apply actions and undo it later and also makes it very simple to allow the player to undo actions.

spiph wrote:Also, are there any common standards used between engines ? ie: game records, or card databases ?
Not really, but a number of projects makes use of the card data provided by Arch, see viewtopic.php?f=27&t=1347
User avatar
melvin
AI Programmer
 
Posts: 1062
Joined: 21 Mar 2010, 12:26
Location: Singapore
Has thanked: 36 times
Been thanked: 459 times

Re: State of current game engines ?

Postby spiph » 19 Nov 2012, 07:12

melvin wrote:Welcome to the forum, spiph :)
Thanks, this seems like such a great nerdy community!

melvin wrote:Personally I suspect it is due to differences in the direction of the project and the architecture of the code. I'm currently actively involved in the Magarena project because it is focused on human vs AI play.
As a newcomer, it's very difficult to get a sense of this place. Thanks for pointing out Magarena - it looks really cool!

melvin wrote:
spiph wrote:Any recommendations for which engine has a more approachable source code ?
I'm obviously rather biased here having only worked on Magarena. Magarena has a rather interesting code base written in Java 1.6 + Swing, with minimal use of additional libraries and no external dependencies so that all the code is visible in the repo. The game state is nicely encapsulated and only changed via action objects, each of which can be undone. This makes it very easy for AI processing which needs to apply actions and undo it later and also makes it very simple to allow the player to undo actions.
The use of discrete actions is very appealing. I've been reading up (spending time that I don't really have :wink: ) on some of the projects on slightlymagic.. what a treasure trove ! It's a bit frustrating though, it seems there are unique 'killer features' for each project, but nothing unites all the effort being expended.
Mage has the cool client/server architecture, but it's based on RMI. It'd be awesome to replace the RMI dependencies with a sweet (ideally standardized) REST api and create a newschool web client. (thereby opening up mtg to blind players and most current mobile devices) Then you could take all the AI nerdery in Magarena and target a client that spoke the same protocol... (That said, the lack of 'undo' in Mage probably indicates it might be difficult to achieve such a clean, stateless separation of client and server...)
Also, game recordings!! As machine learning tools become more accessible, having the data / records of games to train AIs on how players play certain decks would present really fun challenges for those who want swing that way..

The hard work that people have put in is so evident, it just makes me dream of future possibilities.
spiph
 
Posts: 4
Joined: 05 Nov 2012, 05:14
Has thanked: 0 time
Been thanked: 0 time


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 24 guests


Who is online

In total there are 24 users online :: 0 registered, 0 hidden and 24 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 24 guests

Login Form