Edward Tate wrote:
> Hello people!
>
> First of all i'd just like to say that i'm no expert in any
> programming language(which is why i'm here ;-) ), but I was just
> slightly curious about a few issues concerning Lisp, Python and C++.
> I am currently in my first year at university studying Computer
> Science with Games Development. My overall aim is to create a simple
> game, and then be able to go on to create more advanced games.
How advanced? Will you want 3D? Complex enough to require a screne graph
manager? Maybe even a physics engine such as ODE? If so, those are all
written in C/C++. I see Python has PyOSG to get you to Open Scene
Graph... use Google to explore this angle further.
Not that Lisp cannot use C/C++ libraries. My Cello (OpenGL and more)
talks to several. But there is a small learning curve if you end up
having to do FFI bindings on your own. Your C++ proficiency would help
greatly there. And who knows, Cello might even have what you need by the
time you get that far.
> My question is, what are the advantages/disadvantages to programming
> games in Python and C++(I am already quite proficient in C++), versus
> programming them all in Common Lisp.
Lisp is much more fun, the way Python is more fun than C++. But Python
is just a scripting hack run amok, whereas Lisp has been crafted from
day one (and that was a lot of days ago) to be the ultimate programming
language. It shows.
Optimally I'd like to be able to
> settle on a language now so that by the time I finish my degree I am
> most proficient in that.
When you put it that way, Lisp again trumps Python. Since you are
proficient in C++, you already are proficient in Python, or will be in a
few months. There is nothing there, really.
Lisp is a very deep language, so every year of use will make you a
better programmer, period. Not that it will be hard to learn, just that
you will keep on learning more and more powerful ways to build software.
Game development is tough. You'll need good graphics, strategy,
performance, and with all that good overall management of code
complexity. Python is fine for toy projects, but is the wrong hammer for
serious work.
btw, Check the newby stories in The Road to Lisp Highlight Film, URL in sig.
kenny
--
Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Kenny Tilton <·······@nyc.rr.com> wrote in message news:<·····················@twister.nyc.rr.com>...
>
> How advanced? Will you want 3D? Complex enough to require a screne graph
> manager? Maybe even a physics engine such as ODE? If so, those are all
> written in C/C++. I see Python has PyOSG to get you to Open Scene
> Graph... use Google to explore this angle further.
>
ODE seems to be an easy target for UFFIfication, it has a clean and
well (thought not completely) documented api. I recently used ODE as a
test target for some experiments with gcc-xml, resulting in a complete
and probably very buggy UFFI interface to it. Very nice. IMHO, ODE
with some higher level lispy abstraction (for managing complex
objects, scenes and stuff) and some decent 3d-engine would be ideal
thing for game-dev.
Finding or building a 3d-engine could be a bit of a problem, thought.
All modern engines seem to be very C++ centric, possibly with some
scripting language support, and generally not very easily embedded in
CL. If somebody knows a relatively low-level 3d library with clean
interface I would really like to hear about it. Off course the right
thing would be to implement it in CL, wonder if there is any work in
progress?
Just some thoughts, since this "lisp in game-dev" topic seems to
pop-up quite frequently and it would be nice to know where all these
people head next after getting their answers.
And hi everyone: My name is T.Neste, and I'm a lispaholic ;-)
tkneste wrote:
> Kenny Tilton <·······@nyc.rr.com> wrote in message news:<·····················@twister.nyc.rr.com>...
>
>
>>How advanced? Will you want 3D? Complex enough to require a screne graph
>>manager? Maybe even a physics engine such as ODE? If so, those are all
>>written in C/C++. I see Python has PyOSG to get you to Open Scene
>>Graph... use Google to explore this angle further.
>>
>
> ODE seems to be an easy target for UFFIfication, it has a clean and
> well (thought not completely) documented api. I recently used ODE as a
> test target for some experiments with gcc-xml, resulting in a complete
> and probably very buggy UFFI interface to it. Very nice. IMHO, ODE
> with some higher level lispy abstraction (for managing complex
> objects, scenes and stuff) and some decent 3d-engine would be ideal
> thing for game-dev.
> Finding or building a 3d-engine could be a bit of a problem, thought.
> All modern engines seem to be very C++ centric, possibly with some
> scripting language support, and generally not very easily embedded in
> CL. If somebody knows a relatively low-level 3d library with clean
> interface I would really like to hear about it. Off course the right
> thing would be to implement it in CL, wonder if there is any work in
> progress?
I see it is time to resume the unmerciless hawking of Cello:
-- OpenGL
-- FTGL (for nice text from any available TrueType font)
-- ImageMagick (mostly for pulling in JPGs, GIFs, PNGs, etc)
-- OpenAL (for cute noises in 3D)
-- Cells (constraints hack for complex model development)
-- Just the beginnings of scene graph management
-- Open (as in MIT) source
-- Portable (developed originally under win32, ported at some late point
to Linux, now being ported to OS X (as of yesterday PM)
I stopped adding libraries to get on with a project which can get by
nicely with all the above, but text-to-speech and a physics engine would
be likely add-ons.
The project is still only for brave souls, however. No doc, lotsa libs
to build, etc etc. Oh, and I need to clean up a mess: the Cello project
on c-l.net is obsolete, as are many links on the Cells project to which
Cello development has returned (see URL in sig).
The only thing I am doing is keeping the CVS repository current with my
working code base.
kenny
--
Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film