Landing Science

First of all, this is not rocket science. This is about controlling the disc block’s output of its lifting force and making a softer landing when all disc blocks on an aircraft is being turned off.

Results: (a little bit concerned if the 200% playback speed will tell the difference. )

 

One of the most challenging aspects of make this game is dynamically control the physics objects rather than a prebaked animation applied on them. This way the object will keep full physics interaction resulting in many interesting situations, like some abstracted robotics. Most of objects in this game are dynamically controlled. For contrast, one of the exceptions is the base. When it flies off it just follows a path, pushing everything away in its path which is determined when given a destination.

When I try to land a cargo aircraft on a ground structure to lift it up for transportation purposes, the cargo aircraft will more look like crashing instead of landing. I found this annoying because you will likely miss the target and have to try again. What happened is when a disc is off, it cuts its lift force like this:

liftchart1

The lift force begins dropping quickly and when it is below a certain point that cannot counter the gravity, the unit will just strike to the ground. Anyway, this is better than suddenly dropping to zero because at least a little gravity is reduced during the process. I have been wondering what if I reduce the lift to somewhere relative to that certain point rather than doing this on a 100% scale. So I can have more precise control dealing with the gravity.

 

lifting

And I have already got the numbers. From the info in this image, we can tell the lifting is being 50% used (4/8). So the idea would be if the lift is at 50% the structure will feel like in orbit, staying at the altitude without gravity.

In order to make it descend first, I should reduce the lift below this point for a small amount of time. The gravity wins over the lift during this period and the descent will begin.

Then in order to remain a reasonable descending speed, I should increase the lift back close to the 50% point countering the gravity. With damping considered in addition, the unit should just be able to smoothly maintain at a consistent speed. (actually in reality it tends to slow down)

Finally, I drop the lift as usual since the disc(s) are eventually to be turned off.

 

So I came up with something like this: when a disc is being shut down, it will modulate its lift as follows but have that load level % calculated first.

liftchart2

The good thing about doing in this way is its openness: it also works like it was when in a situation only some of all discs are being turned off. In that case, the ship will change its weight balance. (well I imagine the player has a good reason to do that)

Fortunately this is not as hard as the translational controller, the essential component of disc-driven flying units. I had done it almost a year ago when I was working on this project part-time.

Train Craze

t_traincar

With the introduction of these railway tracks, the cylinder block has a new use: wheels. The cars made using these cylinder motors are just like regular flying units, except on ground and less relying on the propeller discs. These vehicles cannot just run on a flat ground. If you observe carefully, the center body falls in the gaps between the inner tracks, making the structure lower so the cylinders will touch the tracks well. This will not happen on a flat ground.

t_train

This is my train departure. The tracks are carefully designed so the train car will not get stuck at turnings unless it is too big. You can notice the wider gap between the inner tracks here. Also in the above scenario, there are actually three shorter ones. The ones behind will push the front one forward.

These prebuilt tracks in the map provide strategic opportunities. For this one it is actually like a mine railway connecting to a location with scraps, a resource for gathering. And the track is circular so the “mine carts” on it will automatically come and go in loops.

t_train_dmg

Encountered some enemy defenses. Unfortunately no weapon is installed so I am just taking damage.

t_piston

Notice the enemy prism block can hide in the wall of cubes or extended out to attack. This is done by using a piston block.

When set in automatic mode, this block can extend to allow other blocks to fulfill their wish.(In this case, the prism attacking target). Otherwise it will be retracted hiding inside for safety.

 

 

 

 

t_mine

My debug bomber has arrived and taken them out.

Compared to aircraft, train is more suited for heavy (industrial) use. They move relatively slow and it would be a huge disadvantage against some sneaky fasting moving drones. Well, unless well defended.

Here I have built one to push heavy materials – a few dozens of cubes to slide on the track. The strong pushing power come from cylinders. If using discs, I would need quite a few of them just to lift up.

t_pushcar

So, similarly it is probably a good idea to push some heavy weapons armored with walls of cubes forward.

 

Lab Research Update – The Plane Block

planeblock_wide

This block is so far called “plane” because it is a thin and flat quad, not the flying one.

So what it does? First of all, this has pretty much to do with the lasers. Think it as a relay for forwarding laser beam to farther locations, for up to 20 nodes or maximum distance of 200 cubes in a line. When it works in this scenario, one side receives laser and the other emits. It is crazy because it is fully automatic, you place it and it works. If you have a few of them at the right location they can form a tree of laser network by themselves.

optical_experiment_t

This was one of the optical experiments I have done. When I ask the plane block on the bottom right to “attack” the ground. It draws lasers from nearby prism towers and other plane relay blocks. Notice the width of the beam increasing after taking multiple inputs. This increase the beam power significantly and help situations where you have a spot that need to be finish off, such as a structural weakness point on a target.

 

Is this all it can do? Of course not. Before finishing talking about the laser part, the plane block also can be used as a receptor to convert the laser back to power. Thus it can be used provide additional power to high consumption designs.

A very common ground tower design would be the spinning Gatling tower with 4 balls on top driven by a cylinder. However, there is a problem with this – the balls shoot very fast and drains all the power it has. The power (or energy) flow among the blocks trying to power up all so blocks can function normally. What make the problem worse is this design can only draw power from ground and transfer it up through the cylinder – the bottleneck.

gatlingcmp_t

As you can see above, the energy indicator (either the round one or the bar) has drained out. Now it is time for the plane to help.

planepowered_t

So when the plane works in this mode. It can generate strong output of power for heavy use. I actually noticed the number of physics objects has increased nearly 100 – I believe most of which are bullets.

Here I have only used one laser. Sometimes more of them are needed since this is not the most power consuming design.

 

There is more than just laser manipulation. The plane block has 2 attachable ports, one top and one bottom, pretty much like the cylinder. But the difference is this block can intelligently face one side to the target. Due to the top attachable port is not rotatable, when the plane try to face that direction, it will drive and rotate the upper part too. This is so interesting because an auto aiming arm can be constructed utilizing this. See video.

And in this situation, the relay function is still here:

autoarm_t

 

So these new blocks are being added as this project is getting feature complete. There are still a few more coming on the way, very interesting.

 

Lab Research Update – New Unit Control System

As you may have already know, an aircraft can be built from a few cubes and disc(aka propeller) in the lab.  Once built they can roam around. If they have spheres on them they can be used as a good air to ground striker most likely. If they have prisms then they can be given anti air capability at the cost of large energy consumption. So with these you have got a few units you can use at hand for purposes like scope, strike, or even scrap collecting or a maintenance ship. However their clumsy movement annoyed the hell out of people.

Now it is time to introduce a new control system programmed into the disc’s core. This allows the ships made using them to move among various types of terrain without crushing into ground. And they will always find a good path between key locations. We have this demonstration here:

If you are experiencing energy shortage on your ship feel free to switch some discs to generator mode. That way they will attract ions from the environment and finally utilization. 100% environmental.

 

Compound Structure Is So Much Fun

“Hydra Threat”(based on the named generated) is my ultimate destroyer with heavy weapons. Great for large targets due to their low accuracy. And it is such heavy weapon also because its low power storage and low acceleration.

Hedra Threat 1

Target found — cube8, a large cube made of 8 smaller cubes. Too weak to deal with before it rolls any single step.

Hedra Threat 2

Eliminated with thousands of debris scattered around. I wish I had implemented the attraction block to collection them. They are ideal for block repair and production.

Hedra Threat 3

I will try come up with some aggressive enemy structures and see what I can deal with.