If we have to believe the Mayan calendar this should be the last blog of Xform ever!!
So they gave me the honour to create the last blog!
But Xform will prevail anyway! Hahaha...
This week is all about the menu and interface of the new race game and no not of Burning Rubber 5, but a race game way cooler than that one!! Ha!
I already created some mockup screens a couple of weeks ago. So after the mockup we going to replace the placeholder objects with some self created stuff.
As you can see some small things were replaced. For example the background, when I'm creating a mockup screen I use pictures of games/movies, to create a style so I can see what colours I will use.
The title of the game in both screens is a working title and will be replaced after the title is final.
Here another example.
In the mockup screen you can see I used some random pictures as icons and replaced later with our own stuff.
A thing we always do, is placing the back button left and the next/continue button right.
It’s a thing everyone does, you want to move forward. Same with reading, you read from left to right. So left --> right! Check our previous games and you will see. ;)
Back Button on the left. Next button on the right.
Or in some cases there are no next buttons, for instance if you need to check the How to Play screen.
Today I want to tell you guys
something about 3D character animation in our games. Most of our
games are vehicle or car based, what has the advantage of not having 3D
characters walking around on the screen. I call this an advantage because
making games which feature 3D characters, or bone based animations takes more
time and effort than games without them.
For the character rigs we use
biped and / or CAT-rigs. One has several advantages over the other as well as
the other way around. The character in the image below uses a biped skeleton.
Each vertex of the character mesh is linked to a bone, or several bones in the
skeleton. By transforming (moving and rotating) the bones in 3D space we are
able to pose the character.
The animations are done by
setting different poses of a character in a sequence, called keyframes. The
computer figures out most of the motion between these poses, so we don't have
to set every animation frame manually.
When we use 3D animated
characters in our games there are usually more than just one character walking
around. Think of enemies, friendly's or even maybe another player character.
The skeletons ( biped or CAT) we use, have the same structure and names for all
of the characters. This allows us to use all of our created animations on every
3D character in the game. A walk animation on one skeleton can work on a
slightly different skeleton too. I say slightly different.. Big changes in size
of the character or difference in the length of the limbs can affect the motion
of the animation. So as long as all characters are roughly the same shape it is
possible to use the same animations for them. This reduces the download
size a lot, we don't have to export all the animations for each unique
character doing so.
After working on one of our new
racing games Its time to get back to the sniper game and finish up the game. When
a game is almost finished it needs to be tested and when that needs to happen
we mostly switch to a new game and work on that for a while. This way we get
enough time to test the game and gather all the bugs, think for new features or
e.g. simplify the game if it's too hard.
Scrolling score is one of those
features that was created during a test session. One of the main aspects of the
game is to collect money to improve your team. And to do that you will need to
defend your base from waves of enemies. Those enemies will give you money only
when they did it wasn't rewarding enough. We heard a sound and we thought we
need to enlighten that part a bit more.
So we came up to add a scrolling
score. The scrolling score would appear at the enemies position and scroll up
and removed after a while in 3D. Only a new problem was created, it needed to
be scaled because of the distance between you and the enemy. When you are close
or far away it needs to look the same, it can't be too big or too small. And to
create a system that would update all the score sign and scale them based on
the distance would take more time than just add them in the interface.
But to let them appear in the
interface we need a 3d position and project that on the 2d interface. Create a
textField on that position and let it scroll. To let this happen we will need
to keep track of certain things, the spawn
location, timer, scroll offset and which textfield.
The spawn location is needed to calculate the projection to your
interface and when you turn your camera or move to a different location we will
need a new projection.
With the timer we will know when to disable and remove the textfield.
The Scroll offset, increase each frame and add it to the position.