It is currently 11 Sep 2025, 18:58
   
Text Size

Working Together

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Working Together

Postby Marek14 » 24 Jan 2010, 22:28

Incantus wrote:To answer Marek, it would be very difficult, if not impossible, to have an AI engine that didn't require integration with the rules engine. It's easy to say the AI should just tell the rules engine what to do, but that's because you are assuming it would work similar to the way we do. Each of playing magic has our internal rules engine that lets us decide what actions are beneficial, and we play those decisions/scenarios internally before commiting to a real action. In order to get a slightly non-stupid AI, it would be necessary to allow the AI access to the rules engine to perform theoretical calculations (basically doing a search through possible move space). I would one day like to do a version with an AI, and I look at Incantus as a prototype to see what kind of architecture is needed to support the rules of Magic, and whether that architecture is feasible in faster, compiled languages. Currently I believe could use a language like Scheme or Lua to that would be both rules compliant and fast enough to do a search AI. Anyway, I believe a program closest to those goals is Deckbot/Botarena, which has quite a number complicated cards and has a decent AI.
Well, I was thinking that AI could have a separate COPY of rules engine that it could use to try moves - but whatever it does, it would be hidden from the true game engine that would only receive the final result of AI calculation.

In the end, a "move" in Magic is just selecting one possibility from a list, after all. (Those who play with BotArena find this out pretty quickly, though I think that system could [and possibly should] be even more atomized.)
Marek14
Tester
 
Posts: 2773
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 303 times

Re: Working Together

Postby telengard » 25 Jan 2010, 00:55

It think it is possible to have the AI know (next to) nothing about the rules. My AI doesn't for the most part. I do have a few optimizations in certain abilities to speed things up a little (mostly to keep it from doing dumb things which are legal, but not useful), but they aren't necessary. The *evaluation function* however, needs to know about the game (not so much the rules, but other types of details).

As mentioned, I do things similar to how DeckBot does. I generate the available actions, and let the AI try them all. It then scores, undoes what it did, and goes to the next one and so on.

~telengard
Author of Dreamblade:
viewtopic.php?f=51&t=1215
User avatar
telengard
DEVELOPER
 
Posts: 383
Joined: 23 May 2009, 23:04
Has thanked: 5 times
Been thanked: 30 times

Re: Working Together

Postby mtgrares » 25 Jan 2010, 19:58

I like the idea of one big program that everyone works on but it probably won't happen. This isn't necessarily a bad thing since diversity is good: count the number of different types of cars and trucks you can buy, the different kinds of peanut butter, the different manufacturers who make computer keyboards (and nobody even cares WHO makes a stupid keyboard, people just want it to work).

A similar problem is why isn't there one "mega-great" game console that combines the PS3, XBox 360, and the ill-name Wii?

DeckArea has a good AI. The AI did some pretty complicated stuff and I was very impressed.

Incantus has a great rules engine and very short card definitions.

Wagic has AI vs AI and great automated card testing.
mtgrares
DEVELOPER
 
Posts: 1352
Joined: 08 Sep 2008, 22:10
Has thanked: 3 times
Been thanked: 12 times

Re: Working Together

Postby Huggybaby » 26 Jan 2010, 03:41

Diversity is a modern day buzzword used by the left, in and of itself it has no intrinsic value. Many people working on one project brings diversity to one project. Some projects are too big for one person. Neither the Manahattan Project nor the Apollo moon mission would have gotten far if they'd been left up to hundreds of people working on their separate visions.

Sony, Microsoft and Nintendo all want a piece of a huge pie, that's why there are separate consoles. But there is no longer a Sega is there? or NEC? or Atari? And XBox and PS3 play the same games for the most part. Not so much diversity after all.
User avatar
Huggybaby
Administrator
 
Posts: 3228
Joined: 15 Jan 2006, 19:44
Location: Finally out of Atlanta
Has thanked: 753 times
Been thanked: 601 times

Re: Working Together

Postby Rob Cashwalker » 26 Jan 2010, 04:10

