I've been working on bits and pieces from all over the "to-do" sheet. I got around to writing a first draft of a design document, which was very motivating, because it was mostly screen-shots of features that I'd already built! I started to realise how much work I've actually done. I wrote a basic combat AI system - the bad guys will actually chase and attack you now. And you can rub them out, and all over the walls! I used the same multi-texturing approach as in the first iteration of the engine. The AI is a bit better than before - there is proper collision detetection so they have to walk around each other rather than bunching up too much. I also re-wrote the traps and triggers code. I got the boulder physics working last night, and I've got the dart traps and projectiles like the javelin next on the "to-do" list!
I got a Windows 32-bit, 64-bit, and linux 32 and 64-bit ports working, although it looks like I'll have to test these on some more computers to get all the libraries to work nicely - always the case. I also bought an Xbox 360 controller and got this working - much nicer to use than the keyboard! The "rumble" vibrate feedback works on Windows via XInput when fighting - haptics - great fun! This means that I'm actually using OpenGL with DirectX - an unsual combination! I also downgraded all the graphics to OpenGL 3.2 so it should port to OSX. I had to get rid of a couple of not-so-great OpenGL 4 features that I was using, and now I have a good excuse not to use the [hideously ugly] OpenGL "transfer feedback" API for particle systems.
I wrote a new prop-loading system last night. It loads all the basic props, or scenery objects, into the engine, and renders them. They look a bit nicer now with a proper Phong lighting shader. I ran into my first threading overwrite when trying to move the light source around from two different threads, but once I realised what was happening it was easy enough to solve.
During the week I couldn't sleep so I just kept working, continually, for 36 hours, with no ill effects - I even went to the gym afterwards! I got all of the character physics working, dumping the old code that bounced the character when you ran into a wall - it introduced some unreliability into the calculations and some edge-cases (quite literally, when you jump into a corner) got you embedded into walls. So now you just stop moving when you hit a wall. I've actually figured out the problem with the simulation code now, but I'm not sure that bouncing was really a nice effect anyway - the motion feels too "cartoony" already, as you slide around a bit when changing directions.
Next I want to (from the previous post's list) improve the particle system, and get some AI back in to bring the place to life. Right now you can wander through the environment but it's like time has frozen - all the bad guys are motionless. I would love to get the traps functioning again - they are probably the best part of the game. Every game should have poison dart traps, trip-wires, and boulders from the Temple of Doom. Even the Sims.
Because the game is so dark, and has a central point of light, I thought it might be nice to have some light sources in special places in the levels, or even have glowing parts of things i.e. the eyes of a goblin, or the magical letters on a spellbook that show up, even in the dark. I can use the alpha channel in the specular maps to indicate parts of each texture that should ignore the lighting equations.
Welcome to the newly-registered www.crongdor.com! I've got right back into game development lately - I'm determined to finish this game off this year. As you can see, I started this project about 2 years ago. It was originally a test to see if I could get a 3d graphics engine efficient enough to run on my little Asus EEE netbook (which has no graphics card). It was a success, so thought I'd start a game project on it - the goal was to make it feasible for me to single-handedly make a game in my spare time (on the same crappy netbook). I played with a turn-based strategy idea first, then a survival horror game all in black-and-white. I finally settled on the blood-thirsty barbarian idea after listening to a couple of heavy metal albums, and made up the name based on a mix of Conan the Barbarian and Trogdor the Burninator (an hilarious flash game). I made a really good bash at it, drawing all the sprites with the tiny mouse-pad, and recording all the sounds with my voice on the netbook microphone. A couple of friends pitched in, and I got a pretty nice game sort of half-finished. Then I started work teaching modern 3d graphics, and re-invented the project as a proper, hardware-accelerated engine based on OpenGL 4, so that I would learn shader programming and the new pipeline. This was a rather large set-back in terms of getting the game finished, but I learned an aweful lot - mostly how badly designed the OpenGL API is, but that's another story.
I've been re-building all of the functionality from the Ogre-based Crondor, but better of course. I spent a couple of months coming up with a new tile-rendering engine based on hardware-instancing and texture atlases, after which I started writing the engine from scratch for the third, and last, time. It's now incredibly fast. It will no longer run on the EEE, and I've lost support for older Macs, but it's a much more polished engine. It should port back to OpenGL 3.3 for newer Macs, but I haven't tried that yet. Anyway, here's a summary of some of the new things that I've done:
And some of the next features that I want to write:
Well, this works at nearly 1000fps now - I did some tooling around with memory allocation, and deferred all of the image manipulation until after the programme finishes and now it records in-game. No scripting required. No saving of states required. No Fraps required.
I disabled the flickering light effect for the video because it was using a separate timer and looked crazy on a fixed-step frame dump.
I haven't uploaded a new version of the Crongdor tech-demo for ages, so I'm doing that now! I've just uploaded a Linux, Mac, and Windows copy. New features:
I have some AWESOME ideas for the next version. I should have a play demo with some missions in a couple of months too...
Crongdor the Barbarian is an under construction computer game, but you are welcome to play it while I am making it! I upload a new version about once a month. Crongdor is a game about relentless violence and gore in a dark-ages setting based mostly on real events. The eponymous character is a violent warrior who is only interested in conquest, power, and loot, and uses brute strength, massive weapons, trap-making, and bombasity to solve most of his problems. He's inspired by Hercules, Conan, and some Norse mythology. Try the javelins. They are very satisfying.
Get the latest version here:
|Linux i386 binary||crongdor-i386.tar.gz||30 May 2011|
|Mac OS/X .dmg||crongdor-installer.dmg||30 May 2011|
|Windows||crongdor-win32.zip||30 May 2011|
You can change all the buttons in "keymap.cfg", but the defaults are W/S/A/D, spacebar, alt. 1 & 2 switch between his ancestral sword, and javelins (he has 10). There are a few more buttons, and lots of other settings to fiddle with in the .cfg files. Also...the mouse buttons let you fiddle with the map layout (it's a work in progress).
|game design, cross-platform engine, "art"|
|Xypher||title theme, sound effects|
|@MScDre||Mac hardware & testing, promo video, and more soon...|