Sunday 6 April 2008

Okay, slight change of plan. I'll be using HGE, not the Irrlicht engine, as the base for my game. Basically, I will be making a 2D game, but I need sprite rotation/scaling, alpha blending and additive blending. HGE is perfect for my needs - I'd like to say thanks to Haaf for developing this great piece of free software!

I also found a great comprehensive listing of game engines, both free and commercial, at the Game Programming Wiki.

So, I've made a minimal wrapper of HGE and hooked it up to Lisp via the CFFI. It works, but it's far from ideal. This biggest problem is lack of robustness: when an error occurs on the Lisp side, the C++ side crashes too, and I have to restart the entire game engine. To achieve real interactive development, I want to be able to modify the Lisp code in arbitrary ways, and to see the results instantly without having to wait for Direct3D to reinitialise and all that.

My current plan is to run the C++ engine and the Lisp game in separate operating system processes, and have them communicate by sending messages to one another. This should hopefully improve matters - we'll see how it goes...

Thanks for everyone's comments by the way. I'm aware that CLisp is not ideal, but I've had to rule out commercial Lisps such as Corman/LispWorks because I intend to release this project as free software. I want to be able to freely distribute the Lisp system. On the other hand, I also intend to make the project portable between ANSI Common Lisp implementations.

Wednesday 2 April 2008

Right - I've chosen CLisp for the lisp implementation. It'll do for now - later I might try out ECL and GNU Common Lisp. The following helped me (as a reference point for getting SLIME to work): http://www.gigamonkeys.com/lispbox/. Also, I've installed and tested ASDF and the CFFI.

I'll be using the Irrlicht Engine for graphics, as it has the features I need, and good documentation :)

A quest to create a game in Common Lisp, for Windows.

As I've got a bit of free time this week, I'd like to make a game in Common Lisp. The target platform will be Windows XP. I'll keep a record of the development here.

Okay, first I need to download Emacs and a Lisp system that runs on windows...