ENGLISH  |  ESPAƑOL

Friday, December 25, 2015

Development status

Hi Guys,

With the coming holidays, I thought I'd give you an update on the state of the game and the reason behind the delays.

For the TL;DR people: mainly funding problems. For the rest of you, keep on reading.

AC-130 GS:SOS is a project that was funded with my own -very limited- life savings after coming out of a somehow nasty personal situation. I expected the project to take somewhere around 6 to 8 months working full-time, which meant available funds where just enough to scrape by till the end of the project.
 

Both fortunately and unfortunately, the project grew in a way that I hadn't planned. I didn't want to have mindless bots just moving aimlessly around a map waiting to be killed - I wanted a smart AI that would react realistically to a living battlefield. I wanted them to fight each other, have real missions, a purpose. I wanted vehicles that would use their full capabilities, both in attack and evasion. I wanted injuries and bleeding. I wanted a realistic damage model that would disable vehicle parts independently instead of "this tank can take 5 shots before exploding in a generic way". I wanted a crew that would analyze and make fitting comments about the situation developing underneath.
 

And that all takes additional time. Time means food and rent, and those two mean funding.
 

Normally, developers turn to Crowdfunding once they see funds are not enough to realistically finish a project. Unfortunately I did not have that luxury: in my country, operations in foreign currency were forbidden, and even if they hadn’t, taxes and transfer fees would’ve eaten almost all of the funds, if not more than what was actually collected. To overcome that barrier, developers in my country actually set up their companies abroad, but in my case, I just didn’t have the money to pay for the process.
 

Come June this year -10 months into the project- the funding situation was dire, to the point that even if the game had been completed right then and there, I wouldn’t have had enough funds to set up the structure necessary to post it on an app market and start generating revenue.
 

Therefore, I had no choice but to look for ways to make a living that would allow me to keep working on the game at least part-time, which meant that in the last 5 months, the project hardly advanced as I concentrated on that.
 

Nowadays, while still in hot waters, the situation is a lot more stable, which means I can –slowly- keep working toward a finished game.
As it is, the game is currently about 70% finished, with a pretty clear roadmap encompassing all remaining requirements.


I want to both thank and apologize to all those who’ve been eagerly awaiting this game, and wish you a Merry Christmas and a Happy New Year, hoping that in the next one I finally get to reward you with a finished and entertaining game.

Diego Wasser
Owner/Developer, Byte Conveyor Studios

Tuesday, May 12, 2015

Ninja game development

It's been a while now since I started working on the high-level A.I.

This paramount task has been done in the shadows... I posted no news or blog entries during the process.

It's not only that I've been too busy programming - I could, maybe, have taken the time to drop a line or two. But the fact is that I wanted to have the whole thing ready when I did, so I could really show what the results were.

And I learned something: A.I. is good for gameplay, but not that good for showing off on short videos. And forget about screenshots.

The best example to illustrate what I'm saying is the following:


Looks cool, right?

Well, that's a missile script I did in just one day, while taking a break from AI programming. Just one day!

Watching characters run for cover, navigate from waypoint to waypoint or spread out during an attack may also be cool, but it just doesn't have that "wow" effect... and programming that takes a LONG time in comparison to the missile script.

So I still have a little ways to go before I'm ready to show the AI at work. If you're still with me throughout this long wait, I really thank you for your patience!

Wednesday, April 8, 2015

A.I.: Formations

We're working on some functions of the high-level AI (Artificial Intelligence) right now.
The backbone of the Soldier's AI are what we call Formations, that group soldiers into performing tasks to achieve set objectives.
Each formation spawned into the scene has a set of missions, that range from patrolling a number of waypoints, to escorting other units or defending an area against enemy attacks.
As in real life, these formations are physically arranged to best adjust to the current objective. For example, a group that is marching towards an objective along a road will use a column or staggered-column formation. A group that is expecting enemy contact ahead will use a wedge or line formation.
In this video, you can see an enemy group switching from staggered column to wedge formation as they march towards their objective. When the AC-130 attacks, the formation disbands as soldiers start running for their lives, while trying to stay relatively close to each other.

