Thinking until the 2147483648'th second

About This

I think all of the files I linked to in some of my older posts are gone now. I am working on fixing them.

Wednesday, July 4, 2007


So here I am, finally using a blog to keep track of different things I'm researching. I've been meaning to do this for a while.

Basically, I'm starting to research a broad amount of ways to implement a flexible development environment for interactive 3d worlds. I know that's extremely vague, but I don't even know exactly what my goal is yet. I'm sure that it won't be the pure 'gameplay' type programming because honestly that doesn't interest me as much as other things. I'm fascinated by AI and self-populating worlds, as well as advanced graphical techniques. Somewhere this will merge into an interesting place where I think the term 'game' might be applied, but only by a natural progression from an incredible amount of interaction with some smart AI creating the rules.

This blog will serve as my platform for logging technical details and personal opinions about everything I research. I will describe the process I'm going through and reflect on different ways of achieving my goal. Something I need to do soon is actually state my goal, but I can still look around at a couple things first. :)

So here's where I am now: I need to get familiar with more programming languages to get a feel for what's really possible, specifically functional (ish) languages. I will do this by researching several languages, pick a few out and develop prototype systems using those languages. On my list of languages are Lisp/Scheme, Erlang, Smalltalk, C, C++, maybe Haskell, and others. I'd love to hear peoples' comments about these languages as I'm researching each of them.

To start off, I found an interesting article about Erlang and multiplayer gaming (Writing low-pain massively scalable multiplayer servers). I'm very interested in Erlang as possibly the 'controlling' language that manages the flow of the program, while most of the actual program is written in Scheme/C++. More research is required on this though.

I really need to modularize this project and figure out how deep I want to go in each module. For example, I haven't decided if I want to develop a rendering engine from scratch or try something like Nebula Device (which looks fantastic). The deciding factor will be the languages I choose to work in and how hard that makes it to interface into an engine, but I'll most likely write the lower level modules in C++ anyway so an interface is going to be required.

Nebula Device looks awesome though, and it's worth at least a prototype to see if I should use it or not.

Random Notes

I work at Coptix

Ideas / To-do

  • Research .Mac style photo gallery for screenshots