vrijdag 27 januari 2012
2012 is only one month old and it started good! For us it started with the launch of our newest games: Traffic Slam 2!
We're very proud of it, because it's our second Flash 3D game. And it worked out very well. Try it yourself here: http://www.agame.com/game/traffic-slam-2.html
Or watch the trailer here: http://www.youtube.com/watch?v=U4inNhHGIdI
Of course this isn't the only project that we've worked on during this first month. In fact, we're never working on just only one project. Unfortunately, I can't give too much details about the upcoming projects for 2012, but they're going to be great!
But I do want to share our current projects with you, so with this blog I will give you a sneak preview:
1. Welcome to the Jungle
2. Ain't No Mountain High Enough
3. Space Jam
4. Le Carnaval des Animaux (Finale)
Can you guess on which games we're working?
Another hint: they do contain either explosions or cars!
Answers will be revealed in the upcoming months.
And many, many more games to come... So I keep you posted!
woensdag 25 januari 2012
For one of our new games we have flying pickups which move towards the player when an enemy is killed. The kind of movement we want is shown in the image below.
What's important about this movement is that it has a nice curve to it. The problem here is: how do we get this curve given that the starting and end position of the curve are different each time because they depend on where the player and the enemy are. Also the maximum height of the curve should be easy to change.
I've split the problem into two components: movement of point A to point B on the XZ coordinates and the movement on the Y coordinate as can be seen in the images below.
As you can see the movement in XZ coordinates is a simple line segment (linear interpolation between A and B).
The movement in Y coordinates is however not as simple (the height of the end point B happens to be fixed at 0.5). But this curve looks oddly familiar. Indeed, in (one of my earlier blog posts) I wrote about how Pieter needed a function with certain properties. Now a few months later it seems I need a similar kind of function, just a little but more dynamic as the height of the curve is now a variable as well as the starting point Ay. Again we want to find the a, b and c coefficients of the second degree polynomial f(x) = ax^2 + bx + c. So we go back to pen and paper and calculate a, b and c as a function of H and Ay (and t which is the point where f(t) = H). Here's a photo of the calculations, they're similar to the calculations I described in the earlier blog post.
Calculating the a, b and c coefficient of the second degree polynomial function.
Also a minor correction on our previous blogpost: if you want to see the flying souls move up, you need to scroll the texture (UV coordinates) down and not up. Otherwise the flying souls move down into the ground.
vrijdag 20 januari 2012
Developing browser based games has the drawback that we generally can't use too much animations or effects. The reason for this is that they take too long to create or simply cost too much processing power which slows down a game.
But we do want our games too look good and not too static. You can imagine it's kind of dull looking when there is nothing animated or moving in a game environment.
Luckily for us there is a simple animation trick which can be used an a variety of ways to add "life" to a scene! It's actually one of the oldest tricks of the trade.......scrolling!
Scrolling a texture/image over an 3D object or plane can be simply done by animating the objects UVW coordinates.
Momentarily I'm working on an update of Go Kart Go which will have new characters, tracks and some updates of the old tracks. One of the new tracks has a spooky ghostship theme. For this track I wanted the souls of dead pirates to come out of the ground and move up into the sky. I used the scrolling technique to achieve this effect.
First I created a vertically tiling souls texture (with transparency) and mapped it onto a 3D plane object. Scrolling the texture (UVW coordinates) vertically up accross the plane will move the souls.
I placed a few of these objects in the scene and modified the mesh to get a cool "wave" effect on the souls. This looks especially good when a few of these soul planes are placed behind each other.
There are countless ways a scrolling texture can be used. For Go Kart Go it's used for flowing water and lava, turbo pads, dust particles, rain, moving clouds, smoke and (of course) the souls!
woensdag 18 januari 2012
A quick update about the awesome "snowboard game with cars".
The last couple of months I've been working on the tracks. The tracks are subdevided in 3 mountains. Every mountain has their own settings, assets, etc.
One mountain has an Austria mountain idea (a famous country for people of Europe to have the winter sport holidays). This mountain is a sort of tutorial mountain where you get to learn this game. My main goal for this mountain was to get this mountain friendly and fun to ride on and not hard, pointy rocks, deep clifs or other craziness.
For this mountain I've made some typical things you see when you go skiing, snowboarding, or whatever. So there is this Ski lift hanging over the track here and there, some wooden cabins in areas where there are trees, some typical Austrian/German buildings and more!
Here is a screenshot of the buildings in my 3Ds max viewport without textures. I started to do some research, finding reference etc, making some mockup textures to modify those later. Then I start making the assets, first I make them look realistic like I told before in the blog about the Pick-up. After this I cartoonify the whole bunch to get them the look I want. Then I update the texture where I need to.
woensdag 11 januari 2012
Past few weeks I've been working on multiple projects, but want to give you guys an update on my previous blog. The levels I was talking about a few weeks ago are nearing completion. I managed to get all of the 9 mockups up and running in time. It was a bit of a rush though.
Our game/level designer took the game for a spin and gave me feedback on things to change. We discussed things like the overall 'shape' or 'direction' of a level. This image should explain what I mean by 'direction':
When having a specific setting for a set of levels, for example a jungle environment, it is important that the player instantly recognizes each individual level despite having the same art assets and setting. Next to the 'direction' and 'shape' of the level a different weather/sky setting is also very important. In addition to these basic design guidelines each level should have a specific landmark which amplifies the difference between the levels in the same environment setting even more.
The next step was to finalize the mockups and implement the changes. I usually divide this process in several smaller ones. For example, I always start with the big things first. In this case, I fixed the ' direction' of the levels first if necessary. Also finalizing the specific landmarks per level could be placed in the list of 'big-things-to-do-first'.
At this point every level has the correct shape/direction and landmark we want them to have. Since these levels are for a semi-platformer kind of game the levels need.. platforms! Some of the mockups already had some, but it was far from what it should be in the final levels. I made a set of 'platforms' for every environment setting. This is an example of a platform set in the desert setting:
The last step artwise is to add small objects such as crates, plants/foliage and other background element. These little objects have pretty much no effect on the gameplay, but it is important that they're there. They are the final touches.
If you've been following our facebook page you might know that there are some new xform games coming out soon. All I can say is that I'm very excited about all of them and can't wait to play them myself! :) Keep an eye on our facebook page for the latest updates!
vrijdag 6 januari 2012
It's been a while since my last post, so a quick update. In some earlier posts, people blogged about a "snowboard game with cars" about some awesome stuff! And I am also working on that project, so here another "snowboard with cars" blog! The game is getting there week by week. We still got nice ideas we have to implement, but first something about animations!
Last couple of weeks I implemented all the animations for the menu and interface screens that are all designed by Matthew. It was the first time for me to implement animations for 2d screens, so I had to do some research! In the mean time I made notes for all the animations that has an In/Out animation in the scenes. So I made a big list something like the lists Shirley blogged about a couple of weeks ago! So finally I found out how everything works out and I could finally start animating those screens.
It's important to make a list if you got multiple objects that have to be animated. Otherwise you will end up with models that won't show when needed or in the wrong scene.
So after a while it was going pretty well and I felt pretty good about it. Only then I noticed I wasn't even halfway. Nah, it was pretty fun besides all the timing and special animations that Matt created.
So now we got some cool animations for our Interface and Menu instead of just switching the models on and off! Most of them are pretty simple, but you get used to it very quickly. But it's quite important because it's weird to imagine a car driving on the road with wheels that dont spin unless it's year 3594 and we got some awesome floating stuff:P
maandag 2 januari 2012
The past few days we've been working on our "snowboard game with cars" finish setting which is some kind of stadium filled with animated crowd. We didn't have a lot of time for all this so we used some shortcuts to create this.
One of the most important things to keep in mind when making a crowd is that it must look like there are a lot of individual people. In our game we have 12 different people to make up our crowd. But instead of creating 12 new 3D models we took the games original characters, just two, made some slight mesh changes (a bit fatter, smaller, etc.) and changed the textures.
For most of the textures only the colors were changed. We also switched/removed some hats. The results can be seen below, they look quite varied don't they?
Using these 3D characters in-game to make up the crowd wouldn't be a good idea and most likely cost a lot performance. Instead we chose to display the crowd as an animated texture with four frames. We've made one texture which holds all of the animations frames, these frames are mapped onto planes and are switched in-game by animating the texture coordinates.
And finally we've placed the crowd planes in the stadium resulting in this: