[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Visionaries] Re: A hint of Sourcery in the air
From: |
Peter Minten |
Subject: |
[Visionaries] Re: A hint of Sourcery in the air |
Date: |
Thu, 03 Jul 2003 12:03:16 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.4) Gecko/20030529 |
Peter Minten wrote:
Hi folks,
I decided to reactivate Sourcery as the example project for DG-Scheme
and Forum. I also decided to reform some things to fully use the power
of DG-Scheme and make the game more fun (read more complex :-).
Some more rules.
It's possible to play a piece hidden by putting it in a box. A box effectively
hides it's contents, it's not perfect however and details of it's contents may
leak out (for example that the attack power of the piece in it is bigger than
10). The capabilities of a piece in a box is also limited, most pieces simply
don't do anything in a box. A box can be opened on demand by a trigger, this is
often useful to set traps.
An example of the use of boxing:
+---+---+---+---+---+---+---+---+---+---+
9 | | | | b | S | S | | | | |
+---+---+---+---+---+---+---+---+---+---+
8 | | | g | | | | | | | |
+---+---+---+---+---+---+---+---+---+---+
7 | | | | | | | | | | |
+---+---+---+---+---+---+---+---+---+---+
6 | | | | | | | | | | |
+===+===+===+===+===+===+===+===+===+===+
5 | | | | | | | | | | |
+---+---+---+---+---+---+---+---+---+---+
4 | | | | | | | | | | |
+===+===+===+===+===+===+===+===+===+===+
3 | | | c | | | | | | | |
+---+---+---+---+---+---+---+---+---+---+
2 | | | | | | | | | | |
+---+---+---+---+---+---+---+---+---+---+
1 | | | | | | | | | | |
+---+---+---+---+---+---+---+---+---+---+
0 | | | | | S | S | | | | |
+---+---+---+---+---+---+---+---+---+---+
A B C D E F G H I J
The creature at c3 has attack range 5 (very high), attack power 20 (also quite
high) and defense power 15, the generator at c8 has defense power 10. White is
going to do c3xc8 (c3 attacks c8). Black has put in the on-attack trigger of
it's generator that it's box at d9 will open and activate. The box of d9
contains a 1 turn mirror spell (mirror spells are attack reflectors) with
defense range 1. Thus c3 attacks c8, but d9 opens and activates reflecting the
attack of c3 to c3, since 20>15 c3 destroys itself. How very pleasant for black :-).
If d9 wasn't in a box the trap would have been obvious to white and thus white
wouldn't have attacked but rather have waited, playing more pieces (for example
a very weak creature to sacrifice in order to disarm the trap).
Sourcery has a quite intelligent category system. An example of a category is
'fire'. Categories are simple classes without prototypes (abstract classes). A
piece belongs in a category if it interface inherits the category class.
The board squares have terrain which influences the game. The terrain is made by
the game engine, but can, of course, be manipulated by pieces. Terrain is
usually about the high level categories (for example 'fire', not 'white dragon
baby with hickup') and only influences the game in a very basic way, adding and
substracting attack, defense and move points. Piece templates (piece classes)
can however create their own reaction to the terrain in addition to the existing
terrain effect, so the effect of terrain can be neutralized, increased or a new
effect (like that you can't cast a certain spell at a certain terrain) can be added.
Now to the game internals. Sourcery is a client-server webservice application
that can run either under DGEE or standalone. The webservice calls will be very
basic, mostly YAML strings. The choice for YAML allows easy debugging of the
calls, great protocol independance since strings can be send over by any RPC
protocol and besides YAML is one of the core technologies of DG-Scheme and
Sourcery is an example project :-).
The basic Sourcery game will probably have a chat room and stuff integrated,
effectively giving it similar functionality as Forum. Later when Forum is ready
the game will become a real Forum app. The advantage of this approach is that
Sourcery doesn't have to wait for Forum and that I have a good, testing
situation for the Forum technology.
Greetings,
Peter