adonthell-devel
[Top][All Lists]
Advanced

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

Re: [Adonthell-devel] mac os x port - success stories


From: Alexandre Courbot
Subject: Re: [Adonthell-devel] mac os x port - success stories
Date: 04 May 2002 18:31:31 +0200

> Well, I've ceased fixing the colour problem for now.... so I'm working 
> one sound... (ambitious, I know). Kai, I have those files but still, 
> during the ./configure it won't run the test program.... do you think I 
> should try re-installing ogg from source? Or do I need the Python 
> bindings too? It would be good to know how you guys 'play' the ogg 
> files... via SDL, python or just via ogg directly (can this be done?). 
> For the final OS X implementation (see below), it would be kinda cool if 
> we could somehow use quicktime ... as there is an oggvorbis component 
> for that.

Installing Ogg from source wouldn't be nice for your system's
consistency (you're lucky enough to have a Debian-like system, with well
supported packages, so let's keep it clean! ;)). You can send your
config.log file which is created right after running configure. It
contains interesting information about why the Ogg test failed. For the
configure test to succeed you just need Ogg properly installed, nothing
else. Make SURE you installed both libogg-dev and libvorbis-dev
packages. With these two ones, it should work, but send your config.log
file if problems persists.

> On a different issue, I was wondering how the adonthell program is split 
> up. I know that adonthell is the game engine... and I gather that it 
> uses python for certain things and SDL for others..... basically what 
> are the different components, what language are they written in, what 
> other libs do they use?

You can think of Adonthell as a RPG engine, basically free of any
library (well - that's not actually the case, but that's where we're
heading to). SDL is used for video rendering, input and audio, along
with Ogg Vorbis for the music. Of course, we could replace SDL by other
libraries just by rewriting a few files - the game doesn't entirely rely
on it, just the "gfx" "input" and "audio" modules - the input/output
part of the engine. Ideas for other renderers: Clanlib, or OpenGL, to
bring hardware acceleration everywhere.

Python is used for several purposes: allowing the datas from being
totally separated from the game engine, and making them architecture
independant. Also, it allows games to be created from the Adonthell
engine without having to write a single line of C++ or run any compiler.
It is used for characters behaviors (or schedules), initialisation
functions, and you can also write some additional modules. For example,
the game menu of Waste's Edge is a Python module.

It's important to notice that Python is only used to DRIVE the C++
engine - we don't make compromises on performance (well, at least not
much). 99% of the action takes place on the C++ side - Python is just
here to allow some flexibility and provide a powerfull scripting
language.

So the trick is, that for a Debian system for example, installing the
adonthell package doesn't provide you with any game. You have to install
wastesedge, which is architecture independant, to play something. Of
course wastesedge depends on adonthell. Well, I think you got it! ;)

> My reason for asking this is that basically I want to eventually (i.e. 
> long time in the future - once I've converted from a Java programmer to 
> a C/Obj-C/Cocoa programmer - good 2-3 months) convert adonthell into an 
> actual mac os x native app so that we have a 'real' port of it. SDL, 
> python and vorbis all exist natively in os x so there's no reason why it 
> couldn't work....

Isn't it a "real" os x app after compiling it like you did? Or does it
rely on Fink? In this case, having a real os x port would be necessary,
right - and shouldn't be very hard to achieve, I'd bet.

> BTW, can I get in on the next IRC meeting?

Eh ^_^ Of course!

Alex.
-- 
http://www.gnurou.org




reply via email to

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