advent-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Advent-devel] (no subject)


From: Ingo Ruhnke
Subject: Re: [Advent-devel] (no subject)
Date: 16 Jun 2002 16:41:33 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Ben-Porath <address@hidden> writes:

> i'd liked to know how do you build a game for advent?
> maybe i will build a game

In the current state that will be quite difficult without a decent
knowledge of C++ and Guile. And even with that, it would require to
wade through some of my code, which isn't always that easy to
understand. There is also no kind of GUI development kit available, so
one has to do all by editing some .scm files.

The biggest show-stopper is currently the interface code, which is
necessary to register all the event handling, buttons, layers, etc. It
doesn't contain much useable error messages and debugging it is not
really easy. Even myself, who wrote all the code has quite a few
problems of of setting up the startup code from scratch.

So what to do? Your best chance on getting a feeling of how the engine
will feels like and how to develop something with it, is to grab the
current CVS version (not sure if its currently in a useable stage) or
the latest binary release and look at the source code, see
doc/examples/cosmos for an example game. When you want to actually
develop something, I would recomment you copy&past the cosmos
adventure game and insert new scenarios there.

One last problem which advent have is the flux of the API, even so its
useable now, there might still be incompatible changes in the future,
which will make things more difficult. 

And here a bit example code for a scenario, so that you know what you
can expect:

(adv:defdoor floor:serverroom-door
             (name "Tuer zum Serverroom")
             (hotspot 246 403 'north)
             (target-position 514 319)
             (target-scenario scenario:serverroom)
             (bind (c:rect-collideable:create 174 147 305 381 )))

(adv:defobj floor:serverroom-sign
            (name    "Sign")
            (hotspot 119 402 'north)
            (bind    (c:empty-advobj:create floor:serverroom-sign
                                            (c:rect-collideable:create 102 184 
141 214)))
            (methods (game:look   (person:talk "This is the server room."))
                     (game:pickup (person:talk "I better leave it here."))
                     (game:speak  (person:talk "Nothing to talk to."))
                     (game:use    (person:talk "I can't use this thing."))
                     ))
 
(adv:defscenario scenario:floor
                 (dimension 2079 480)

                 (drawables (adv:drawable:create "images/floor.jpg" 0 0 0))

                 (advobjs floor:serverroom-sign
                          floor:serverroom-door
                          floor:workspace-door
                          floor:cellar-door)

                 (colmap "images/floor_cmap.png"))

-- 
Advent:     http://www.freesoftware.fsf.org/advent/
Feuerkraft: http://www.freesoftware.fsf.org/feuerkraft/
Pingus:     http://pingus.seul.org/           || ICQ:      59461927
Home:       http://pingus.seul.org/~grumbel/  || JabberID: address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]