Wednesday, March 25, 2015

Convoy engagement

I uploaded a new video today (and the news article to go with it on IndieDB) showcasing the engagement of a truck convoy escorted by a BTR-60 APC.

This may be the coolest video I've released to date. Maybe I like it because it kind of puts a lot of the things I've been working on together in one same scene, and makes it seem "alive", rather than just a display of very specific things.
A lot happens in just a few seconds, and what's even better, some of those things were kind of unexpected.

The one thing you can see clearly in the video is a GAZ-67 (kind of a soviet-built jeep) rolling over backwards. I wondered why it did, since I could not spot a big explosion nearby.
Upon closer inspection (and a frame-by-frame, since I thought I was dealing with some kind of weird bug) I discovered you can see the rear truck's fuel tank explode before its cargo does a few seconds later.
The tank is on the left side of the vehicle, so you can't see it from the angle the camera is in. It's also located below the truck, so its blast would send things with a higher Center of Mass upwards. The GAZ-67 was located at just the right spot to have that explosion affect it like that.

Also, while making the video I didn't even notice that soldiers escaping the vehicles to the left of the screen came under attack by a group of friendly soldiers that happened to pass the cliff above the convoy. You can see tracers flying at the bottom-left if you pay attention.


Wednesday, March 11, 2015

Meet & Kill Vol. 2

The second edition of "Meet & Kill" is up today! This time, we get to destroy a BTR-60 Armored Personnel Carrier, see a T-34-85 tank given a death blow by an anti-tank soldier, and neutralize a D-20 artillery piece.

Tuesday, March 3, 2015

Introducing Meet & Kill

I've released a new development video today, part of a series called "Meet & Kill". In these videos, you'll get to know the new units... and immediately see them obliterated.
This episode shows the different types of Anti Aircraft Artillery (AAA) present in the game: the ZPU-4 4-barrelled 14.5mm, the huge KS-19 100mm, and the fearsome ZSU-23-4 "Shilka" 23mm 4-barrelled self-propelled anti-aircraft gun (SPAAG)

Thursday, February 12, 2015

Vehicle destruction

Finally finished with the vehicle destruction system today. It's quite complex: unlike most games, vehicles have many different systems, which have specific effects when they get destroyed.
Crew is also vulnerable while inside the vehicle, and may get injured or killed even before it's severely damaged.
The following video is a demonstration of the damage system, applied to the Type 63 tank.



This is what happens internally during the video:
- The hit @0:05 destroys the driver's station, killing the driver and forcing the vehicle to stop
- Next hit destroys the vehicle's left track, immobilizing it
- Crew starts bailing out @0:08 (you can see the top hatch open though the fire)
- Hit @0:21 destroys the right track
- Hit @0:22 is a critical impact on the vehicle's ammunition stores, igniting them and causing high-speed flames to erupt from the sides of the turret. Everyone left inside dies.
- Extreme pressure inside the vehicle causes a secondary explosion @0:42, detaching the turret and hurling it through the air.
Another video showing destruction of other types of vehicles is coming soon.

Wednesday, January 28, 2015

Firefightin'

Finished with soldier weapons!

The script that handles the "tactics" part is extremely crude at the moment; it's just so soldier weapons and damage modelling can be tested, so don't expect to see anything too cunning coming out of these guys.

Still, it's looking pretty good. More importantly, even with this temporary, extremely unefficient script, things are working pretty fast, so that's quite a relief for me.

Performance in a game with such a huge amount of characters and so much going on is something I'm worrying about most of the time.

So, here's a video of a huge firefight, starting with hillside ambush, and with reinforcements coming in until an M113 APC arrives at the end.


Mind you, since I created this video, I've added some cool blood gushing/spatter effect for some violent deaths. Sorry, no time for a new video at the moment.

