I finally fixed that glass graphical programming shader issue I had been having for ages. It's not finished yet, and currently the algorythm is quite basic, but I have a reasonably realistic simulation of glass implemented in my 3d engine.
Today I have been working on level design as a break from coding. I would have actually loved to have continued working on something coding, but I'm currently running a massive fever and can't stand up for longer than a couple of minutes before I have to sit down. Who knew that eating chedder with a thick layer of mold would make you feel ill, even when the visible parts were cut off?
No worry, I did some level design instead. I'm going to appy to a company in a short while that uses the Unreal Engine, so I kinda want to prove that I can still use it, and also I had this layout in my head pleading to get out. I think apart from adjustments I'll inevitably make when I populate the level with pickups and player starts, and modifications to make the AI work, the layout is just about complete now, which is allright for just a short number of hours work. Obviously it looks like shit currently, but it has no art in, and all the texturing and lighting is horribly placeholder.
I'm having such an annoying issue with some realtime directx 9, sm3.0 shader I'm coding right now. I'm basically trying to simulate the effect of refraction in a translucent object using a realtime cubemap and a normal map to perturb the normal of a fragment for refraction.
When we look at the object straight on, it looks allright, basically, what I'd expect. Everything looks distorted and cool.
However, if we look at any kind of an angle, it goes to shit.
If anyone knows why this could be, there's a free beer being offered.
The Knife - we share our mothers health (radio slaves secret base rmx)
Still quite basic looking, but to me, this is currently a thing of beauty.
What we're looking at here is the latest geometry only output of my procedural level generation tool for quake engine (and potentially Doom 3 engine) games that I have been developing as part of an ongoing research project.
The tool, when run, automatically designs and creates the level geometry, and textures it. It then outputs this as a level file that can be run by the game.
Currently it is able to create rooms, connect them with doorways, and texture them in a way that is slightly pleasing looking. From this point on now, I basically just need to add more complexity to the generation, and code rules for the creation of deeper level gameplay.
I've been working eight hours solid today, so I imagine I should break off for the night, and pick it up again in the morning. I'm hoping tomorrow to implement both enemy and pickup placement.
A short shoutout to my friend Dani who has been developing the 'WiiAction' input library, a C++ library for getting Nintendo Wii control support in PC applications. It's very powerful, and quite cool, here he has used our game Magna Karter to demonstrate its use.
Last night I coded solid between 6pm and 7am. Basically very quick work in which I started from an empty workspace, and recreated each module from scratch that makes up my real time engine.
Then I slept.
I'm rather pleased with the progress I made in that time. As I had been adding new features to the previous versions of the engine, it was looking a lot more dirty internally, framerate was suffering, naming conventions weren't consistent, and I was using too much c, and not enough c++. It was a mess.
Right now, it's clean as fuck. And oddly runs 5-10fps quicker, and there are shitloads of optimizations I can think to do without breaking the elegance of the design. However, before that happens, I'm next going to implement shadows. We did them with Magna-Karter, but that came, the shadows were cast only from one direction, and looked a bit nasty from angles that I hid with the level design. This will be a much cleaner implementation, and I'm also going to consider replacing my lighting shaders with something closer to Pixar's Uber Lighting system, which I've heard a lot of praise for - although, currently, I have no idea why.
One disadvantage to these next developments, is that I'm probably going to need more than 64+32 instruction slots on the pixel shader. I think I might need to see if I can buy a shader model 3 card, and cut off sm2.0 support.
So last weekend two friends and I got together and developed a game in 72 hours. It was for a scene competition. I've always admired the scene, but shyed away from taking part in it, always seemed a very serious challenge, but I was lucky enough to be working with two of my best peers and also, two of my best friends too.
We picked up some supplies for the weekend:-
And for the next three days this was our office plan:-
We worked pretty hard for the duration, there weren't really any real breaks for anything longer than a few minutes, although we did take some breaks for beers and posing:-
And another right towards the end at the Japanese restaurant. Notice here, that I am very tired looking.
However, we did succeed in finishing on time! From the readme, the in game story:-
In the not-too-distant future, the world's oil supplies have been depleted. Vehicles can no longer run on ordinary gasoline, and new methods of transport have had to be developed. People tried electricity but decided it was rubbish. Eventually a radical solution was posed by Dr. Von Aderläufer: Utilise the power of magnets!
He developed and patented a magnetic transportation device called a Magnetorunner. Unfortunately this device had a few flaws and was not very commercially successful. Dr. Von Aderläufer was committed to a mental institution having been diagnosed with severe (near-fatal) narcolepsy.
His Magnetorunners were soon forgetton as a popular mode of transportation; discarded in favour of the horse and kart and the bicycle. However, it did appeal to a niche market of idiots, who eventually formed the Magna Karter - a deadly tournament racing Magnetorunners across blocks that have been carefully laid out in the vast vacuum of space.
The two finalists in this contest are Harry Johnson and Juanita Dark. You play one of them. Let the games commence!