caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Announcing ocalibs.
@ 2004-05-15 10:12 Jere Sanisalo
       [not found] ` <004901c43abd$f83b6ad0$19b0e152@warp>
  0 siblings, 1 reply; 3+ messages in thread
From: Jere Sanisalo @ 2004-05-15 10:12 UTC (permalink / raw)
  To: caml-list

Hi all,

I've been working for a few months on largish project for ocaml, named
ocalibs. It's still mainly work in progress, but I thought it (or parts of
it) may be of some intrest to the folks here. Ocalibs is a collection of
libraries and tools to ease game development.

The main purpose for ocalibs is to serve as a test bed for me to see if
realtime "big" games can be built easily with ocaml. As it is, ocalibs
currently works only with the MSVC branch of ocaml (windows only). Later, if
it turns out that ocalibs is not suitable for full game development (for any
reason), I intend to turn it into a toolkit with which it's easy to develop
intermediate convertors from editor data (ie. maya, raw textures from
photoshop and such) into game related platform specific data (say, native
PS2 data).

It has many unfinished parts (which will probably be removed in a month or
two), but some snippets of intrest:
 - DirectX 9 bindings. Can already init the screen, read the mouse to some
   degree and render meshes (no textures yet).
 - XML based exporter for Maya. The exporter is written in C++, but may be
   of use for anyone who wishes to use Maya as their tool of choice for any
   project.
 - XML scene importer (using xml-light). Handles scene hierarchies as well.
 - Custom make system. Inspired by ocamake and the MSVC IDE. The make system
   consists of project "makefiles". Each makefile tells it's own sources and
   dependencies of other projects, native libraries and ocaml projects. When
   running the tool, the tool automatically checks each dependant project
   for changes and recompiles as necessary. For the link phase, the
   libraries are collected from the dependant projects.

Ocalibs can be found at:
   http://sourceforge.net/projects/ocalibs/
(cvs only; no files released)

-- 
Jere Sanisalo [xm@xmunkki.org] - http://www.xmunkki.org/

-------------------
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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Caml-list] Announcing ocalibs.
       [not found] ` <004901c43abd$f83b6ad0$19b0e152@warp>
@ 2004-05-15 20:57   ` Jere Sanisalo
  2004-05-16  1:03     ` skaller
  0 siblings, 1 reply; 3+ messages in thread
From: Jere Sanisalo @ 2004-05-15 20:57 UTC (permalink / raw)
  To: caml-list

On Sat, May 15, 2004 at 10:48:25PM +0200, Nicolas Cannasse wrote:
>However one of the problem when writing games with ocaml is the lack of
>mutual recursives modules, which are needed to separate big project into
>several files (even if they belong to the same entity).

Actually I'm quite interested in material like this. Do any of you have any
insights? The main thing is, that almost everything in games is related
somehow. You need to have pointers (of sorts) to other entities (cleanly
solved by ocaml objects? or mutable structures?). Or any other war stories?
I would love to hear them :).

-- 
Jere Sanisalo [xm@xmunkki.org] - http://www.xmunkki.org/

-------------------
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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Caml-list] Announcing ocalibs.
  2004-05-15 20:57   ` Jere Sanisalo
@ 2004-05-16  1:03     ` skaller
  0 siblings, 0 replies; 3+ messages in thread
From: skaller @ 2004-05-16  1:03 UTC (permalink / raw)
  To: xm; +Cc: caml-list

On Sun, 2004-05-16 at 06:57, Jere Sanisalo wrote:
> On Sat, May 15, 2004 at 10:48:25PM +0200, Nicolas Cannasse wrote:
> >However one of the problem when writing games with ocaml is the lack of
> >mutual recursives modules,

I would expect recursion is no problem for games because games
tend to need dynamic binding, which classes provide,
and recursion via class type abstraction works fine
across module boundaries.

The big problem with classes is *intramodule* type recursion,
since mutually recursive class types can't also
recurse with variants and tuples (at least they couldn't
last time I played with them).  To fix this you have to 
make your class polymorphic, and then instantiate
in an ordinary (recursive) type declaration.

Polymorphic variants may help with this since they
don't need to be declared.

-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net



-------------------
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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-05-16  1:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-05-15 10:12 [Caml-list] Announcing ocalibs Jere Sanisalo
     [not found] ` <004901c43abd$f83b6ad0$19b0e152@warp>
2004-05-15 20:57   ` Jere Sanisalo
2004-05-16  1:03     ` skaller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).