[gameprogrammer] Re: Good questions

Interestingly, I was actually working on my own computerized M:TG pretty
recently.  I had it set up so that each card was a DLL with a set of common
base functions.  Then, if it needed to do something more than exist and
battle and such, it registered itself as an event handler.  Let's say a card
kills off any goblins at the end of a turn - in its Init() function, the
card would register itself to receive all end of turn events through a
function pointer.  These event handlers would return special values
indicating if the event was allowed to proceed or not, and they had access
to the rest of the game in order to fulfill all expected behaviours.
Unfortunately I never got very far with the whole game, but I had a small
proof of concept example of this behaviour and it seemed to work quite well.

On 6/19/06, Paul Smith <paul@xxxxxxxxxxxxxxxxxx> wrote:

A question - which may be deeper than you were expecting.

I play a game called Magic Online.  It's a computerized version of a card
game called Magic: The Gathering.  The simple question is - how is it done?

The game exists of 'cards' which at any time may be in play, in your hand,
in your library (MTG speak for your deck), in your graveyard (discard pile)
- in the Removed from the game zone, attached to other cards, imprinted on
other cards (the distinction is somewhat important!).  Cards 'trigger' on
certain events.  For instance, some cards are creatures.  Some creatures
care when another creature comes into play, and want to respond in some way.


Just how do you do that? Do you send a 'message' to each 'card' in all zones, and ask each of them whether or not they wish to respond, with the majority of cards having no response? Or do you in some way let the game now that "I am a card that cares when a creature comes into play, please let me know the next time one does"

The possibilites are nearly endless for what any particular card is
watching for, it might be a creature that keeps track of how many creatures
have gone to the graveyard from play this turn, and only wishes to respond
the third time.  Assuming an OO implementation, do you make each different
card a different class and derive from a common "Card" class or what?  It
seems like a lot of hard work either way, but I'm just trying to get the
concept in my head of how you could proceed.

So in a nutshell, the quesiton is "Collectable Card Games - How??"

Paul


On 6/19/06, Mike Gillissie < Niyoto@xxxxxxxxxx> wrote: > > Heh - I've gone through my share of health concerns lately (the joys of > not > being 20-something anymore!) - I've found that the best way to stay > healthy > is to avoid obsessing over your game development. > > I've got a habit of getting started on something and becoming totally > absorbed by it. Must get this working must get this working woah! It's > midnight? And of course you finally straighten up and your back, arms > and > shoulders crack like the earth on judgement day. Supposedly. > > Also, ergonomics. I've spent more time on the computer over the past > I-can't-count-the-years-anymore, and only a good office area > configuration > has kept me from carpal tunnel issues, I'm sure... > > Finally, don't ignore The Wife. The Wife will hurt you. > > ----- Original Message ----- > From: "Kevin Jenkins" <gameprogrammer@xxxxxxxxxx> > To: <gameprogrammer@xxxxxxxxxxxxx> > Sent: Monday, June 19, 2006 11:29 AM > Subject: [gameprogrammer] Re: Good questions > > > > > > > > I have to admit that I haven't been paying that much attention to > the > > > list recently. I have been through a lot of drama over the last > several > > > months caused by a misdiagnosis and a series of false positive > results > > > on medical tests. Maybe we should have a discussion of how to stay > > > healthy while living the high tech high stress life of a game > developer? > > > > > > Feeling like I am back from the dead, > > > > > > Bob Pendleton > > > > Sorry to hear about your health problems, Bob! > > > > So here's a question: How to stay healthy as a game developer? > > > > Here's an answer: Play dance dance revolution! Seriously. I bought > > it about 3 weeks ago and it's the first time I've ever played games > > that have kept me in shape. Even my wife approves of me playing games > > > now. > > > > This is not an ad, just my personal experience. > > > > > > > > --------------------- > > To unsubscribe go to http://gameprogrammer.com/mailinglist.html > > > > > > > > --------------------- > To unsubscribe go to http://gameprogrammer.com/mailinglist.html > > >


-- Paul Smith Computer programmer

paul@xxxxxxxxxxxxxxxxxx




-- Cheers, Josh

PGP: http://revvy.box43.net/Josh_Matthews.asc

Other related posts: