Tuesday, 16 May 2006

"CastleWall" 0.2 progress

So its been a while since I've updated me ood blog, especially on my c++ projects front - which I really should do, as not only does it help me show off ;) which everyone has to do a little of now and again.. it helps me keep track of my own progress and solidify it in my mind. Here's a biiig update to make up for it.

I've been working on what I've been calling 'CastleWall 0.2', though I feel the iteration should be a little higher, which shows I'm not setting any milestones for myself, oh well I'm learning it all for the first time.

So what have I done? Well I've got two castle's made up, with full opal/ODE physics. Its a lot of bricks, so I had to make them larger and fewer, and they had to be box primitives unfortunately as ODE doesn't support trimesh-trimesh collision, which was a bit of a blow when I found out.. The primitive shapes do anything for any semblance of realism as you might imagine, I plan to try using a random selection of materials to add more variation and/or some offset mapping to see if that helps. The good part is that all the bricks are loaded from a .scene(xml) file from blender and a method just adds physical attributes to the mesh used. This means that all sorts of structures can be made, and characters placed within Ogre. Though I'd like to add scripting to pick up the object names in Blender for use without re-compiling

Performance is still low when certain parts of the castle's get struck and the collisions get complex, I'm going to have to work on this part. I've made the current player's castle static geometry and that helps tremendously, its when a big proportion of the castle 'bricks' have a force acting on them that causes the slow performance problems, perhaps a good solution would be to limit the amount of objects that can be physically effected for each major collision, such as cannonball striking.

I decided to go for a multi-speculuar bump mapping shader, which I admit I from the Ogre sample, I really want to learn how to write shaders, but I'm concentrating on C++ and general game programming and anyway, why re-invent the wheel? The performance difference doesn't seem to be that bad either between that and a more basic material.

I've got terrain with a splatted texture, not PLSM2 as when I first tried it I couldn't for the life of me get it to run, though the latest version works a treat. I don't think it would be an advantage as my test level is very small anyway.

I've also added a skybox of rolling green hills and somewhat blended the terrain into in, which I'm quite proud of, I just have to alter the terrain to round at the edges in the correct way to look like it is completely another hill no different from the skybox ones.

