So i was reading about euphoria (http://aigamedev.com/editorial/naturalmotion-euphoria) and how it works using neural networks trained with genetic algorithms. And how it needs time to be trained and learn to react and do all the cool stuff the video show it does.
I was thinking of a more straight forward approach, using only genetic algorithms.
The is the ideal description of what i'm thinking of:
Let's say my character is a cat, and i throw him in the air and say to him "Ok, now figure it out how to land on your feet".
He has a lot (millions) of possible movements and some will get him to achieve the objective.
I would like to use a genetic algorithm* to found a sequence that works. So he will generate several initial movements, try what works to achieve the objective ("paws are the only ones that can touch the ground", or "don't let body hit the ground"), mutate them, cross-over, iterate, and come with a solution that will gracefully put him on the ground.
Yeah, ok, that sounds like a fairy tale, but i hope my point is getting through.
So, what problems do i see with this approach and how you can help me:
1] Has it been done? I know genetic + NN have already been used to generate animations and such. But all i've found is offline training... not real time. And with my idea with no NN the intention is not for the cat to learn, he will have to re-think next time he is thrown in the air. Probably generating a new sequence of moves.
2] Does the animation look right? This i'm pretty sure i can guess the answer. No.
It will not look normal nor natural. Specially if the character being animated is a human o an animal that the user would already be familiar with it's movement. But hey... i could still animate ungry crabs from outer space that always land on their feet, right?
3] Can you evaluate so many potential solutions? This is, i think, the biggest reason this approach would fail. I would have to test (probably simulate) several movement sequence in order for the cat to know if that sequence will get him on his feet. In other words, the fitness function of my algorithm is going to be way too expensive. Maybe traying only in 2D, and with few objects in the scene might give some results.
Ok, so there are my 3 observations of why this approach would fail. On the other hand, if it works it could be nice to have new animations every time it runs. It can probably work for fast (reflexes) movements, like catching a ball, putting your hand away from the fire, o breaking your fall (as euphoria does).
Do you have any ideas or thoughts on the three things i mention? Especially  (i don't want to do something already done) and !!... maybe you know something to put the last nail on this experiment's coffin... or maybe you have a suggestion that might get it back from the dead =)
Thanks, i hope to hear from you.
I know this a long shot but...
I saw an artist portfolio not too long ago (about a moth), in the character design section there were a couple of brother/twins, green skin, kinda cartoon, nice artwork.
I remember saying to myself that i really liked that style and that i wanted something like that for my project.
Now i can't seem to find the post, the site nor the artist.
Any chance anyone remember/knows who i'm talking about and how can i contact him?
yeah, i said it was a long shot...
Recently i've been studying metrics and estimating methods for software projects. You know: Function Points, Web Object Points, COCOMO, KLOC, Cyclomatic complexity, etc... practically everything that helps you messure the size of you project and thus estimating how much [time,MM] will take to develop.
Many of theses could be applied to Game Development pretty much directly (KLOC, Cyclomatic complexity) but others i just don't see them as right options for the kind of development that games require.
So i was wondering, does anybody know any kind of method specially designed for meassuring game development? Estimating schedule, costs and size?
Something like "Game Object Points", or "COCOMO Games".
If you work in the industry, your company/team must have some sort of estimation process right? How do you estimate? Is there a specialist who just uses her experience to give the client/boss a number? Or is there a specified procedural method for analizing de requierements, the targets, the factors to consider that could affect development... etc.
Is your method uniquely developed for your company? Does your previous employee used something similar? Is the method specially for some genre or is it designed for all types of games?
I have looked around but i can't seem to find anything. I'm basically looking for methods that could be applied to "highly interactive, small database, always changing enviroment" type of software.
Any help or hint will be highly apreciated.
[Edited by - desdemian on November 2, 2007 1:50:44 PM]
I'm a little lost about the way i should approach what im after.
Here's the main idea.
I have an object (a wall) that i don't want to render in the scene, but i also don't want to render the stuff that this object is hiding...
here's a drawing, the first pictures shows the normal rendering, the wall, the tree and the character... in the second picture the wall is not rendered but still can't see the tree nor the character (a background image, or just black, should be seen where the wall was).
The camera can move and rotate and of course if you go behind the "invisble wall" you should see the complete tree and the character..
any ideas, suggestions or topics i should research to achieve this "invisible yet light blocking" wall?
i want to know if there is a speed advantage in using J2ME classes like Sprite. Does it have some kind of "low level" access to images and buffers that i cannot achieve by making my own sprite class?
In others words, are those clases (Sprite, Layer, etc) written in plain J2ME?
For example, i can load an image 'mainCharacter.png' and use a combination of setClip and drawImage to draw a portion of that image on screen, does Sprite do the same thing when he draws a frame? or it has access to other functions that i dont?...
I think the same applies to colition detection... if i want an efficient function, should i use those or write my own... (assuming i have the time and knowledge to implement and test my own code).