This is an ASCII version of this blog: http://aerique.blogspot.com/2010/07/ilge-2010-engine-troubles-over-tentacle…
1 Introduction
~~~~~~~~~~~~~~
I've finally managed to scramble together a good couple of hours to work
on my [ILGE 2010] entry. At this rate it will be doubtful whether I'll
have a minimal game by the end of this month :-(
[A video] of the first item that can be checked off the to-do list:
rolling terrain. The video is low quality and stutters but this is due
to me using sub-optimal software to capture my desktop. The program
actually runs very smoothly on both systems I've ran it on (a Samsung
NC10 netbook and an Intel P4 2.8Ghz desktop).
The video shows the planet on which this game is played. It is a
standard heightfield created using [Perlin Noise] (with the CL [Black
Tie] library) which keeps scrolling down endlessly until the player
dies.
[ILGE 2010]: http://dto.github.com/notebook/2010expo.html
[A video]: http://www.youtube.com/watch?v=4QljLf9OSi8
[Perlin Noise]: http://en.wikipedia.org/wiki/Perlin_noise
[Black Tie]: http://github.com/aerique/black-tie
2 Goal
~~~~~~
Explore the usability of [Ogre] and C++ from [Embeddable Common Lisp]
(ECL) using functionality specific to ECL as opposed to using the CFFI
approach used by [Okra]. (Since Okra's CFFI approach needs to compile a
small C wrapper library to access Ogre's C++ functions anyway.)
I will be ignoring any licensing issues that might come with releasing a
binary that's statically linked to ECL and Ogre for now.
[Ogre]: http://www.ogre3d.org/
[Embeddable Common Lisp]: http://ecls.sourceforge.net/
[Okra]: http://github.com/aerique/okra
3 Development Environment
~~~~~~~~~~~~~~~~~~~~~~~~~
My development environment is Debian Linux. Testing will also be done
on Windows (Vista unfortunately) in the future but that hasn't happened
yet.
3.1 Dependencies
~~~~~~~~~~~~~~~~
- ECL 10.4.1
- Ogre 1.6.4
- OIS 1.2.0 (not used yet)
ECL has been compiled by myself but Ogre and OIS have been installed
using Debian's package manager (you need libogre-dev and libois-dev).
I have not used Ogre 1.7.x yet but since Ogre's API has been pretty
stable in the past it might just work without any changes.
4 TO-DO
~~~~~~~
In chronological order:
- [X] rolling terrain
- [ ] controllable spaceship
- [ ] basic tentacles
- [ ] bullets
- [ ] shootable tentacles
- [ ] tentacles that shoot small spores
- [ ] roaming (bigger) spores that attack the player
- [ ] collision detection: spaceship vs terrain
- [ ] collision detection: spaceship vs all other entities
Don't know when:
- [ ] some minor GUI elements showing the score, highscore and FPS.
5 Source
~~~~~~~~
The code is not pretty but available here:
[http://www.aerique.net/software/etotp/etotp-20100713.tar.gz]
I'm slowly moving from using global variables to stuffing everything
into a scene-class instance so that will account for any duplication you
might see.
I'm a little late getting out the gate here. I'm working on Bunny Slayer, a
Zelda-style RPG about saving the world from the evil Black Bunnies.
So far, I've spent most of my time setting up the Blackthorn Starter Pack to
make it easy for others to get started with developing games. I've got the
process down to about four steps. If you were only interested in running
Lispbuilder, you could take that down to two steps by ignoring the parts
about Mercurial and Blackthorn. See my Quickstart Guide for details:
http://code.google.com/p/blackthorn-engine/wiki/QuickstartGuide
So far in Bunny Slayer, I've got a character walking around a black screen.
I'm hoping to get some friends involved with the coding this time, so we'll
see what comes of it.
The other toy I've been playing with lately is Escalator, my new object
system for Common Lisp. Escalator is based on several articles I've read on
Entity Systems, which are used in various parts of the gaming industry to
improve performance and make maintanence more manageable.
http://bitbucket.org/elliottslaughter/escalator
I'd be interested in seeing what people think of this.
--
Elliott Slaughter
"Don't worry about what anybody else is going to do. The best way to predict
the future is to invent it." - Alan Kay
Progress Report #1
* I have a site set up for my game: http://norstrulde.org/ilge10/index.html
* I have a scheme compiler and abstract machine under way
I intend to present the game, its level editor, my daily progress log,
and the live lisp system running the game all together on one web
page. The lisp system is very closely based on the Compiling Lisp
chapter of the book, Paradigms of Artificial Intelligence Programming
(PAIP). It includes a parser, compiler, assembler, and abstract
machine. Lexical closures and the core special forms are
implemented. In the coming days, I will add macros, call/cc, and
built-in functions.
I've successfully loaded up the cl-opengl-examples. Thanks guys!
On Tue, Jul 6, 2010 at 10:48 AM, Schell Scivally <efsubenovex(a)gmail.com> wrote:
> Awesome guys. Thanks.
>
> On Sun, Jul 4, 2010 at 7:17 PM, Patrick Stein <pat(a)nklein.com> wrote:
>> I use cl-OpenGL under MacOSX with sbcl all of the time. I had trouble when
>> I first tried it through SLIME with a threaded version of SBCL. I think it
>> works since I updated my cl-OpenGL install.
>>
>> I'm working on a tutorial for GLSL through cl-opengl. At the moment though,
>> I just have some older GL stuff in cl-opengl on my site: http://nklein.com/
>>
>> -- Patrick <pat(a)nklein.com>
>>
>> On Jul 4, 2010, at 1:23 PM, Schell Scivally <efsubenovex(a)gmail.com> wrote:
>>
>>> Hi guys, I'm working on a game for the expo competition. Can anyone
>>> tell me the shortest path to opengl on mac os x? All the posts I've
>>> found are about 2 years old. Have there been any advances on cl-opengl
>>> since then? I should also mention that I'm completely new to lisp in
>>> general. This is a trial by fire.
>>>
>>> --
>>> Schell Scivally
>>> schell(a)efnx.com (efsubenovex(a)gmail.com)
>>> http://efnx.com
>>> http://github.com/efnx
>>>
>>> _______________________________________________
>>> lisp-game-dev mailing list
>>> lisp-game-dev(a)common-lisp.net
>>> http://common-lisp.net/cgi-bin/mailman/listinfo/lisp-game-dev
>>
>
>
>
> --
> Schell Scivally
> schell(a)efnx.com (efsubenovex(a)gmail.com)
> http://blog.efnx.com
> http://github.com/efnx
>
--
Schell Scivally
schell(a)efnx.com (efsubenovex(a)gmail.com)
http://blog.efnx.comhttp://github.com/efnx
Progress report #1
I've some of the basics of my game set up at this point:
* 2d faked isometric view
* sprite rendering
* basic player control (moving, firing, weapons selection)
* collision detections and explosions
1. Code: http://github.com/netguy204/1MonthLispGame
2. Screenshots: http://wiki.github.com/netguy204/1MonthLispGame/
3. Latest build:
http://github.com/downloads/netguy204/1MonthLispGame/Milestone9.jar
Now the more detailed gameplay is starting to materialize in my head.
I'm working on adding barriers and other interacting entities to the
map and trying to figure out how to make the game feel really
competitive while keeping the simplicity of a turn based style.
I'd love it if people posted brief progress reports to the mailing list, as
part of the official conference proceedings. Just put "[PROGRESS]" in the
subject line so we can separate them later.
Here is my first progress report.
1. http://github.com/dto/hypo
My thoughts and some code toward a reproducible-results sort of digital
asset management system, with relevance to games.
Github's formatter messes it up. To read the raw file, use this link:
http://github.com/dto/hypo/raw/master/hypo.org
I'm using the Org Babel software described to develop this example Hypo
game:
2. http://github.com/dto/xe2/raw/master/void/void.org
Detailed story outline and plan for an XE2 game, using much of my existing
sci-fi asset library, combined with new NASA imagery-derived texturing.
What else are people working on?
Hi guys, I'm working on a game for the expo competition. Can anyone
tell me the shortest path to opengl on mac os x? All the posts I've
found are about 2 years old. Have there been any advances on cl-opengl
since then? I should also mention that I'm completely new to lisp in
general. This is a trial by fire.
--
Schell Scivally
schell(a)efnx.com (efsubenovex(a)gmail.com)
http://efnx.comhttp://github.com/efnx