Friday, December 14, 2012

Weapons and Explosions



We have now finished three of three planned weapons that can be installed on a robot.

The saw does high damage in very short range / on contact, the flamethrower works as area damage, and the rocket launcher is a long range weapon. Furthermore, a "head" part that looks around with the mouse view and therefore enables mouse aiming has been added.

Some textures yet to come, and the particle effects are quite basic, but we're getting there!

Thursday, December 13, 2012

Keeping Scale

Flamethrower: Too small on first try
This post is about 3D modelling and scale in Unity.

First of all, it does make sense to stick to the standard scale for Unity projects (1 cube height = 1 meter). It really does.

Without having read the very useful manual about Unity Physics first, our 3D objects were modelled about 10 times larger than that - as a result, it would look like they are falling way too slow, with a gravity that would look believable on the moon (huge things look like they fall slowly, because they are so huge).

So after having the overall scale set, the next challenge is keeping it consistent. How big is an arm in relation to a body, how much bigger than a rocket launcher can the propeller be?

One technique that has proven quite useful is having a reference object in the 3D modeling program - e.g. a cube that is as big as the Unity cube and therefore 1 meter high, or also an already finished weapon when making another one. If the rocket launcher is in the right scale already, holding it next to the work-in-progress-flamethrower while modeling gives a good idea of proportions.



Saw, first version
Finally, size of things that influence gameplay is important and may need to be adapted: The size of our sawblade decides on how easy it is to get others in sawing range. It turned out to be too small in the original design, so changes had to me made.







...and larger version


Tuesday, December 11, 2012

Sound & Music: A Chaos Combined

Hello all, my name is Matias Lehtoranta and I'm the music composer for Combined Chaos. I will co-produce some sound effects as well.

The music of CC will be a blend of electronic and metal/rock elements. If you know the Command & Conquer and Red Alert soundtracks by the fantastic Frank Klepacki, then you have an idea of some of the elements that will be forming this soundtrack. Riffs that happen around the minor pentatonic scale, crunchy, snarly bass tones, and lush layerings of synth sounds on top of it. Contemplative, floaty and fluid tunes for building up your robot in your lab. Then some 7-string and 8-string metal riffs for those particularly savage metal-bleeding moments!

For the first version, a few tracks are planned (including at least a main theme/menu track and an in-game combat track) and I will be promoting them on this blog and on my SoundCloud page.

Monday, December 3, 2012

Balancing Physics


This is how the game currently looks like.

It turns out that balancing the game physics for flying robots will be a long journey. In this post, I will explain one example, Flight height.

First of all, there are two factors influencing how fast a robot takes off: Its weight (depending on amount of parts used) and amount of propellers attached. This allows for a huge range of possible combinations from robots that are too heavy to fly ( :P ) to very lightweight constructions that lift off immediately.

Especially for lightweight flying robots it was at first very easy to just literally skyrocket in a couple of seconds, until they were too high to see the ground - not only making it very difficult to keep control over cruise height, but also making orientation close to impossible (No ground in sight -> "Where am I?"). Hence, it was necessary to somehow limit the flight height.

So I decided I need to scale something that influences how high one can fly depending on robot height. I made up a function for a scaling factor: 1 - [(Max Height - Current Height) / Max Height]

This returns a value from 1 when the robot is grounded to 0 when it has reached the maximum height. After some experimenting, I found out the best thing to scale by this factor is the vertical speed when flying. As a result, more lightweight robots still lift off faster than more heavy ones, but none of them can get over the maximum height, since their speed will be multiplied by zero.

Graph visualized by Google
To make the whole vertical slowdown a bit more smooth, I multiplied that factor by itself, so now it approaches zero like the graph in the picture.