And here's a video of an enemy Anti-Tank team engaging an M113 with RPGs.

You can read up more on firefights in this article on IndieDB, where I explain damage modelling, bleeding injuries and more.

Wednesday, January 21, 2015

One of those days...

Today I noticed I had posted the video of vehicles shooting pretty much everywhere, except here, in the dev blog.

So let's jump right into it. Sorry about that:


Vehicle weapons have been a done deal for almost two weeks now. Even anti-aircraft weapons are done.
Here's another quick video of the ZSU-23-4 Shilka AAA shooting at the player:

The video is short since player damage modelling is not finished yet, so I didn't want to spoil it by showing an unfinished "player hit" situation.

The past couple of weeks I've been working on AI character engagements; that is, soldiers shooting at each other. That actually includes soldiers shooting RPG-2s or M72 LAWs (known as "bazookas" to the less-military oriented) at tanks and vehicles.
It was all looking great and almost finished, but when I did a performance test today, things failed. HARD.

Something, somewhere is causing a ton of stuttering, so yeah... my guess is I'll spend at least the rest of this week trying to find the culprit, which in turn means it'll be a while longer until I can get to show you AI soldiers filling each other with hot death.
Here's hoping it's not too long.

Saturday, December 27, 2014

Shots in anger

Today marks the first day in which the A.I. fired a shot in anger at each other, with several casualties. It was really a lot of fun just sitting back and watch them decimate each other.
I had 4 pieces of artillery fire on friendlies, with two Type 63 tanks going in to finish the job with their 85mm cannons and coaxial machine guns.

Meanwhile, a friendly M-113 APC loaded some troops at the FOB (Forward Operating Base) and carried them behind the enemy artillery position, shooting at enemy soldiers on the way to the target.

I wasn't too long until more than 70 friendly soldiers got killed, but nearly 60 enemies remained.

No video yet, since there's still some work to do... coming up soon!



Sunday, December 21, 2014

(a lot) More work on vehicles and crews

I know it's been a while since my last entry, and I apologize. But it's really not my fault. I blame it on those sober North Vietnamese Army drivers back in early 70's Vietnam. Had they been dead drunk while driving their supply convoys down the Ho Chi Minh trail, I would've been able to write sooner.

I sense a certain degree of confusion in you.
Let me explain.

For the last three weeks now, I've been working on vehicles. First came Pathfinding (making a vehicle find a suitable path from point A to point B in the map). I was particularly scared of this one, and though it would be quite a daunting undertaking, especially since I had to make vehicles properly follow roads and lanes, and decide when it was appropriate to leave them when navigating towards off-road waypoints.
But I did it; everything went real smooth and way faster than I had expected.


I thought the worst was over, and was feeling real confident I would scratch vehicles off the list sooner than planned. So then came the simple task of collision avoidance: making vehicles react to traffic and people around them so as not to crash or get stuck in the way. In other words, act the opposite of a drunk driver.
The deadline for this was 2 days. 48 hours. Easy peasy.

Right.

15 days later, working an average 12 hours a day including weekends, I was just finishing it. On the way, I had to pretty much start over from scratch, TWICE.



So that leaves us here, today. The last couple of days after finishing collision avoidance, I've been working on -and finished- crews and passengers.
All vehicles now need crews to function. A vehicle with no driver won't move. One without a gunner won't fire.
Also, troop carriers will carry personnel in them. It makes for quite a view seeing, through the AC-130's FLIR, several trucks unload tens of soldiers who will run into the battle.



So that's done. I'm really hoping things will be smoother from now on.
Next up: vehicle weapon operation. Catch you on the flip side.

Saturday, November 29, 2014

THIS. ROCKS.

Today was the most exhilarating day of development, hands down.

For the last few days I have been losing sleep (and I mean that most literally) over the game's performance.

The code was as optimized as it could get, yet as I added essential stuff, performance kept dropping with no workaround in sight. There were simply no more corners I could cut without making SERIOUS sacrifices.

