From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id C4CC9D55E for ; Fri, 29 Jul 2005 04:32:42 +0200 (CEST) Received: from web30503.mail.mud.yahoo.com (web30503.mail.mud.yahoo.com [68.142.200.116]) by nez-perce.inria.fr (8.13.0/8.13.0) with SMTP id j6T2Wfo4010789 for ; Fri, 29 Jul 2005 04:32:42 +0200 Received: (qmail 22168 invoked by uid 60001); 29 Jul 2005 02:32:41 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=Guv4R6ivAKZdGlvfH6Ah+h702tLG5Nrkgdea4kCL6KWP3jvNnevmd91SEgOWtgLkU2ZPDcl9ALv2yt4qnt5j/4z3yJ0hVxC6l0JGlzXJbByrAQ16hpUT3D6QRaWMRE9KVgy2lPUjwe+MAeNYEqq+T7Wvbf0WpNrjwWnx+NNn6Vg= ; Message-ID: <20050729023241.22166.qmail@web30503.mail.mud.yahoo.com> Received: from [69.129.110.8] by web30503.mail.mud.yahoo.com via HTTP; Thu, 28 Jul 2005 19:32:41 PDT Date: Thu, 28 Jul 2005 19:32:41 -0700 (PDT) From: David Thomas Subject: Re: [Caml-list] Games To: Jon Harrop , caml-list@yquem.inria.fr In-Reply-To: <200507282331.28919.jon@ffconsultancy.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Miltered: at nez-perce with ID 42E99549.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml:01 vastly:01 ocaml:01 simulating:01 non-trivial:01 arrays:01 caml-list:01 beginner's:01 beginners:01 bug:01 ...:98 frog:98 wrote:01 wrote:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=FORGED_YAHOO_RCVD autolearn=disabled version=3.0.3 So just simplicity of coding the algorithms? Makes sense enough, I was just wondering if there was something deeper. Thanks :) --- Jon Harrop wrote: > On Thursday 28 July 2005 22:32, David Thomas wrote: > > --- Jon Harrop wrote: > > > Many games now use quite sophisticated LOD > algorithms > > > and OCaml is vastly better suited to this than > C++. > > > > I'm probably missing something obvious, but... > why? > > Essentially, OCaml is much better suited to the > manipulation of complicated > data structures like trees and graphs than C++. In > particular, it is much > easier to write such code correctly in OCaml than in > C++. > > As games have evolved, their emphasis has moved from > blitting to simulating > the interactions of complicated hierarchical systems > in real time. For > example, the transition from (array-based) sprites > to (tree- or graph-based) > LOD polygonal models in the presence of collision > detection. > > Similarly, as scientific computing has evolved, > emphasis has moved from > vector/matrix calculations to the hierarchical > simulation of physical systems > (not in real time!). For example, use of the > (tree-based) Fast Multipole > Method (FMM) instead of (array-based) Ewald > summation when computing > long-range interactions between particles. > > This is easily explained with a little computer > science: We're now close > enough to the asymptote that asymptotic algorithmic > complexity has become > more important than the constant prefactor. We know > that trees, graphs and > many other non-trivial data structures facilitate > common operations (e.g. > search, insert, replace) with considerably better > asymptotic complexities > (e.g. O(log n) instead of O(n)). So we're ditching > arrays in favour of trees > and graphs and, consequently, we should be ditching > C++ in favour of OCaml. > > This is exactly the topic of my book "Objective CAML > for Scientists". Hence, I > think I'm a suitable candidate for writing > "Objective CAML for Games". :-) > > -- > Dr Jon D Harrop, Flying Frog Consultancy Ltd. > Objective CAML for Scientists > http://www.ffconsultancy.com/products/ocaml_for_scientists > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: > http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > ____________________________________________________ Start your day with Yahoo! - make it your home page http://www.yahoo.com/r/hs