Hi all,
three months ago I promised to post another blog entry ... after my presentation/demo and examination. The concept of 'after' lasted 3 months; I am sorry for that :)
Well, everything went great. I am officially a 'Creator of animation productions' now! During the morning I had a quite thorough examination concerning the 2nd year of the course and in the afternoon I did the demo of 'Le Village Perdu'. Everybody was happy with the result and they gave me a lot of points :)
If you want to see the final video of the game project check out this link on YouTube: http://www.youtube.com/watch?v=jQOw9jicSd4.
My 'game era' hasn't stopped 3 months ago luckily... Next year (february-march-april 2011) I will teach a course at Syntra Hasselt on Microsoft XNA game programming. I will teach 2 courses of 8 days each. Currently, I am writing the course material. There is really a lot to say, and 8 days is not much!
This blog post will probaly be the last on this blog.
Thanks for reading my blog and all support during my 1 year quest!
bye,
David
zaterdag 25 september 2010
vrijdag 25 juni 2010
26/06/2010: Today is the Day
Okay ... today is the day. I will have to present my game this afternoon ... a game on which I spent a lot of time (approx. 1000 hours, which is equivalent to 125 working days).
Currently, my DVD writer is doing overtime to burn all those discs (it is 1h45 in the morning). It was a lot of work to create the DVD menu and add subtitles, DVD extra's, ... but the result is really nice. I am happy with the outcome of this week:
Currently, my DVD writer is doing overtime to burn all those discs (it is 1h45 in the morning). It was a lot of work to create the DVD menu and add subtitles, DVD extra's, ... but the result is really nice. I am happy with the outcome of this week:
- Refined the DVD cover: the DVD cover has been finalized and printed in a copy shop. The prints are okay, but there are some inconsistencies in the prints. That's a pity...
- Created a DVD label: bought some 'Micro Application' DVD labels (250! Why do they sell so much labels?). The 'Micro Application' brand is quite good since they give really decent software to print out the labels. Too bad that our HP printer does not print that well...
- Debugging and extra's for the game: the boss is quite heavy to beat right now :) Also, a game over and a congratulations screen have been added. I did also spent some time on starting a new game after having played a game (= the reset functionality was quite buggy) and added some 'you have been hit' animations.
- Rendered and gathered all necessary content: I had to play the level two times (since the boss was able to beat me the first time) to record all necessary video for the DVD. To record the video Fraps was used (really nice application but the size of the captured files is huge!). To process all that data I had to use Adobe Premiere. That's a cool application but there are so many buttons it feels like being in a plane cockpit.
- Created a DVD menu: this took me quite some time, but the software 'Sony DVD Architect' helped a lot. The DVD is fullly loaded with all work that has been done the last couple of months and there are even some extra's on it :) There are even subtitles in Dutch :)
zondag 20 juni 2010
20/06/2010: 1 week left!
Counting down ... Saturday is the big day. In the morning I will have an examination and in the afternoon I will have to present the game!
So what has been done last week?:
So what has been done last week?:
- Processed most of the remarks I got from my coach on the intro and outro. I think 80% of the remarks have been worked out, for the other 20% there was no time left.
- Created a credits shot. The shot is quite nice and the music is really an added value.
- Created a DVD cover. The cover took some time to create but the result is cool.
- Other stuff:
- I tried out some screen capture software to capture the intro, game and outro since the trial version of Fraps only allowed 30sec of recording. After trying a lot of free software I decided to buy a full version of Fraps since it seems to be the only tool that records the best quality without hassles.
- The domain urdams.com is a fact :) I will try to set up a website on http://www.urdams.com/levillageperdu this week.
The DVD cover
maandag 14 juni 2010
14/06/2010: two weeks left!
Today, we made some time to party for my birthday :)
Besides the party, following things have been done the last couple of days:
Saturday, I also got my final coaching session: got quite some remarks on the outro. As such, this week I will be working on those remarks and the ones made on the intro. Since time is going fast, it will not be possible to process all remarks.
Besides the party, following things have been done the last couple of days:
- Creation of a main menu video: I did some recordings of the church in our village and processed it in After Effects (night effect based on the day to night conversion tutorial on video copilot, some cartoon effect and - took some time - motion tracking on the roof of the church to put in some light in the tower). The main menu looks really cool now!
- Created the level boss behaviour: the game has now a boss that behaves like a boss. To be honest he is a little bit too difficult to beat, will have to tweak the parameters :)
- Created a basic HUD: the HUD displays the health of Simon in the upper left corner of the screen.
Saturday, I also got my final coaching session: got quite some remarks on the outro. As such, this week I will be working on those remarks and the ones made on the intro. Since time is going fast, it will not be possible to process all remarks.
After (video)
woensdag 9 juni 2010
09/06/2010: outro is ready
These last three days were quite productive ... I was able to finish the 4 shots for the outro. It was less drawing work than the intro (4 shots instead of 8), but there was more animation work to do (= figure animation).
Yesterday I also did some audio recordings in the garden (walking on grass, walking on stones, wood-on-wood sound, wooden door that is closed, ...). It was fun but the recording device is not really good. Next time, I think I will need some gadget like the M-Audio Micro Track II.
Today was also a day with crashes and odd behavior of software - which sometimes drives me crazy!:
Anyway, here is the outro of the game:
Tomorrow, I will work on the credits shots and the main menu for the game. I suppose After Effects will be my main tool for that.
Yesterday I also did some audio recordings in the garden (walking on grass, walking on stones, wood-on-wood sound, wooden door that is closed, ...). It was fun but the recording device is not really good. Next time, I think I will need some gadget like the M-Audio Micro Track II.
Today was also a day with crashes and odd behavior of software - which sometimes drives me crazy!:
- Windows 7 does not like corrupt WAV files: there is a hotfix for it, but the hotfix link that is sent to me doesn't work :( So, until a fix is possible, I keep task manager open and kill the explorer.exe process if it 'runs away'.
- Quicktime is unstable (I don't know why Apple is complaining about stability issues of the Flash player if they cannot make a stable Quicktime viewer?). Mostly, my video card driver crashes when playing a movie in Quicktime, but sometimes I even got a blue screen with the necessary reboot afterwards.
- After Effects also crashes once in a while. I noticed that is moslty occurs when I'm doing something in AE during a rendering.
Anyway, here is the outro of the game:
Tomorrow, I will work on the credits shots and the main menu for the game. I suppose After Effects will be my main tool for that.
zondag 6 juni 2010
06/06/2010: all backgrounds ready!
All backgrounds are finally finished, and that's great news :)
Also great news:
Also great news:
- Got one more week until the end of the project, so June 26th is the new deadline, which gives me some more time to work on the gameplay of the game.
- My coach and classmate were really pleased with the end result of the intro!! They gave some remarks that I will try to process in the days to come, based on 'the quick wins' principle :)
- I got a cold (how is that possible when temperature is above 25°C? probably a vitamin shortage)
- Sunday I am a 'backup bijzitter' for the Belgian elections ... thank you (not!) Alexander for the lost day!
- Radio Nostalgie live stream is not streaming well ... is everyone taking all bandwidth on internet or what?
- Create 4 shots for the outro: animations and special FX
- Create a cool main menu for the game
- Create a cool credits animation
- Add a HUD to the game
- Finetune the behavior of the 'level boss'
- Make some changes to the game figures and animations (= remarks I got from my coach)
- Work on the gameplay
- Process the remarks on the intro
- Create one nice big shiny DVD box
- Create a presentation and demo
- Study (a little) for the exam
woensdag 2 juni 2010
02/06/2010: one more background
One background has been created this evening (took me about 2h30min, I have to work fast since the deadline is approaching) ... so two more to go :)
dinsdag 1 juni 2010
01/06/2010: three weeks left
Three weeks left for the grande finale ... saturday June 19th I will have to present my work and do an exam. Let's hope there will be some time left to study!
Yesterday and today (evening) I worked on one background for the outro. I have to create three more backgrounds before the animation work can start again...
Yesterday and today (evening) I worked on one background for the outro. I have to create three more backgrounds before the animation work can start again...
maandag 24 mei 2010
24/05/2010: intro is finally ready!
Joy! Shots 7 and 8 are ready, so the intro is ready!
A lot of stuff was done during the last 10 days:
A lot of stuff was done during the last 10 days:
- 9 background drawings (1 background is eventually not used)
- 4 car drawings
- And some custom drawing for scene 6 where the car door opens and one can see inside the car.
- Redrawing and rigging Simon in Anime Studio (the Illustrator import is not working great, so I had to redraw) in a 1/4th and 3/4th look
- Voices and sound recordings (eg. door that opens, knock on door, footsteps on wood, footsteps on concrete).
- Most own sound recordings were processed in Soundbooth, like changing the pitch or removing high frequency sounds due to the soundcard/microphone.
- Some sounds were found on the web: old car driving, old car stationary, car door that slams, sounds of night animals, ...
- Video recordings: candle, getting out of a car, knocking on a door, picking up a letter ,... Those video recordings were sometimes helpful to create animations :)
- Animation of 8 shots: the animations consist mainly of camera manipulations and moving/scaling/skewing/... objects. Figures also have a skeleton that is animated by means of bone transformations.
- In some shots I did also animate the blur and shadows. The blur animation gives the illusion that the camera has to focus, the shadow animations give the illusion that an object passes a light.
- Compositing 8 shots: all compositing was done in After Effects.
- In most shots I did mainly music and sound compositing, playing with the volume levels and so on.
- In shot 3 some basic text animation was done. I know it could be a little bit more cool, but there is no time left to do cool stuff :)
- In shot 5 some lens flare effect had to be used
- In shot 8 I used a video of a candle and keyed out the background (by means of the keylight 1.2 plugin).
zaterdag 22 mei 2010
22/05/2010: intro it is
Yupz, still working on the intro.
Shots 1 to 6 are finished (except for some spotlight effect that will be added if there is some spare time on Monday), shot 7 needs some sounds and shot 8 needs some animation :)
A compilation video can be found here:
Shots 1 to 6 are finished (except for some spotlight effect that will be added if there is some spare time on Monday), shot 7 needs some sounds and shot 8 needs some animation :)
A compilation video can be found here:
Shot 5: with a lens flare effect. Oh, After Effects is soooo cool!
vrijdag 21 mei 2010
21/05/2010: Still working on the intro
Yep, still working on the intro :)
Anyway, I start to like doing what I have been doing the last couple of days: making shots for the intro. Djeez, that is really, really, really a lot of work!
The end result is getting closer and it is quite nice: one can believe the story. Making animations is also more fun that I initialilly thought but it is not always easy with the toolset that I use.
Will try to post a new video tonight or tomorrow.
Anyway, I start to like doing what I have been doing the last couple of days: making shots for the intro. Djeez, that is really, really, really a lot of work!
The end result is getting closer and it is quite nice: one can believe the story. Making animations is also more fun that I initialilly thought but it is not always easy with the toolset that I use.
Will try to post a new video tonight or tomorrow.
Wall-E and M-E
Note: the background for shot 6 has been dropped. The new background is shown in the Wall-E picture above and also hereunder:
Shot 6: new version
dinsdag 18 mei 2010
18/05/2010: adjust, preview, adjust, preview, render, read mail, ...
The subject of this post summarizes the activities I have been performing the last couple of days :) Until now, 3 shots have been 'finished' and compiled into 1 composition:
Mainly my workflow for creating one shot consists of the following steps:
Note about the creation of the car: the car was first drawn on paper and then imported into Photoshop where I did draw it again with the Wacom tablet and gave it initial colors. Warning: bad drawing ahead...
To draw the car I was inspired by an old photograph of a 1929 car which was also part of the moodboard that was created last year:
Mainly my workflow for creating one shot consists of the following steps:
- Create a new shot folder
- Grab the corresponding background (see my posts of last week)
- Save every layer in that background as separate PNG's (eg. one for the sky, one for the landscape, one for the road nearby, one for the trees, ...)
- Open Anime Studio and create a new HDTV project - 1920x1080 pixels.
- Import every PNG and give is some Z value between 0 and -1. Images that have a low Z value are further away of the camera.
- Notice that the PNG's are not ideal -> redraw a bit
- Import the music (which has first been roughly cut in Soundbooth)
- Plot out the main move of the camera
- Plot out the main points of the action (= keys)
- Create perspective views of the car in PhotoShop, since the car is imported as a PNG I need to manipulate the image to give the illusion of changing perspective. But sometimes that illusion is not good enough, so I need to create different views of the car in Photoshop (see the 3 figures of the car here under).
- A 3D tool would be handy here, but it would take too much time to create a 3D model of a car.
- Refine the action (= breakdow/inbetween)
- Preview and prelisten :)
- If it seems okay: render the whole thing
- Wait, wait, and wait.
- Note to myself: I need a fast computer. Rendering 10 seconds of animation takes 15 minutes!
- Notice that the render is not what I expected
- Say 'miljaar' 2 times and refine the camera move and action.
- Goto 12 (not considered harmful here)
- After a hard day's work: create a final render that can be sent as an attachment (< 25 mb).
Note about the creation of the car: the car was first drawn on paper and then imported into Photoshop where I did draw it again with the Wacom tablet and gave it initial colors. Warning: bad drawing ahead...
To draw the car I was inspired by an old photograph of a 1929 car which was also part of the moodboard that was created last year:
maandag 17 mei 2010
17/05/2010: Working on the intro (shot 1 animation)
Today, I finished the animation of shot 1 ... pffew. No special effects yet, will only be able to do that if there is some time left tomorrow.
Anyway, Anime Studio is quite fun to work with but it's not ideal for movement in the 'Z' axis. On the other hand, it is quite easy to fake depth in Anime Studio ... so I will fake it :)
Anyway, Anime Studio is quite fun to work with but it's not ideal for movement in the 'Z' axis. On the other hand, it is quite easy to fake depth in Anime Studio ... so I will fake it :)
zondag 16 mei 2010
16/05/2010: Working on the intro (part III)
Status for today:
Tomorrow, I will have to draw a car, Simon and the car driver. Will probably first model models/puppets in 3D to have the correct dimensions and perspective. Maybe I will do some video recordings too, to act out some shots.
- Did initial voice recordings for the intro (see the credits - in the outro - for the cast :)
- Drew one more background that took me quite some time, but I'm happy with the outcome of it.
Shot 8 (inside the house)
zaterdag 15 mei 2010
15/05/2010: Working on the intro (part II)
Three fresh backgrounds added today! One or two more to go: (1) Simon inside and (2) the letter background. The last one is indeed also a background which I completely forgot :)
Shot 5
Shot 6 (shot from above)
Shot 7 (at the door)
vrijdag 14 mei 2010
14/05/2010: Working on the intro
Okay, last saturday I got a lot of feedback on my project. In fact, it was so much feedback that it will have impact on my timing...
Anyway, I will continue to work at the current pace since some minor health issues are coming up... Those health issues are eye-related: spending so much time on a PC/laptop screen puts some strain on the eyes! I got myself some eye drops and they seem to work :)
So what did I didgeridoo those last couple of days? Well, I drew 4 backgrounds for the intro scene of the game. Since, the intro consists of 8 shots, 4 extra backgrounds have to still to be drawn... I will do that tomorrow and the day after tomorrow. As such, next week will be spent entirely on the intro animation and working on the feedback of last week.
Of all stuff I have already done up until now, drawing backgrounds is one of my favorite activities :) The main tool used for this is of course Adobe Photoshop. To draw repetitive trees a tree brush pack was used; the other trees have been drawn by hand. The top 3 Photoshop tools that I used are: (1) gradient fill tool, (2) layer effects like emboss and (3) filters like sponge, rough pastels and smudge stick. To draw the shadows a multiply layer was created, with an opacity of 30% on which I painted with a black brush. Luckily, I have a Wacom tablet ... that makes drawing fun!
Anyway, I will continue to work at the current pace since some minor health issues are coming up... Those health issues are eye-related: spending so much time on a PC/laptop screen puts some strain on the eyes! I got myself some eye drops and they seem to work :)
So what did I didgeridoo those last couple of days? Well, I drew 4 backgrounds for the intro scene of the game. Since, the intro consists of 8 shots, 4 extra backgrounds have to still to be drawn... I will do that tomorrow and the day after tomorrow. As such, next week will be spent entirely on the intro animation and working on the feedback of last week.
Of all stuff I have already done up until now, drawing backgrounds is one of my favorite activities :) The main tool used for this is of course Adobe Photoshop. To draw repetitive trees a tree brush pack was used; the other trees have been drawn by hand. The top 3 Photoshop tools that I used are: (1) gradient fill tool, (2) layer effects like emboss and (3) filters like sponge, rough pastels and smudge stick. To draw the shadows a multiply layer was created, with an opacity of 30% on which I painted with a black brush. Luckily, I have a Wacom tablet ... that makes drawing fun!
Intro - Shot 1
Intro - Shot 2
Intro - Shot 3 (panning shot: camera will follow the car)
Intro - Shot 4
woensdag 5 mei 2010
05/05/2010: game sounds
The last couple of days were spent on the search for and the creation of all kinds of sounds. The tool Adobe Soundbooth helped with all common audio tasks such as cut/paste and noise removal.One cool feature of this tool is the 'Spectral Frequency Display' (see the colored part of the screenshot) which can be used to modify the sound. This is handy to remove some pops and clicks or other sounds that shouldn't be there.
The sound recording was done with a Sony dynamic microphone. The microphone is good, but the mic input on the laptop is really bad: recording sounds and voices also includes some unwanted strange high frequency sounds. Connecting the microphone to a creative X-Fi card on my desktop is a complete difference: sound quality is much better.
Not all sounds were recorded of course, since I don't have animals here in my living room. Luckily, some sites exist with free sounds: http://www.freesound.org, http://www.grsites.com/archive/sounds and http://soundbible.com. These sounds cannot be used out of the box; some manual modifications are still required.
Since I only have only one week for al game sounds, it has to go fast... It is amazing how much work goes into the sound part of a game!
Adobe Soundbooth CS4: the waveform of a crow.
The sound recording was done with a Sony dynamic microphone. The microphone is good, but the mic input on the laptop is really bad: recording sounds and voices also includes some unwanted strange high frequency sounds. Connecting the microphone to a creative X-Fi card on my desktop is a complete difference: sound quality is much better.
Not all sounds were recorded of course, since I don't have animals here in my living room. Luckily, some sites exist with free sounds: http://www.freesound.org, http://www.grsites.com/archive/sounds and http://soundbible.com. These sounds cannot be used out of the box; some manual modifications are still required.
Since I only have only one week for al game sounds, it has to go fast... It is amazing how much work goes into the sound part of a game!
vrijdag 30 april 2010
30/04/2010: debugging, debugging, ...
Last week was quite heavy on development and debugging. I encountered one bug that was really difficult to track down, and by searching for it I found one new bug that was not easy to fix. Anyway, this is wat has been done:
- Implemented a GameInput class. Until now, the game only processed 'Button presses', but not button clicks. So the GameInput notifies the game when the user 'clicks' a button (= a press and a release). The GameInput class also monitors the amount of time a button was pressed. This will be handy for making variable jumps or throws.
- Implemented a Weapon and WeaponBullet class. The catapult is the weapon, and the pine cones are the bullets. So, now, Simon can throw cones to his enemies. When an enemy is hit, it disappears. I could make an animation for that, but it will be more easy to make some blinking animation instead.
- Provided a debug mode on GameObjects. This is really handy to discover physics problems.
- This debug mode plots the upper left corner and bottom right corner of a related physics object.
- Provided a debug mode on Paths. This was necessary to track down one of the nasty bugs. It seems that the Farseer physics engine does some strange things with geometries that consist of multiple vertices: the final position of vertices is not what one could expect. Anyway, there is a workaround now.
- The debug mode plots all points on the screen.
A nice bug
donderdag 22 april 2010
woensdag 21 april 2010
21/04/2010: processing...
Wednesday already!
I polished the animations of Simon, the dog and the farmer (some follow-through here and there, some arm movements, ...) and exported them to PNG's. Then transformed each action to one texture by means of the Animation Texturizer tool (see yesterday's post). And finally tested how they look in the game!
Tomorrow and friday I will be working on:
I polished the animations of Simon, the dog and the farmer (some follow-through here and there, some arm movements, ...) and exported them to PNG's. Then transformed each action to one texture by means of the Animation Texturizer tool (see yesterday's post). And finally tested how they look in the game!
Processing the farmer's attack animation takes 3 minutes and uses all memory and 1 CPU core. Image processing is indeed very hungry on resources!
As you can see it soups up one of my two cores and gradually takes all memory. This is quite obvious since 48 HDTV (1920x1080) files are processed pixel-by-pixel and are stitched to each other at the end... I could use some of the parallellism features of .NET 4.0 and some additional cores too :) The result of all that processing is:
Tomorrow and friday I will be working on:
- A solution for animation textures that are bigger than 2048x2048 pixels. Yes indeed, the farmer's attack animation takes 2048x3167 pixels. There is already a solution for background textures, so I'll probably use the same solution.
- Process the other figures: bull, crow and level boss.
- And put them somewhere in the game.
- Implement the AI for all those nice guys
- AI sounds cool, but in fact every figure will have 1 .NET associated class with all intelligence built in :)
- Implement a jump action
- The jump animation is ready, the jump physics are ready, ... but they don't like each other for the moment. So, I'll have to finetune... Additionally, the jump animation will need to expose events that state if the jump is starting or ending.
- Implement a shoot action
- The shoot animation is ready, but there is still the need for some 'projectile' functionality.
- Implement a HUD (heads up display)
- The HUD will be used to show the health
- Background design
- Some houses should be added to the background layer, and the background should look more 'spooky'. I think that Photoshop will help here... :)
dinsdag 20 april 2010
20/04/2010: crow animation and the long-awaited "Animation Texturizer"
Today, I did two things:
The animation texturizer tool is a plugin of the custom Game Editor (= Windows Forms project) I had to create. The tool reads in a directory with all animation PNG's exported by Anime Studio + a directory with all pivot point PNG's (see yesterday's post). The tool outputs one XML and one big texture PNG. Below you can see the ouput for Simon's walk animation:
- Draw a crow in Illustrator, import it in Anime Studio and create a flying bird animation. All went quite well, since I know the drill now :) You can see the video below.
- The other part of the day I spent on writing the long-awaited animation texturizer tool! Creating one big texture file for XNA based on multiple PNG's export goes really fast now! You can see a screenshot of the tool below. The tool also outputs an XML configuration with all the necessary information about each image (X, Y, pivotX, pivotY, ...).
The animation texturizer tool is a plugin of the custom Game Editor (= Windows Forms project) I had to create. The tool reads in a directory with all animation PNG's exported by Anime Studio + a directory with all pivot point PNG's (see yesterday's post). The tool outputs one XML and one big texture PNG. Below you can see the ouput for Simon's walk animation:
maandag 19 april 2010
19/04/2010: game animations
New 'in-game' animations have been created (click the links to see the videos):
I also worked out some 'pivot point' tracking mechanism: a simple cross that moves along with the 'pivot' point of a figure. This cross will then be tracked by a tool (which I'll develop tomorrow) in order to know where a figure is at each point in time. This will then be used to create one big texture :) Let's hope it will not take too long to develop!
- Bull animations
- This one was difficult to make, but I got some help from Eadweard Muybridge and his 1885 book 'Horses And Other Animals In Motion' which is really nice. Yep, animals still move the same way after 125 years... Anyway, Eadweard did not take photograps of bulls, but the Buffalo galopping photo sequence was close enough for me ;)
- Boss animations
- This one was fun to make, the throwing part is loosely based on a funny baseball player that I found in the book Cartoon Drawing (Preston Blair)
- The first two animations are not some kind of dance moves, but in the game the boss will switch lanes, so these animations will be used in combination with some vertical displacement.
- Dog animations
- This one was not easy too, due to all the vectors that are moving in different directions. To make it more difficult I stumbled across a bug in Anime Studio... But, hey, that's called learning :)
I also worked out some 'pivot point' tracking mechanism: a simple cross that moves along with the 'pivot' point of a figure. This cross will then be tracked by a tool (which I'll develop tomorrow) in order to know where a figure is at each point in time. This will then be used to create one big texture :) Let's hope it will not take too long to develop!
zondag 18 april 2010
18/04/2010: 'holiday' week #2
Today, my second holiday week started: a week that will be filled with stuff to do for the game! So, no real holidays yet (would be difficult too with all those ashes in the sky).
The past 2 weeks did not result in a lot of deliverables:
The past 2 weeks did not result in a lot of deliverables:
- I got a new, fresh Windows 7 install on my laptop and had to reinstall everything to continue development of the game. It's amazing how much tools I need to create just one game!
- BTW: Windows 7 rocks :)
- I installed and played with Anime Studio Pro. In fact, I did all 6 tutorials and now the tool has no secrets for me anymore (yeah right).
- BTW: Anime Studio Pro is quite fun and powerfull to use. Only disadvantage: everything is in 2D, so rotating a figure is not a good idea. Anime Studio has some 3D features, but it is very basic.
- All figures have been imported into Anime Studio. That was NOT fun. The tool requires Illustrator 8 formatted files that have no gradients. Additionally, every part of the figure had to be exported separately since Anime Studio does not imports layers.
- Three animations of Simon have been finished: walk, jump and shoot (Simon has a catapult)
- Three animations of the Farmer have been finished: sleep/wake up, walk and attack.
zondag 4 april 2010
03/04/2010: the XBox 360 controller
Last week was low on blog posts due to the Microsoft Techdays. Those 3 days were reallly interesting for my job but there were also two lunchbreak sessions that were interesting for my game project:
Two things will have to be added to the game engine in the weeks to come:
- XNAsteriods : How to develop the asteroids game in 30 minutes with the XNA framework. Two things I learnt that could be interesting for the game:
- The use of Game Components: the game currently does not use the game component concept. This was a decision that was made at the start.
- The use of a previous controller state. That could be handy for the game; will try to implement it one of those days.
- Introducing the Windows Phone 7 Series developer experience. It seems that XNA will be very important on that platform; can't wait to see a Windows Phone 7 device :)
Two things will have to be added to the game engine in the weeks to come:
- HUD: when playing the level, the player should be able to see the health bar, the lives, the ammo, ... by means of a HUD. I think it will not be too difficult to integrate that in a clean way.
- Pixel-perfect collisions: the physics engine calculates collisions by means of bounding box collisions, but sometimes this can be frustrating for a player. So I will try to implement pixel-perfect collisions.
maandag 29 maart 2010
29/03/2010: Game menu revisited
The 'textonly' game menu is now finished. The user can choose menu items through the XBOX controller or the keyboard. I had to implement some extra functionality as such that a game state/level stops 'gracefully'. For instance, when you stop the current game level the music should stop too.
A bit tired now ... time to get some sleep. From tomorrow on, I will attend the Microsoft Tech(long!)days, so I guess I will not be very active on the game project this week :)
A bit tired now ... time to get some sleep. From tomorrow on, I will attend the Microsoft Tech(long!)days, so I guess I will not be very active on the game project this week :)
zondag 28 maart 2010
28/03/2010: physics and audio
Okay, I finally figured how to use the Farseer physics engine. It was not easy, since it is difficult to debug problems related to physics. Anyway, Simon can jump now! I still have to make a jump animation, but the curve is correct now. To make simon jump, I have to call an applyImpulse() method and provide the impulse vector. That's the easy part, but there is a lot of collision stuff happening and it's too much to explain here :) The good news is that I can use the physics to do other things (collisions with ennemies, rocks, flying objects, ...).
Simon is jumping...
For fun, I added audio and music playback today. The API in XNA is quite easy, but the setup is quite a hassle. You have to use the XACT tool: Cross-Platform Audio Creation Tool. At first sight, that tool creates too much abstractions. But when having a more in-depth look it seems to be a quite awesome tool: everything that's audio-related can be configured. And - very important - it integrates well with the XNA content pipeline!
Currently, I added one sound (= a jump sound I found on a web site) and the level music. One of the following weeks I will try to make my own sounds :)
Simon is jumping...
For fun, I added audio and music playback today. The API in XNA is quite easy, but the setup is quite a hassle. You have to use the XACT tool: Cross-Platform Audio Creation Tool. At first sight, that tool creates too much abstractions. But when having a more in-depth look it seems to be a quite awesome tool: everything that's audio-related can be configured. And - very important - it integrates well with the XNA content pipeline!
Currently, I added one sound (= a jump sound I found on a web site) and the level music. One of the following weeks I will try to make my own sounds :)
donderdag 18 maart 2010
18/03/2010: Some refactoring and basic menu support
Time to take a step back and have a look at the overall code design ... time for some refactoring :)
After the refactoring, a new GameState subclass has been created: the GameStateMenu2D. That's a inheritable class that represents a game menu. A first version of it is ready, but two essential features need to be added:
- LevelManager and Level: both classes have been refactored to GameStateManager and GameState, since a game not only consists of levels, but also of cutscenes, menu's, interactive levels, and so on.
- Game assets: the textures, fonts, video's, ... have been reorganized in the content pipeline, as such that items that belong together (eg. assets of one level) are put in the same folder:
After the refactoring, a new GameState subclass has been created: the GameStateMenu2D. That's a inheritable class that represents a game menu. A first version of it is ready, but two essential features need to be added:
- Controller/keyboard/mouse input: without input, a menu does not make a lot of sense!
- Bitmapped menu's: currently, the menu is dynamically created by means of two SpriteFonts and a monotone background color, but for the 'looks' I will need a cool bitmap. In fact I will need some inspiration and PhotoShop, and eventually a cool bitmap will the output :)
woensdag 17 maart 2010
17/03/2010: Video playback & Physics engine
This evening, two new features were added:
- Video playback: the game consists of two base classes: InteractiveLevel and VideoLevel. In the past weeks the focus was of course on the interactive part, but since an intro and an outro will have to be shown I still needed some video playback support. Luckily, XNA has support for this through two base classes: Video and VideoPlayer.
- Video: represents an asset and is thus part of the XNA content pipeline. Loading a video is similar to loading a texture or font.
- VideoPlayer: the API of that class is straightforward. Every time the Draw() method is called, one has to get the current frame to playback and draw it on the screen.
- Physics engine: since some actions in the game will need physics (eg. jumping, throwing objects, ...) I built in the Farseer Physics Engine (2.1). The API of the engine is quite easy to understand and it is a 2D engine (so no complexity of a 3D world :).
- The engine has been built in for 50%. I still have some work to do and a lot of testing! Anyway, it think it will be nice to have such functionality since it will make the game look more realistic.
- If you want to see the possibilities of the engine, have a look at this YouTube video. Note: put your speakers on, there is some nice music in the background :)
16/03/2010: Checking out Anime Studio (continued)
I downloaded Toon Boom Studio trial version (30 days) and installed it on a virtual machine ... it was sloooooow. That was probably due to the video card - which is not accelerated in my version of VMWare. After installing it on my main machine everything went smooth. At first sight, Toon Boom Studio looks good. Additionally, it can import my Illustrator files with no problems. However, the bone mechanism is not completely clear to me and the price of the package is too high.
Back to Anime Studio then, I wanted to know why Illustrator import was so odd and after some hours spent on it, it seems related to the use of gradients. If you do not use gradients then import is quite straightforward. Okay, I am bit happier now :) Will have a more in-depth look at the tool in the days to come.
Time to get some sleep now...
Back to Anime Studio then, I wanted to know why Illustrator import was so odd and after some hours spent on it, it seems related to the use of gradients. If you do not use gradients then import is quite straightforward. Okay, I am bit happier now :) Will have a more in-depth look at the tool in the days to come.
Time to get some sleep now...
dinsdag 16 maart 2010
16/03/2010: Checking out Anime Studio
The process I followed to create an animation did take me too much time, so Raoul pointed me to some software that could be used: Anime Studio.
I did install Anime Studio and went through their tutorial: it looks nice... But ... it is not trivial to import Adobe Illustrator files in that package. It seems that I'm not the only one out there, even after converting it to Illustrator 8 format :( The result of such an import is shown below. The other figures are also imported in an odd way...
So, due to the Illustrator import issues and since I don't want to redraw all the figures in this software package. I am on the outlook for some other animation software. It seems that Toon Boom is quite good but it's very pricy. Will have a look if they support Illustrator import ...
I did install Anime Studio and went through their tutorial: it looks nice... But ... it is not trivial to import Adobe Illustrator files in that package. It seems that I'm not the only one out there, even after converting it to Illustrator 8 format :( The result of such an import is shown below. The other figures are also imported in an odd way...
So, due to the Illustrator import issues and since I don't want to redraw all the figures in this software package. I am on the outlook for some other animation software. It seems that Toon Boom is quite good but it's very pricy. Will have a look if they support Illustrator import ...
14/03/2010: Feedback and planning
Okay, Saturday I've shown my work to my coach Raoul and as I expected there is still a lot to do. Currently, my progress bar is at 50%... which is not the best situation since there are only three months left. Anyway, this is the timeline for the weeks to come:
- now -> 28/03: rounding up the game engine. Things that have to be done yet:
- Physics (with or without physics engine)
- Collision detection
- Sound
- Video playback (for the intro/outro)
- 28/03 -> 21/04: setting up Anime Studio in order to create all in game animations and the intro/outro animations since the approach I'm following now is too tedious. Compositing will be done in After Effects.
- Also some modifications will be made to the backgrounds:
- More houses that are closer to each other to create a typical 'Ardens' style.
- A path with no gap in it.
- And I will need to find out some way to stitch the individual frames together.
- 21/04 -> 30/04: include all new content in the game and make it work.
- 1/5->7/5: voices, sounds and music. I will need to record some voices, that will be fun :)
- 8/5->21/5: intro (= a lot of work!)
- 21/5-> 6/6: outro (= a lot of work!)
- 7/6->15/06: packaging (eg. create a DVD cover)
- 15/06->26/6: testing, debugging, quality check, ...
- And some study for the examination and presentation.
vrijdag 12 maart 2010
12/03/2010: Dog walk animation and run animation
This is the last day of my 'holiday' week in which I've done a lot of work on the 'Le village perdu' game. But there is still A LOT to do! Since there is no machine yet that can stretch or slow down time, I guess I'll have to take some other holiday days/weeks in the months to come...
Anyway, what has been done today? Well, two animations:
I wonder if the XNA video playback support would also allow me to play animations? I guess there will not be granular control of the animation ... will try it out when there is some time. Additionally, the bounding box will then be static; now it grows and shrinks with every played frame.
Here are the textures that have been drawn today:
Anyway, what has been done today? Well, two animations:
- Dog walk animation: the bad doggy doggy's can now walk, so they don't look they're performing in Holiday on ice. Additionally, they can also sit down.
- Simon run animation: Simon can run! That's handy for avoiding the dogs that can walk now. Everything is in balance, ying & yang :)
- A dog walk animation is not easy; all those legs that move at different angles. A human (biped?) animation is easier to do. The book Cartoon Animation written by Preston Blair helped me a lot with this task.
- Transforming all frames into one texture is stil a pain. Oh my ... it takes too much time:
- First I need to export every frame (= one layer) in Illustrator to a PNG file that is correctly scaled in the y dimension. So, a down walk frame could be 235 pixels high and a up walk frame could be 245 pixels high.
- Then one PhotoShop file is created in which all PNG's are pasted. That file should never be bigger than 2048x2048 pixels since some video cards will not accept formats above that.
- And finally, an XML configuration needs to be created/editerd with information about every frame for a particular figure's animation. An example of such an XML file is given below; it's the configuration file of the Dog.
I wonder if the XNA video playback support would also allow me to play animations? I guess there will not be granular control of the animation ... will try it out when there is some time. Additionally, the bounding box will then be static; now it grows and shrinks with every played frame.
Here are the textures that have been drawn today:
Abonneren op:
Posts (Atom)
Over mij
Volgers
Blogarchief
-
▼
2010
(45)
-
►
mei
(9)
- 24/05/2010: intro is finally ready!
- 22/05/2010: intro it is
- 21/05/2010: Still working on the intro
- 18/05/2010: adjust, preview, adjust, preview, rend...
- 17/05/2010: Working on the intro (shot 1 animation)
- 16/05/2010: Working on the intro (part III)
- 15/05/2010: Working on the intro (part II)
- 14/05/2010: Working on the intro
- 05/05/2010: game sounds
-
►
maart
(21)
- 29/03/2010: Game menu revisited
- 28/03/2010: physics and audio
- 18/03/2010: Some refactoring and basic menu support
- 17/03/2010: Video playback & Physics engine
- 16/03/2010: Checking out Anime Studio (continued)
- 16/03/2010: Checking out Anime Studio
- 14/03/2010: Feedback and planning
- 12/03/2010: Dog walk animation and run animation
-
►
mei
(9)