StarCom: 125 Pythons

This is my first post about a project I’ve been working on for a good while now. Unfortunately I’ve never been sure what the project was destined to be. Initially it was a simple 3D star map for use in space based games on a campaign scale, to replace one I wrote a few years ago which seemed fairly popular called 3D StarMap. But things have developed and I’m considering a full blown multiplayer online Elite clone. I might settle for something inbetween, but I’m not working to a deadline so I’ll see where it takes me. This screenshot was just to test frame rates with varying numbers of polygons, here showing a 5x5x5 cube of Python-style ships from the old Elite game. There are only about 1625 polygons for the ships, although the starfield background is mapped onto a large sphere, so that’s a few extra polys. I think I managed to get upto just over 145,000 polygons before the frame rate changed from 71 fps (frames per second) which isn’t bad.

Checking the frame rate when displaying 125 copies of the old Elite game Python ship. Each model has just 8 triangle and 5 quad polygons, so that's 1625 polygons at 71 fps.
Checking the frame rate when displaying 125 copies of the old Elite game Python ship. Each model has just 8 triangle and 5 quad polygons, so that’s 1625 polygons at 71 fps.

So far I’ve been trudging through Blender to create the models, primarily because I want to keep to free software in developing this project. I use DevCpp from Bloodshed Software for development, using C++ of course, Blender as I mentioned for the 3D modelling and soon I’ll switch to GIMP for the textures and other graphics. To begin with exporting raw ASCII models from Blender was sufficient, until I wanted to include the textures which aren’t supported in the raw format. So I switched to the AC3D ASCII format which does provide support for textures and I’d much rather Blender calculated the texture coordinates that do it manually myself.

I need to find some better way of creating the background starfield, the image used is quite big as it is, but it still gets blown-up and causes the stars to look fuzzy and dull. I’m going to have to work on some functions to load .PNG format textures as the compression on these is pretty awesome, which is extremely useful as these textures could end up being rather large. I’ve had some problems with compiling a working .PNG library (libpng and glpng) for windows anyway, probably a cinch on Linux. I’ve managed to create the zlib but it seems to have problems after that which I won’t go into now.

Of course the whole thing is written using the OpenGL graphics library.