Ok I have barely been home in the past couple of weeks so couldn't work on this little android 3D engine side project much, but here's an example of my animation class so far:
http://www.youtube.com/watch?v=MTh6nbvCcZg
Uses Hierarchy type animation, as opposed to the skeletal animation in the PC 3D stuff I've been doing. Imagine each section of the model being devoted to one and only one bone instead of 4 bone weights per vertex, I figure this is the lowest cost on the hardware since I'm not sure how much I can push the android. The next step I guess would be to either use softskinning via direct vertex pos interpolation between keyframes, or bones with 1 or 2 weights per vertex.
This is all done with OpenGL in Java.
Each little section of the model can also have a unique material property which I guess I'll have to showcase next, but I need to get my hands on a real android so I can take video that isn't so choppy. Emulation sucks.
Assorted discussions about everyone's favorite PS3 video games, including LittleBigPlanet, my own programming projects, my music and more!
Showing posts with label Foof Engine. Show all posts
Showing posts with label Foof Engine. Show all posts
Wednesday, January 5, 2011
Friday, December 17, 2010
Here I come, Android - Trying out 3D on the android
Remember my "Foof Engine" for the PC? My ongoing 3D engine project which was seemingly surrounded in ridiculous characters? :) It was truly a prototype for bigger and better things, and I'm still not ready to showcase what's been going on with that.
BUT! Today I figured I should try my hand on 3D on the Android! I've been working on some Android apps lately (again, will showcase those when I'm ready) and figured it's time to tackle 3D. First vid here:
http://www.youtube.com/watch?v=LuMMCLcDVIA
Not bad for a day's work I'd say. This was all from scratch and most of the work was spent on writing the mesh class and the math. I got a little spoiled by the D3DX and XNA math libraries. It's been a while since I touched OpenGL but it hasn't changed a bit, anyone familiar with it at all should feel at home with the implementation on the Android.
I rolled a custom model format based on the one I use in the Foof Engine tech demos, but watered down tremendously - no bone weights, no support for normal maps, etc. I think I'll use a simple hierarchy based animation system in favor of more processor intense ones like vertex tweening or bones.
I put all my models and textures into the /res/assets/ folder, this is where you should put all your raw data that you don't want the IDE to give built in ID codes to, so you can access them by name.
Textures in the sample were borrowed from CGTextures.com, and the unicorns are actually a snapshot of ones I made in LittleBigPlanet 2. The mushrooms I drew, aren't they pretty?
But all that aside, the render function right now just consists of clearing the screen and then going through a list of meshes and rendering them. I'm going to create a system of hashes to catalog the textures and meshes like I do in Foof Engine.
I think I can make something cool out of this, so stay tuned. I have some ideas and this, as usual, is just a prototype for bigger and better things.
BUT! Today I figured I should try my hand on 3D on the Android! I've been working on some Android apps lately (again, will showcase those when I'm ready) and figured it's time to tackle 3D. First vid here:
http://www.youtube.com/watch?v=LuMMCLcDVIA
Not bad for a day's work I'd say. This was all from scratch and most of the work was spent on writing the mesh class and the math. I got a little spoiled by the D3DX and XNA math libraries. It's been a while since I touched OpenGL but it hasn't changed a bit, anyone familiar with it at all should feel at home with the implementation on the Android.
I rolled a custom model format based on the one I use in the Foof Engine tech demos, but watered down tremendously - no bone weights, no support for normal maps, etc. I think I'll use a simple hierarchy based animation system in favor of more processor intense ones like vertex tweening or bones.
I put all my models and textures into the /res/assets/ folder, this is where you should put all your raw data that you don't want the IDE to give built in ID codes to, so you can access them by name.
Textures in the sample were borrowed from CGTextures.com, and the unicorns are actually a snapshot of ones I made in LittleBigPlanet 2. The mushrooms I drew, aren't they pretty?
![]() | ||
| Mushroom Mushroom |
I think I can make something cool out of this, so stay tuned. I have some ideas and this, as usual, is just a prototype for bigger and better things.
Labels:
3D engine,
3D game development,
Android,
Foof Engine,
Foofles,
Java,
OpenGL,
programming
Saturday, March 20, 2010
Foof Engine - Some Scene editing and particle stuff....

Ok everyone, just to show I haven't forgotten about this... a little run through what scene editing is like so far in the Foof Engine.
Note: There is a windows GUI to all of it but it's unfinished and the video is focused mainly on the 3D window to get better detail from the video.
This might be a little boring, soon I'll have a gameplay vid of jumping around and doing some cheese stuff in one of these created levels.
http://www.youtube.com/watch?v=R8BL3HSCajE
Labels:
3D game development,
C++,
Cheese,
Foof Engine,
Foofles,
programming,
windows
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.
Killer Pineapples! Foof Engine turret ish functionality...

It's been a few days since I've updated hasn't it? Well, here are a few tasty new updates: Yes, you see right. That's a killer pineapple!
So what's new here? Well, I added some functionality for one object ot be able to track another. And what else can be more perfect to test than than pineapple turrets? NOTHING!
I also made it so the little meaty gibs leave a bloodstain on the ground when they hit it. Nothing major, no new functionality there engine-wise, just kind of cool.
VIDEO HERE : http://www.youtube.com/watch?v=WRvHW3LsDZ0
Labels:
3D,
3D game development,
bananas,
C++,
Cheese,
d3d10,
deferred rendering,
foof,
Foof Engine,
windows
Thursday, January 14, 2010
Foof Engine - Flying Saucers, Env Mapping, also pew pew

UFOs hate bananas
Well, I decided to work on this thing more. First of all, I changed my skybox. First it was just a cube with a sky texture being drawn before everything else. Now it's sampling a cubemap based on the eye vector, it looks much smoother, the cube distorts funny. There is also a sun that correlates to a Sun Direction variable, so it will always appear correctly in the sky and can move around dynamically. I'll show that when I have a good directional shadowmapping implementation.
Since I already have a cubemap for the sky, I can just sample it on other things to give a reflection effect. Didn't take long to implement that.
Also showing collisions between spheres and terrain (the fireballs). This is probably the first "AI" I ever actually created, if it counts... the bananas just kind of run around in circles until you shoot them and they blow up into chunks of bologna. There is no physics, they just start out flying forward in a random direction and pitch continuously downward until they disappear, I think it works well enough.
Just the pyramids and the skybox: http://www.youtube.com/watch?v=xPR0gZpDNsw&feature=related
Pew pew, banana shoot out: http://www.youtube.com/watch?v=pwTYsc8uSUg
Saturday, January 9, 2010
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.
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.
Labels:
3D engine,
3D game development,
C++,
Cheese,
d3d10,
deferred rendering,
DirectX 10,
DX10,
foof,
Foof Engine,
Foofles,
game development,
games,
pixel shaders,
programming,
windows
Subscribe to:
Posts (Atom)