Another way to look at this is:
There's no way we could have a rational discussion to determine the ideal application. Each of us has their own idea of the perfect magic game to solve their itch to play. We bring to the table vast experience.. in only one field - knowledge related to our respective projects.

The way Apollo and the Manhatten project operated, there were multiple teams of scientists and engineers (and some programmers) that worked in isolation of each other in order to breed creative soluions. In the space shuttle, there are multiple computer systems that all perform the same functions, yet are completely different in design or architecture (by different teams or manufacturers as the case may be) to support redundancy.

Maybe the various developers should get randomly paired, and we each brainstorm some architecture and then meet in the middle.
The Force will be with you, Always.
User avatar
Rob Cashwalker
Programmer
 
Posts: 2167
Joined: 09 Sep 2008, 15:09
Location: New York
Has thanked: 5 times
Been thanked: 40 times

Re: Working Together

Postby Huggybaby » 26 Jan 2010, 04:31

Apollo and Manhattan were working toward a common purpose under common direction though. They had one guy at the top coordinating everything. All those various contributions did ultimately have to work together, and resulted in one functioning product. The result here is different products that do not work together.

"One man's diversity is another's needless duplication of effort." I forget who said that. Oh yeah, it was me, just now. lol

Anyway, I don't see anything on this front happening any time soon, but there's nothing stopping it. Maybe one day when the planets align just so. I think there is finally enough knowledge here on the various aspects of the problem that a coordinated effort is feasible, the weakest skill on the team being graphics.
User avatar
Huggybaby
Administrator
 
Posts: 3228
Joined: 15 Jan 2006, 19:44
Location: Finally out of Atlanta
Has thanked: 753 times
Been thanked: 601 times

Different Goals

Postby mtgrares » 28 Jan 2010, 20:48

Basically each project has slightly different goals much like the movie or book industry. Each movie is similar to previous ones and yet a little different. And there are a ton of cookbooks and yet more are being published.

I think each separate Magic project strives to build reusable parts. Everyone tries to separate the rules implementation from the user interface (UI) but it is still hard for someone else to write a completely new UI because the rules implementation and the UI have to work closely together, i.e. they have to know alot about each other.

The UI is very complicated for full-time, paid programmers, so most volunteer projects have a less-than-spectacular UI and that is ok. UI design is hard and it requires a different skill set than implementing the rules.

Forge started out with a barely functional UI and with help from others, improved it along the way. I used to receive many complaints about the UI but after the card art was re-sized and used for the battlefield, the complaints vanished.

p.s.
Barely functional UIs still take a long time to write, lol. :wink:
mtgrares
DEVELOPER
 
Posts: 1352
Joined: 08 Sep 2008, 22:10
Has thanked: 3 times
Been thanked: 12 times

Re: Different Goals

Postby Marek14 » 28 Jan 2010, 21:26

mtgrares wrote:Basically each project has slightly different goals much like the movie or book industry. Each movie is similar to previous ones and yet a little different. And there are a ton of cookbooks and yet more are being published.

I think each separate Magic project strives to build reusable parts. Everyone tries to separate the rules implementation from the user interface (UI) but it is still hard for someone else to write a completely new UI because the rules implementation and the UI have to work closely together, i.e. they have to know alot about each other.

The UI is very complicated for full-time, paid programmers, so most volunteer projects have a less-than-spectacular UI and that is ok. UI design is hard and it requires a different skill set than implementing the rules.

Forge started out with a barely functional UI and with help from others, improved it along the way. I used to receive many complaints about the UI but after the card art was re-sized and used for the battlefield, the complaints vanished.

p.s.
Barely functional UIs still take a long time to write, lol. :wink:
Yes, the two UI requests I'd have would be displaying P/T numbers and counters onscreen... but maybe that would draw attention to some bugs in their changing? :)
Marek14
Tester
 
Posts: 2773
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 303 times

Previous

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 48 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 48 users online :: 0 registered, 0 hidden and 48 guests (based on users active over the past 10 minutes)
Most users ever online was 7967 on 09 Sep 2025, 23:08

Users browsing this forum: No registered users and 48 guests

Login Form