Another feature (its not a bug, honest!) I'm proud of so far is when the current players turn is up, an animation track, takes the camera to the other player, I bit like Battlefield I've noticed though without all the post-effects (can't wait to dig into the Ogre compositor framework!)

I've also managed to integrate/modify a class so that player names can be displayed above players heads, I've made it so they appear central out visible at a sensible height to be read at a distance, its a pity I'm still using the Ogre Head, which is the biggest sore thumb of the artwork at the moment. I'm hopefully going to take a bit of time out to model some reasonable looking wizards.

I've also made use of the GameState manager to create a menu state after getting through a lot of my own mistakes. This has just a ocean, skybox and working menu items for New Game and Exit Game. I'd like to get some in-game options in there at some point too. The ocean needs and big island of rolling hills that I can fly to and around, I think that would look super cool. I'd like a water shader in at some point, one that will work on my ancient temporary Nvidia Tnt2 (ATI 9600 finally melted).

Theres also a feature in their to build, that is create shapes (currently based on tetris shapes) that can be moved and rotated on all axis via a menu and then made physical. These will be surrounded by swish magical effects with particles.

I should mention that I've managed to implement these features thus far: a simple sound manager in via Audiere, physics, a working CEGUI interface, particles, scripting, OIS input, a process manager and a game state manager. So I guess I shouldn't be too hard on myself with my progress. As most things though its turning out to be more of an undertaking than I thought. Though I've been learning lots of OOP and C++ and things about game programming, so its been very useful. I think my brain would have rotted at work by now if i had not started this project.

If any of you are interested out there, check back with any updates I hope to add soon

Check below for some screenies!
(Don't take these as an example of Ogre's real graphical prowess!)





More Pictures

Thursday, 19 January 2006

General thoughts 101

Wow this blog is getting to be an ecletic mix. You see I sometimes have a hard time explaining my meat-free diet. I consider all the crap thats happened in the past to a unintelligent barbarianism, I believe in progess, the development of self and society. Not far out concepts I'm sure many will agree.

To attach any kind of value to this strife of all these lives and the progress they've made as well as attaching any meaning to ours we must value life itself, or everything we do is in vain. Therefore very simply I value all life, especially so because I have the faculties to not only empathise with fellow human beings, but the progress made by our fellow living creatures parallel to our own. It is not the 'be all and end all' of all progress that can be made, just one of the great many things that I urge others to do, to simply better every beings value.

I think its important to realise that we all play a part however small in the long but arguably enjoyable march of the human race. It is important to have confidence in oneself in knowledge that we can improve and affect this reality in small but significant ways.

I have no religion so I find my value in life, in the universe, right now in this reality. To make sense of this life, firstly I believe in progress, progress of people, of humanity. To progress, I have come to think that we must start thinking more of the value of the products, the inventions and thoughts of mankind. This progress for me is what defines mankind, it is what we are good at, what we have excelled at for millenia. Progess is tightly linked with creating a better more comfortable, fairer world for us all.

Xbox Live Gamertag

Surely MS has enough coders/designers working in various departments, why hasn't Xbox live Gamertags been integrated with MSN messenger or custom pages yet? I would have thought that would be a very sought after feature. Though probably like many gamers I could be accused of showing of my (pityful) scores too much

Wednesday, 18 January 2006

Xbox 360 thoughts and Frame Rate

So, I've just completed Perfect Dark Zero on Secret Agent (as well as PGR3), yes it was fun for a while but I started getting a *little* tired of the same pop and take a shot gameplay, and I find the forest levels a little tedious as I tend to just sit at a distance with my RCP90 heat vision and poke my head out now and again. I don't know if its the mood I was in or its the fact that I've been playing Project Gotham Racing 3, with its brilliant smooth gameplay, I don't recall ever seeing any slow frame rates and also(I forget the technical term..I should really know..) seeing the split you get in the middle of the screen between two frames,something to do with writing to the graphics card's backbuffer too late.

Perhaps its mostly me, I'm a sucker for having a smooth frame rate, as drops ruin the immersion for me. Though we seem to be constantly reminded that they didn't have long to develop the games, not utilising three cores all that good ... its seems shame that the same company that produced Goldeneye.. Goldeneye! for godsakes couldn't make a better game with all of today's technology, perhaps they just couldn't pull it off. I don't find the levels as immersive, interesting or exciting, though now I remember it Goldeneye had frame rate drops, so perhaps its just my dashed expectationm I don't know. I prefer the theme and artwork of Goldeneye as PDZ seems a bit too fluffy at times.

Some other gripes I've have with PDZ are the dodgy physics.. ok perhaps they were only included on the advent of the developed 360 version, but sometimes it looks like a playful invisible giant has one of the characters legs, which it begins to spin and fling around, well like a rag doll in mid-air. Sometimes a hit with the plasma rifle will cause a character to spin and bounce on the spot indefinitely. The physics have seem to have gotten worse since I've started to use my Joytech vga cable into my widescreen monitor, unless its my imagination. Its likely that I'm comparing the physics to Half-Life 2, FEAR and the like, which are pretty dam good, perhaps I shouldn't excpect that a new game's technology will be better than a game nearly a year old running on my decrepid(! .. well..) 4 year old PC. As well as the physics ome of the animations when characters are shot also look very familiar....

While I've brought up Goldeneye again, where are all the options that Goldeneye had for multiplayer, the personal reward you recieved from unlocking those options were immense.

Its not just PDZ that has frame rate problems, everything with an ingame looking cut-scene (ie. All the bloody checkpoint intros in PDZ!) skips every half second or so (check out the kameo game intro, Need for speed and Quake 4). Though I have to admit apart from the in development bugs, the Fight Night 3 demo doesn't have any frame rate problems.

But I can't help thinking that developing games is such a Mammoth task, its kind of luck whether development goes smoothly or not. Perhaps we should be congratulating Rare on making a very good game with the time with dev kits, and pulling off the amount of fancy graphics... though still the length and quality of gameplay vs. the total develop time seems a bit off.

Though if you've read this, don't take it too much to heart as PDZ is a good game, the 360 is a good console, just don't expect too much from PDZ and from the 360 .. just yet.. and after all I've managed to get some of the gripes of my chest :)

Sunday, 15 January 2006

About my Flash projects

I'm currently on a Work Placement from Uni, I work at a school near Birmingham and Dudley. We are currently developing for DigitalBrain a VLE(Virtual Learning Environment) that we share with the Dudley area. I currently am working on a VLE game as part of my job and have picked up from the previous technicians/web developers who were on a work placement at the school. Its giving me a good start in simple but solid game development and I'm loving developing in flash, (probably just because it is so easy).

The game is centred around two characters who get pulled into a portal and have to complete a series of interactive and educational games to get out. At the moment I have completed two sub games (minus some other additions like missing sounds, incomplete links etc..) and am now working on a point and click game in a Monkey Island vain based on the book Of Mice And Men.

The point and click is a much bigger task than the last two, and I only get time to work on it between technician jobs and between yabbering at me (sorry :p ). This in turn contains sub-games, three of which I have completed which are a Horseshoe throwing game a Jigsaw, and a collect the rabbits game(like Whack the Mole). Though I'm making it up as I go along :)

Ones of the hardest part is the script/structure of the game, I see myself as being best at graphics and programming, I really don't know where to start on putting dialogue and interactive items in the game. In monkey island for example, you had to steal a red herring behind a kitchen and give it to a troll guarding ...so perhaps I should just put some similiar tasks in like that.

You can see some screenshots here -the fonts are not displayed .. I'll have to look into embedding fonts

About my C++ projects

Well, I've started a few months ago learning C++ game development, I have a background of C++ for Uni and I am trying to further this in preperation for my upcoming final year project. After failed attempts in just DirectX, I have managed to get a good (basic) foot hold in the Ogre3D graphics engine(open source). I hope to use this in my final year project, although I'm still mulling over various projects to use it for. It is keeping me actively learning c++ and game development over my placement year

At the moment I've got a basic game in mind that I hope to complete as a basic start in learning to use the engine better. I will probably discuss this in another blog along with some pictures of early development.

Physics Test
More Screenshots