I started thinking I would have to either target exclusively top-of-the-line mobiles, or significantly reduce the amount of characters on screen. And I HATED both ideas.

I just cannot see AC-130 Gunship Simulator being exciting without having at least 100 characters in a given sector for most of the missions.

And then, today, IT happened. I did not FIX the problem. I ACED IT.

I aced it so hard, I actually thought I had commited an error somewhere. So I rechecked everything, recompiled, and tried again.


Sure enough, the thing was flying. 30-35 FPS where I was getting 12-15 on my old tablet (rated under a Samsung Galaxy SII). With ---200!!!--- characters acting independently on the map. The best part is that the solution I implemented generates little overhead per new character, so I probably could do twice that number without much of a hit.

If you're interested in more technical stuff, check out how I solved it.

Tuesday, November 25, 2014

Vehicle A.I., the story

Imagine you are looking through your neighbour's window. He's been sitting in front of his computer since you had those awesome eggs and bacon for breakfast.

He has hardly moved since. Until now.

It is 3:30AM, and all of a sudden he's cheering hysterically, pointing at his screen.

You start to question the quality of your country's mental health institutions. You even ponder if you should call the emergency services so they assist the poor guy.

But there is something you are not aware of. Something that would turn this ridiculous situation into an event you could find an explanation to. Something that would even be... logical.

What you don't know is that your neighbour is a developer in Byte Conveyor Studios. You don't know that he has just had the vehicle A.I., that he's been working on all day, perform correctly on the very first try. And you don't know that he is the one now writing this blog entry.



The exact moment when the first AI-driven truck arrived at destination


Not only did the pathfinding part of the script perform correctly, but I was not expecting obstacle navigation to work on the first try. At a point in the test run, the vehicle actually backed up while turning in order to properly hit one of the waypoints that was too close for its turn radius.


Turn radius function. One of the many things I never thought I'd have to learn in my life.


Then, of course, I had to repeat the process adding more vehicles. Since collisions with other vehicles are still not programmed in, the results were both satisfying and hilarious.

Friday, November 21, 2014

Topping the charts

Topping the charts today, number 25 on IndieDB and number 2 on SlideDB, just behind Minecraft! Hoping that's an approximate depiction of the real interest in the game. Thank you all for your support!


Tuesday, November 18, 2014

Physics are fun!

At the time, I'm in the process of incorporating all vehicles into the game. Today I've finished land vehicle motion. Not the A.I., but the motion per se.

There are two types of land vehicles: wheeled and tracked. The motion for both types is purely physics-driven, which is always fun. Since there is no A.I. to move them yet, I was controlling them directly with my keyboard during testing, and I have to admit I may have spent more time than I should have making them do some stunts, rolling them over or seeing if I could climb that steep hill.

The programming takes into account several factors, like terrain ruggedness (you'll see the vehicles rock while driving on dirt, while pavement will make for a smooth ride), tire slip and Center Of Mass shifting with tilt. I particularly liked seeing how the BTR-60 handled, which uses four of its eight wheels for steering.

Here's an outtake video of one of the many tests. I'm actually controlling all vehicles at the same time with my keyboard, so expect to see some mischief:

Wednesday, November 12, 2014

Website officially finished!

Today I declare Byte Conveyor Studios' website officially finished. Since the schedule is extremely tight -and I have to put off programming the game in order to make the site-, the whole thing was done in just 48hs. By 'the whole thing', I mean there was no design or even a site hosting option two days ago.

I hope you like it, and please do bookmark it so you can keep updated, especially through the Developer Blog.

Note that you can comment on the Blog articles; just click on the title and scroll down. Your feedback is always welcome.

Here's some art I did for the site's background. I figure it will end up in as a menu background or loading screen within the game.


Now, back to programming the game!

Monday, November 10, 2014

Developer blog coming soon

This section will contain the Developer blog. Check back again later this week!