Hum, can’t blog here with Live Writer anymore? That’s too bad…
Anyway, I wasn’t going to participate this time… was thinking about dedicating that time into finishing my game…
But, looking at all the posts on Tweeter, I’m feeling the urge, so even if I can keep away from temptation, it’s better safe than sorry, so I’m putting up my framework, the same as before…
You can download the framework here, if you want to use it (it has some sample applications that show most if not all the features). Current features:
– D3D9 initialization and some helpers (ignore the OGL stuff, it’s something I started, but didn’t finish)
– FMOD interface for sound
– 2d Sprites (with sprite caching, etc)
– 2d Particle System
– Simple UIButton for easy menus
– Text (through FreeType 2)
– 3ds file loading (only tested with 3ds generated by 3d Studio Max). Loads lights, meshes and cameras.
– Small simple math library (vectors and quaternions)
– Simple 3d camera handling system (just with a “look at” operation)
– XML loading/saving (might come in handy for configuration files, load/saves, etc. The XML loader was created by Frank Berghen, not me… the writer is all me, although the loader also has save functions, but I’m too lazy to figure out how they work)
– 3d particle system (based on the 2d one, so very rudimentary)
– 3d sprite system (quads that always face the camera)
– LUA library support (it’s actually ripped from my engine, so it’s a good support system for LUA)… Last time I used cutscenes and scripting, and loads of the game code was much simpler because of that… This time around it has the beginning of a framework to manage objects, references, etc as well
– DDS image loading for an offscreen buffer (just supports A8R8G8B8 images). It’s useful to generate composite textures or dynamic textures
– 3d Tilemap (Kind of a blocky heightmap with an automatic texture atlas generation and partition of the map in chunks for possible culling (not implemented)).
– Voxel system (almost fast enough for realtime regeneration)
– Voxel editor application (needs to be compiled and tweaked to your actual use). It supports textured and colored voxels, besides some props and node placement (for cutscenes or game related stuff)
– Simple geometry generation (quad, cube, spheroid, caps and cylinders)
– Special effect objects (sparks, explosions, although the explosion require some authoring)
– Full-screen effect systems (to implement glows, or invert the colors, or add displacements, etc)
– Full shader-based rendering system (no fixed-function pipeline), with simple lighting system (only shadowless point and spot lights, although directional lights should be easy to implement, just a matter of adding to the shaders). Shader system is built with uber-shaders in mind, with easy to add per-material properties (material color for example) and system-wide constants (ambient light, for example).
– Launcher functions (a dialog box that pops and asks for resolution, sound volumes, window/full screen, etc, in 3 easy lines of code)
– Simple navigation mesh generation and path finding (based on Recast). It enables to add objects to a NavMesh object (not all objects work yet), and it will build the navigation mesh, which can be queried… It’s easy to extend, if you know how to use Recast. This component is on a separate library, so you “opt-out” of it easily.
On the tools side, I’ll use:
– Visual Studio 2010
– Photoshop CS5 (for 2d graphics and textures if I decide to adventure into 3d, etc)
– 3d Studio Max (for modelling if I go 3d, or for title screens and such otherwise)
– sfxr (or Bfxr) (for audio effects)
– Everything I get my hands on…
No idea what I’m going to use for music, but probably one auto-generator like http://abundant-music.com/, as I did last time.
As I said, I want to work on my current project and have some family-type stuff to do, so even if I participate, I won’t have much time, but I’d like to keep my options open…
Have fun everyone, good luck!
@shadowcovenant