Showing posts with label DirectX 10. Show all posts
Showing posts with label DirectX 10. Show all posts

Friday, January 22, 2010

Foof Engine - Cheese Kung Fu, Grapes of Wrath, and cel shading!


All sorts of things going on in this update... first of all, I decide to try to give the cheese some melee moves. Yup.. MELEE MOVES! He can punch and kick and smack up a few 'nanners and... newcomers! A grape enemy that if in pursuit of Mr. Cheese will throw a grape grenade every few seconds. He also emits some grapes that go squishy when you kill him.

Also put in a rudimentary cel shading technique. Very rudimentary, first of all it clamps all lighting in bands and sort of checks for contrast in depth or normals to decide what an edge is. I sort of hacked it together independently, I'm sure there are better filters out there to find edges, but whatever! For now it works!

Also very interesting is my improved animation system... support for multiple tracks in my foof 3D format! Smooth blending between animations! Having separate bones play separate animations! Hoorah! Still needs LOADS of work.

Saturday, January 16, 2010

By the Broccoli in my hand...


Yes you see right. That is a flying saucer fighting a giant broccoli.

Video here : http://www.youtube.com/watch?v=FsAVcQAfC3s

What's new? Well I finally figured out what was wrong with my directional shadowmapping... embarrassing, really. I didn't realize that in orthogonal projection the z is already clamped between 0 and 1, I kept trying to divide it further by Z far... oops!

The decals are painted using a way I kind of theorized on my own, still needs work. Basically, a billboard quad is rendered and then we figure out the distance to the pixel behind it to figure out the tex coords and all that jazz. I will explain it more coherently when I have it perfected.

The bonus of this is no monkeying around with copying geometry, finding tex coords, etc. nonsense... this gives us seamless decals across all static geometry. FUN!

Saturday, January 9, 2010

Foof Engine: But what about bullet holes!?!?!?!?

Ok I know what you're thinking. Foofles, your game is awesome but the world is completely devoid of anything.

So I created a 3D map format and the export plugin for it for 3DS Max. And with my ultimate skill, I make a very basic map and show collision with the fireballs (and consequently anything else) with the map. It boils down to a sphere vs triangle check, but the faces and parts of the map are seperated into a tree (not really an octree... but something like it) to quickly discard things. It's not perfect yet but so far so good.

The bullet holes right now are a quad that gets placed where the collision took place, and sort of orients itself in the direction of the surface. Again, not perfect. Working on a better decal system.
VIDEO: http://www.youtube.com/watch?v=9y4038vAAs8

Foof Engine: EXPLOSION! FIREBALLS! Bananas Blowing up YEAH!!


Like I said, I promised AWESOMENESS and it shall be delivered. Here we have all sorts of things going on... animated "fireball" ish thing projectiles being shot out of the camera. Cool! They hit things and it blows up! COOLER! GIBS?!?! AWESOME!.. Yes gaze in AWE as each animated character explodes in a brilliant display of BOLOGNA CHUNKS.

Video here: http://www.youtube.com/watch?v=cWCvGxz1GaU

I know, this is the dumbest gib implementation ever. But whatever! IT works! Collision is really basic. We're talking sphere-sphere, sphere-cylinder.

Foof Engine: Mounting / Child objects

In Foof Engine, every physical object in the scene can have children. These children can be bound to specific bones in the parent, so this can enable things like mounting weapons to hands and what not. The bone-bound children get their positions updated when the parent is animated.

Physical objects include all meshes, billboards, lights, cameras, etc.

LInk to video here: http://www.youtube.com/watch?v=CplWtqgdig0

Spotlights and shadows in Foof Engine


I also have working spotlights and shadows, and alpha clipped objects cast shadows correctly! check it out! This is pretty basic stuff, video : http://www.youtube.com/watch?v=4tu2PL4u474

Flying colored lights and dancing bananas!


What's not to love?! So anyway, in this extremely basic build of my engine I show how it can handle tons of dynamic lights at a time, there are hundreds of billboards with lights attached to them all flying around and being lit in post process via that deferred rendering I mentioned. I have animated textures working too! Cool, isn't it?!

Video! - http://www.youtube.com/watch?v=QYm80D0v_zc

Codename Foof Engine - My 3D engine.

So, I figured I'd start work on my own little 3D game engine. I'll detail my progress and all the gritty little details so that you might implement it in your own projects.

Let me start with a simple gameplay video of a cheese character collecting coins in a forest. Naturally, I promised you awesomeness and awesomeness I devliver.

http://www.youtube.com/watch?v=5WZbveP7WeI

- WARNING - BORING GEEK STUFF AHEAD - WARNING -
My 3D engine is based on a deferred rendering architecture. That means that the lighting, fog, etc. is all computed post process. The rendering is split up into multiple parts. It takes up some more memory, but it makes it a lot more robust and open ended. My other videos will show more advantages of this.

I am using a model format that I created myself, it supports skeletal animation.