English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] OCamlSDL
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-04-20 (12:18)
From: Sven <luther@d...>
Subject: Re: [Caml-list] OCamlSDL
On Sat, Apr 20, 2002 at 07:19:23PM +1000, John Max Skaller wrote:
> Sven wrote:
> >
> >Yes, if they are clearly isolated, which is something that ocaml makes easier,
> >then this could be done easily.
> >
> This is actually very hard to do.  In general, there is a tight
> integration between graphics and game-play engine.
> Mainly, this is because realtime behaviour demand it:
> even abstraction layers like D3D etc cause serious problems
> due to to inadequate coupling .. Diablo II is a pefect example
> of extremely bad interactive design precisely because
> it didn't lock the frame rate down, or phase lock the
> NPCs properly...the graphics were absolutely superb ..
> but they had no idea what to do about non-constant rendering
> times or how to synch the client and server properly in the presence
> of internet lag .. Blizzard sold heaps .. but their reputation is
> in tatters now ..

Mmm, yes but :

you could move all the graphic access stuff into a module, and have your
rendering code becomes a functor of such a module. True you loose a bit of
speed because of functor application and such, but i don't think it will be
that significant if you don't go down to the real low level.

That is one of the things that you can easily do in ocaml and which are not
possible in existing commercial games.


Sven Luther
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners