Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411507 Posts in 69374 Topics- by 58429 Members - Latest Member: Alternalo

April 26, 2024, 05:28:13 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsEmpires in Ruins - A fantasy mix of TD and RTS
Pages: [1] 2 3
Print
Author Topic: Empires in Ruins - A fantasy mix of TD and RTS  (Read 6591 times)
gullinbursti
Level 0
*



View Profile WWW
« on: June 02, 2017, 09:27:39 AM »




Hello, everyone! We are Hammer & Ravens and we present you with our first game, Empires in Ruins.



About the Game

In Empires in Ruins, you control our anti-hero, Sgt. Heimer, as he - unwillingly - tries to cleanse the land of Koth from the rebel forces that plague its villages and military outposts. What, or better yet, who is behind these rebel forces, you will uncover in due time.

During your campaign to free Koth, you will be playing on two quite different, but intertwined, levels. In Koth's world map, you will have to make important strategic decisions, choose upgrades, allies, and gather information on the surrounding areas. In the battle maps, you immerse yourself in the heat of battle where Tower Defense elements, and your preparations in the world map, will decide the outcome of the battle.




We purposefully chose to keep Empires in Ruins grim, humorous, and low fantasy, in order to keep the game as realistic as possible - with very few exaggerations in unit abilities and character attitudes. We did this in an effort to convey our own view of the real world through the political turmoil found in Koth. Trying to make that realism even more palpable, you will often be faced with important and game altering choices that will follow you throughout the rest of your campaign, giving you a chance to develop a more personalized playstyle, and hopefully, many, many possible playthroughs.




About the Team

Just like Sgt. Heimer's forces, we're a patchwork of different characters, each with their own lives, goals, aspirations, and -hopefully - talents, and we all pour all we have in developing Empires in Ruins in whatever way we can.

You can read more about the team's members, here.



Development so Far

In terms of assets, we are close to wrapping everything up! We have so far finished all work surrounding ally and enemy units. We have recently also completed one of the most important aspects of the game, the towers that you will use to fight the rebel forces.



We also had the opportunity to bring a couple of demo versions to our followers who were very eager to give us some invaluable feedback! We are looking forward to bringing a couple of more demo versions out before our initial release of the game, so stay tuned if you're interested.



What's Left

We are now adding some finishing touches on the world map and the battle maps, and we are mainly focused on a number of minor things that need to be ironed out. Adding to that, we are also working on making a trailer for the game.


 
We will keep you up to date with our progress here, but do follow us elsewhere as well!

Twitter
Facebook
Website
IndieDB
Logged

Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #1 on: June 03, 2017, 05:31:23 AM »

Oy guys, Emiliano from H&R here, with a follow up to Yannis' intro.

As we recently finalized the enemy units production, it might be worth/interesting to disclose them here, with a bit of the steps from concept art to in-game models (Konrad takes care of the concepts, Alex of the models and textures, John rigging and animating, George rendering and spritesheets production, me I get them in game and implement their logic/AI).

We get started with the first faction that Sergeant Heimer will be dealing with during his struggle: the Rebels. And from the rebels, we go back in time (production was made approx one year and half ago) with the first two units we got in game (after having kept for 2 years before some pixelart placeholders that had absolutely no connection with the final units look or style).

Bandit



These guys are possibly not the sharpest tool in the shed, but they are focuses and hungry. Hungry for food but mainly for loot.



 These guys are average if not below average fighters.



Low-damage, medium-low health and very average speed (I told you, average if not below average), they come in quite high numbers, and they have a really annoying feat.



If they reach your castle, beside causing damage to the castle health, they will also steal 3 to 15 gold pieces from your treasure.


Rabid Hound



Stray dogs of the Marches never had this much food before as since the roads are full of bodies. Nervously wandering around, howling and biting, these puppies are wild, ferocious and out of control.



Low-damage, low-health enemy units, the Hounds are very fast and usually come in high numbers, making Towers fire rates essential to avoid having them sneaking through your defenses.



As a special ability, their bite transmits bacterias of every sort, and the infection will cause continuous damage lasting for some seconds.



As for the progress pipeline, you might notice some differences between sketches and final assets (beside the fur overgrowth issue with had on a step). The differences are mainly due to the need for higher contrast with the terrain for a relatively small unit. If we kept it on a single color, it would have been very hard to spot.

Cheers and see you soon with the next 2 units, Bear and Bear Handler Wink
« Last Edit: June 03, 2017, 10:49:14 PM by DrHogan » Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #2 on: June 03, 2017, 10:48:15 PM »

And, here we continue with yet another tag team straight from the rebel army, the Bear and the Bear Handler.





Bear

Ok, can you bear this? Let us stop now with the bear jokes cause it gets lame super quickly (but makes me lol all the time anyway :D ).



Bears are massive, with large amounts of health points and high damage (and double melee attacks). Luckily for your at least they are pretty slow.



Unless you kill their Handlers, in which case they get more health points, higher damage, and they also get faster. Also, those claws are rarely properly washed with disinfectant, so expect the wounds to get infected quickly and to cause continuous damage for some time.

Bear Handler



There is plenty of very low brow jokes about the intimacy that these guys share with their bear pets. But quite rarely those jokes are said in front of them, because these guys both lack a sense of humour and excel with throwing hatchets. And they have 300 kg of snarling black bear usually accompanying them.



Medium-high stats and fairly low speed, the Handlers throw two hatchets per round of combat, with medium-low range and medium-high damage. Beside that, life in the forests makes it so that they got used to walk through bushes and hindrances without having any malus to their speed.



Ah, if you kill one of them with a Bear nearby, you will most probably send the bear into frenzy.

Cheers guys, over and out for now, next ones you will like it, the Wood Witch and her child, the Brute.




Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #3 on: June 04, 2017, 09:50:48 PM »

Oy Guys, back with the new batch of rebels to present. (Doing this is also actually being pretty useful in order to tidy up the endless amount of screenshots, videos and files that we took over time during the units development)
Now, presenting the Wood Witch and the Brute together makes sense because a) these are among the most powerful units for the rebel army and b) the lore explains how little kids get kidnapped by the hags and grown into the Brutes (and if the lore says it, who am I to go against it?).

The Wood Witch

When the repression became too bloody, these old ladies/hags, since ever provinding their herbal skills to the Western Marches little communities, unburied the war hatchet.



With the backing of the dark mysterious spirits that dwell in the wilderness, the Witches might be slow and not the toughtest enemy unit but: their touch causes incredible amount of damage on your enemies and walls, and they have three powers worth of mention.



They can summon black bears companions to fight along them, they can summon flocks of ravens to swarm the towers and prevent them from shooting, or they can just let the dark aura that surround them slow the movement, cause despair and bad luck on all the towers, defenders and builders.



A pretty pleasant package all in all! Plus, thanks to our modellers personal taste, they have silky skin and slender sexy leg. A pity the faces don't really match the rest :D




The Brute



Sometimes the Wood Witches asked for some toddlers in exchange for their services to the community. The Brutes are said to be those kiddos after some years of life in the wilderness.



Apparently the diet is quite proteins rich and vitamines are not missing, given the size these dudes can reach.



Brutally tough, strong and aggressive, the human-sized mauls of these giants can be used to strike the ground with amazing strenght, the shockwave causing very high damage to all the towers, builders and soldiers around.



When the brutes start marching, unless you can kill them quickly and from far away with heavy artilleries, expect casualties. Many casualties.

And with this I am off to code, next one will be about the last two units of the rebel army, the ones whose special abilities took probably the longest and toughest implementational effort: the Provoker and the Marauder. After that, don't think we're done with the units, we have 12 more from the Krovan army (but we still need to get some of them implemented in game)

Cheers
Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #4 on: June 06, 2017, 09:31:16 PM »

And, here we go with the last two units of the Rebel army, the Marauder and the Provoker. After this one I will summarize them all with a short list of the Rebel forces, but one thing at time. The last two Rebel units I present, I do so with a certain mix of hate and pride. Their special abilities gave us no little trouble in implementation, but we think they are among those things that spice up the gameplay in EiR.

The Provoker

The "popinjay" of the revolution has come, the guy that kills more with words than with the sword (even though, with two attacks per round, also the rapier will surely cause some casualties), the Provoker.



This guy has a way with words, but can also play with swords (notice the rhyme, and they say I am no writer... :D ).



So, this is the way the "We, the folks!" skill works. Cooldown and area based, it affects Towers and Soldiers in range, that have to make a % check on their halved morale.



If successful, nothing happens, otherwise Towers stop shooting for some time, while Soldiers just turn into enemies and start marching right away towards your castle.



The Tower ability Iron Discipline and the area effect Thou Shalt Not from the Temple renders the affected units immune from the Provoker's power.



The Marauder

Here we ramp up the so far simple Rebels tactics and meet the white heir to Bob Marley, only, slightly less peaceful.



These tall barbarians are very fast, and can sprint to get even faster. They can engage in melee with their spears, and throw nets to entangle your builders and soldiers. But let's get to their most annoying ability, the one that in a moment of creativity we named Elusive.



The overall statics are on the medium-high side, with average health and very high speed.
So, basically the Marauder stops right before the edge of a tower shooting area, waits for the tower to shoot someone else, then sprints for a while keeping his fingers crossed that the tower will not manage to shoot him too in time. This ability of course has a cooldown time, so that the player will not come looking for us at home, in the middle of the night, to kill us in revenge.



To give a touch more fun, these guys are immune to every ability or obstacle that might hinder movement (paths through the forest, temple powers, towers' nets, etc).



Ok, so we're done with the Rebels. Next entry I will just summarize them all quickly, so that we are then free to move on. (You wouldn't believe how much writing this is helping me in start getting on paper also the lore that will go into the game encyclopedia).

Cheers!
Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #5 on: June 06, 2017, 09:47:00 PM »

Well then, I gave a intro on all the Rebel units (remember, there's one faction more of enemies to disclose - the bigger one Wink ), time to give a short summary, so here you go! (PS the images are the ingame renderings of the units, used as sprites and made out of 3d models - but this is a longer story we will tell later Wink )

Rabid Hound

Very weak unit, high speed, the bite causes lasting damage due to Rabies.

Bandit

Weak unit, if it reaches the castle he also steals a small random amount of Gold.

Bear

Very strong unit, low speed. If the Handler is killed nearby, the Bear enters a frenzy.

Bear Handler

Average unit, low speed. Two ranged attacks and immune to terrain penalties.

Wood Witch

Average unit, high damage. Cursing aura always active, can summon Bear companions and flocks of Ravens to block the towers.

Brute

Very strong unit, very high damage. Can cause HUGE area damage to Towers, Soldiers and Builders.

Provoker

Average unit, two melee attacks. Can block the shooting of Towers temporarily and convert the Soldiers into enemies permanently.

Marauder

Average unit, very high speed. Stops before entering Towers area, waits for them to shoot, then sprints through the area. While sprinting can't be engaged in melee and can throw nets on the Soldiers.
Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #6 on: June 07, 2017, 02:05:18 AM »

And here you go, first WIP test run of the Marauder special ability. Fresh out of testing (needs some more robust guards for the AI logic still before being fully approved).

This guy is basically gonna wait right beyong the range of your towers for another enemy to pass by and draw the tower arrows. Then he will sprint like a madman for a while trying to minimize the time spent in the tower area. What do you think about it?



Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #7 on: June 07, 2017, 11:11:27 PM »

And, also pretty recent (needs some polishing in the VFX that don't satisfy me completely yet) is the Provoker test field. These two units (Provoker and Marauder) were quite a pain, both in design and implementation. They need to stick to the TD classic basic behavior (so following paths to the castle as general thing) but they need to be more RTS-like in terms of offensive options they have available.

Anyway, here's the provoker. He stops and starts talking when he has targets (Towers and Soldiers) in reach, and each target checks against its morale value (a d100 check, old school dear %). In case of failure, Towers stop shooting for 8 seconds, soldiers change side and turn into enemies permanently.

The temple aura increases morale and makes it easier to resist, officers and leadership as well. The temple can also unlock the Thou Shalt Not power that makes all the allies in the area immune to the Provoker power, and some Towers can unlock the Iron Discipline ability that also makes them immune. And here you go, the Provoker field test.



Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #8 on: June 08, 2017, 10:35:04 PM »

Oi guys, I am back here to keep on posting updates (this feels actually pretty nice as a way for me see how much work we did already on this)!
I will take a little break from units (we are rendering the last ones, if I wait I can then show them more easily and in a more complete way) and move to another part of the game that instead is finalized (ok, we consider some pre-release polish and a couple of modifications, but nothing major in general): the towers.

The core battle engine of EiR is Tower defense, and therefore the towers obviously cover a vital role. In EiR, we have a total of 17 towers or tower-like buildings, divided in 4 categories : Archery, Artillery, Scouts, Temple. According to their evolutive tree, there are Basic, Intermediate and Advanced Towers.
Here's a little spoiler of the evolution tree of the towers to have a general idea of what we will be dealing with. Towers are unlocked through research, while Temples are unlocked through the progress in the plot (research/science -> temples would have been too weird :D )

Archery Towers



Artillery Towers



Scout Towers & Temples



Before going in detail on the various towers, a few last words on the process. Each tower has three states: Built, Damaged, In ruins. Some towers (the basic ones) also have a Under Construction state. We will show them in the next thread, but to summarize how our George made that in a "optimized way".

  • Build in Blender, not making the meshes fully hollow, but building a bit of the inner structure as well, and giving some thickness to the elements.
  • Using Houdinig to break them down in various stages of destruction.
  • Render them out in Blender to 2d sprites (each tower is approx 1024x512 resolution so to allow zooming in) with separate shadows.
  • Pack them into spritesheets with Sprite Packer and then straight into Unity.

For the next one as said we'll start going through the towers, in visuals, descriptions and special abilities.

Cheers!

Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #9 on: June 10, 2017, 02:00:59 AM »

Ok, we continue as promised, first a quickie on the scout towers, only two of them, it's gonna be easy.

Gameplay premise : Scout towers are the only tool you have in battle in order to detect the incoming path of enemies for one wave. Each tower will detect all the paths that will cross it's area, and each path detected will provide a detailed list of the enemies using it.

Scouts Tower



The cheapest of the towers you can build, quite fragile and very vulnerable to fire, but with a fairly large area of detection of incoming enemies. Beside providing information about the waves passing through it, the scouts tower will also reveal Hidden enemies (e.g. the Krovan Skirmisher) that try to cross the area undetected. While in the tower area, these enemies will be attackable by all the towers and soldiers.
This tower has no attack capabilities.

Outpost Tower



Endowed with all the abilities of the Scouts tower, the Outpost is much more resilient, has larger detection area and despite having no direct attack capabilities, can be endowed with up to three special abilities. Also, thanks to the stone walls, it's much less vulnerable to fire attacks than the Scouts tower.

  • Iron Discipline - Immune to moral-based effect (e.g. the Provoker skills)
  • Caltrops - Cause continuous damage to all the ground units crossing the surrounding area
  • Nets - Throw nets on the passing enemies to slow them down for a limited time

So, this was short but we got started. Next one is gonna be yummier as we move on to the core of your defenses, the Archery towers. Enjoy the three states of destruction of the towers, in the previous reply I gave a short overview of how George is producing that mixing Blender and Houdini.

Cheers!
Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
nikwin
Level 0
**


View Profile
« Reply #10 on: June 10, 2017, 04:47:21 AM »

This looks cool. I've always wanted to see a good mixture of TD and RTS. Can you put up some gameplay?
Logged
DrHogan
Level 0
***



View Profile WWW
« Reply #11 on: June 10, 2017, 05:57:50 AM »

Thanks Nikwin! Here you go, a lot of stuff already in is not shown in here (it was more a test run I gave to the map myself), there's quite some roughness as well, but some gameplay should be already visible.



Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #12 on: June 11, 2017, 02:34:58 AM »

Ok, here we go, as promised moving on with the Archery towers. Even though I posted it already before, here's the development tree of the towers, meaning that you always start by building a Guards tower, and then you choose how to evolve it according to the unlocked technologies.



The two main branches of development for the tower lead one towards a more versatile and balanced kind of tower (Composite Bow and Rangers), one towards two specialized types of killing machines, the Repeating Crossbow (short range, high firerate, average damage) and the Snipers (long range, low firerate, high damage).

Guards Tower - Basic


The most basic of the archery towers, the Guards Tower shoots a single target with an average-slow but steady pace. It has no available special abilities but can be upgraded to Composite Bow or Crossbow Tower. Vulnerable to fire!


Crossbow Tower - Intermediate


Slow and deadly, the Crossbow Tower is a steady representative of the ballistic Kothian research and a fundamental development step towards the more advanced Repeating Crossbow and Sniper towers. A must have for every defense worth its name.

Available special abilities:
  • Iron Discipline
  • Poison Arrows
  • Boiling Oil


Composite Bow Tower - Intermediate


Old but gold. Taking the bow technology to a superior step of excellence, the Composite Tower is a death machine. Fast, with a long reach and average damage; a must have against flying and ground faster enemy troops that also opens the way to the Rangers Tower.

Available special abilities:
  • Dog Kennels
  • Flaming Arrows
  • Caltrops


Rangers Tower - Advanced


When you will see them it will be already too late. Hidden in vines and branches, the Rangers Tower waits silent and deadly for its targets. Long range, high damage, good firerate, and a useful set of abilities to snare and kill even hiding enemies. What are you waiting for to build it? Ah, the also have the same enemies detection skills as the Scouts towers.

Available special abilities:
  • Dog Kennels
  • Flaming Arrows
  • Caltrops
  • Nets
  • Harpoon


Repeating Crossbow Tower - Advanced


Now we are talking. The crowd control jewel of the Royal Military Laboratory of Koth, the Repeating Crossbow Tower will rain deadly bolts on every passing enemy with an incredibly high firerate. Once the Barrage Fire ability has been unlocked too, going past this tower will be a not so trivial challenge

Available special abilities:
  • Iron Discipline
  • Poison Arrows
  • Boiling Oil
  • Barrage Fire
  • Dog Kennels


Snipers Tower - Advanced


Only the best marksmen are given charge of the huge deadly crossbow installed in the Sniper Tower. Protected by anti-arrow nets, the snipers will shoot heavy, deadly bolts with a slow pace but to incredible distances.

Available special abilities:
  • Iron Discipline
  • Poison Arrows
  • Boiling Oil
  • Critical Hit
  • Cloud of Smoke
Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #13 on: June 12, 2017, 03:41:30 AM »

And here I am back, we continue with the temples. A little premise here as well: EiR is a quite low-magic settings. Only a bit of religious fanatism, a couple of blessings and curses, and barely more than that.

Plus, the Church of Kaer is one of the player's state faction that is not so friendly with the Sergeant in general. Therefore he will resort to their powers and abilities, but he will be rarely happy about any debt he will build up because of that.

That said, let's get started.

Shrine



According to the clergy of Kaer, there are just two answers to a question. Theirs, and the wrong one. Despite being a strict and merciless god, he takes care or his folks, and these Shrines, built in the battlefield or on wild areas, convey his will through austere holy sybols. Enemies shall expect no mercy, while the faithful ones will find their hearts and souls rinvigorated. The temple has no additional special powers available.


Temple



In areas with a strong aethen influence, simple shrines are not sufficient any longer. These wooden temples contain at their core a steel symbol of Kaer, through which his will flows strong. The pious ones in sight of the Temple will relish of his Holy influence.

Available powers:
  • Shield of Faith - Allies in the area are immune from the Witches spells
  • A coin for a soul - Each enemy killed in the area provides 25% more loot in gold
  • Eyes of Kaer - Hidden enemies in the area are temporarily revealed


Battle Temple



In the middle of the toughest battles, where the influence of the obscure powers is stronger, the followers of Kaer will raise the Battle Temples of the Austere God. Its power will reach the horizon, and the enemies shall tremble by challenging such a bastion of Faith and Morality.

Available powers:
  • Shield of Faith - Allies in the area are immune from the Witches spells
  • A coin for a soul - Each enemy killed in the area provides 25% more loot in gold
  • Eyes of Kaer - Hidden enemies in the area are temporarily revealed
  • Thou Shalt Not - Allies in the aree are immune to moral-based attacks and powers
  • Martyrdom - Allied soldiers in the area can fight past their normal health points before dying

And, this was short but it was it, next time we go for a longer one, with the Artilleries. Cheers Wink
Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #14 on: June 18, 2017, 11:49:16 PM »

Hello guys, I decided to take a little break from towers before showing going onto the Artilleries, to show that EiR is not just flat strategy, but it also has a story (that we will not talk about yet) and characters.

The first ones we present are the main character, 1st Sergeant Hans Heimer and his team.

Hans Heimer, 1st Sergeant of the Koth Army



Last heir of a disgraced army family, Heimer is considered to be the unruliest, grumpiest and most unpleasant of the Sergeants of the Koth army. Flaring his temper around on subordinates, enemies and allies all the same, he has a passion for brandy and a major dislike for orders and authority. Despite that, below all of that, he still retains a sort of sense of duty. He wakes up daily with the objective to get things done as quickly as possible in order to go back to his flask of brandy.


Corporal Frederik 'Turd' Turg, Heimer's field aide



Turg is among the few naive gentle souls in the whole game, if not in the whole settings. He might not be the sharpest tool in the shed, but he is efficient, obedient, and able to come up with smart ideas when they are needed. His gentle character allows him to not only survive Heimer's temper, but also to sorta accept it in a very positive way. Turg takes care of most of the management of the campaign and is in charge of handling reports (and tutorials).


Mathias Vunstenberg, Scouts Sergeant



Somewhere between a spy and and a popinjay, Vunstenberg seems to hate Heimer and know more about the Sergeant past than expected, but he is a vital asset for the campaign. In charge of Scouts and secret police, he manages all the espionage and he might also have some additional hidden motives that for now are not to be revealed yet Wink Heimer has no problem in hating him back and treating him as badly as possible, but Vunstenberge doesn't seem to get easily impressed by that.


Gottfried Megler, Chief Engineer of the Koth Army




This short (in height) and misanthropic engineer hates everyone and everything but his machines and his labs. He is in charge of trying to provide Heimer's ragtag forces with enough technology to prevail on the rebel forces, and he might surprise the Sergeant with what he can do with so few resources. It's gonna be fairly hard to talk to him unless you are a catapult or a gear, but still, he will be essential.


So, that was for now, back to code some more optimizations on RAM usage (high res spritesheets + unity = welcome to hell).
Cheers!
Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #15 on: June 27, 2017, 01:21:52 AM »

Hello guys, we took a break from updating the devlogs because we got deep, really deep into the abyss of memory management in unity. As we seem about to emerge from it, I thought that maybe you might have been interested to a quite technical devlog update (hey, gamedev life is not just about displaying nice gifs and pics as we know :D )

Up until now we paid a lot of attention to the CPU stress in the development of Empires in Ruins, both in terms of Update and Fixed Update loops, but also a lot in terms of keeping the drawcalls and fillrate low. And what about RAM? Well, here we need to declare a Mea Culpa; about RAM we always thought "Even not-so-new computers have far more than enough RAM to run a 2D game". I would probably deserve a lash for each character of this sentence.

THE STRUGGLE

Meanwhile we added a higher zoom factor in battle, then we raised the resolution of the spritesheets, then we increased the number of frames per animation, then we had to reference all the tower and units prefabs from the inspector instead than pooling them up from Resources at game load (because of the 4 GB limit of the Resources file in build, the one that nobody ever told you about), etc etc. 
And then one day we checked the profiler, and HOLY CRAP oh! 3 GB of Ram in use constantly during the battle map and we still don't even have all the enemy units in!

I mean, 3 GB is still "humanly acceptable" in a sense, but:
  • We still needed to add more Units, including the three largest ones, the vehicles (Tank, Paddleboat and Zeppelin), that can't have tiny spritesheets if we wanna have them look sharp and clean.
  • It's a 2D game. And mind this: a developer will often understand why a ultraHD 2d game with realistic smooth animations and a lot of zoom does use a lot of RAM. A generic gamer quite often will not, and it might easily be that flames will raise on your store pages.
  • It is quite pointless and dumb to have all the units and towers referenced in RAM even if you don't need them. Very pointless and very dumb. 

A mistake we surely made was, specially for the Artillery towers, that can rotate 360 degrees (discretized in 45 positions) and reload/shoot in 8 directions, to have in some of them (Cannon and Bombard being the main culprits) the pre-rendered VFX of the shooting embedded in the spritesheets. That caused, specially for the Bombard, the need for 4k or larger sheets (we got started using 8k ones for full resolution but that was just madness). Now if you do some math, a 4k sheet is approx 21 Mb in Ram, and a 2k sheet is 10 Mb, so 21x8+21x8+21 = 357. So here you go, one single large artillery tower reference (not per instance, mind), uses 357Mb of Ram. We have 3 large ones and 3 smaller ones that are probably around 200 Mb each. That is a crazy 1600 Mb of Ram used for artilleries that you might not even be using (they are powerful and expensive, so i've rarely seen players having more than 1-2 of them in the workbench map). The first step was then to strip those sheets of all the VFX, and minimize the size of the spritesheets. And that was done outside of Unity, using Blender, Texture Packer, Houdini and Gimp. 2k spritesheets, if well packed and made, are absolutely fine enough for a good quality and good res animation.

THE RESEARCH

So, this whole premise took me to investigate what one could do instead. Googling took me to one of those mysterious Best practices pages of the Unity documentation you wished you had read and found years ago. I loved the intro even though it was a "useless" warning at this point as we already ditched the use of Resources: "Best practices for the Resources system: Don't use it" - Ok :D
Through googling, searching and asking around, I found two possible alternatives to pick: additive scenes loading (aka loading, on top of the main scene, small scenes that have been prepped with no camera and just some prefab referencing) or the always heard about and always feared (let me tell you - without a good reason) Asset Bundles.

The first couple of tests showed right away that time-wise, there was no comparison between the two approaches, Bundles are much much faster. To load an additive scene with a single cube on top of an empty scene took approx 50 ms, while loading an asset bundle with a cube into the same scene took approx 14 ms. Tests made with more complex assets gave more or less the same results, and so it was one more choice taken: Asset Bundles seemed to be the way.

To summarize the possible approaches to use an asset in a scene :
  • Have the object already in scene from the editor at building time
  • Resources (but we saw above why it might not be the best idea)
  • Referenced in a public variable of an executed script (but in this case the whole asset will be always loaded in the scene, no matter if needed or not)
  • Loaded as additive scene (but again, we saw above that for multiple small bundles it might not be a convenient solution because of the loading time)
  • Asset Bundles.

THE SOLUTION

How do AssetBundles work? Well, these pages https://unity3d.com/learn/tutorials/topics/best-practices/guide-assetbundles-and-resources will tell you mostly everything, but let us give our short version as well. Rough as hell but fairly straight to the point.
An AssetBundle is a pre-packed set of assets with a header to handle the collection. It can be streamed into the game from network or from files folder and they need to be built for a specific deployement platform.

The network use is easy to figure out when you think about web or mobile applications (an example, years ago i wanted to make a unity game for Kongregate, but Kong only accepted a limited size executable, so the way to add assets and contents was Assets Bundles or in case of mobile apps, it might allow you to stay below the mobile network download threshold).

We said what they are, we mentioned what alternative approaches they have, now time to explain exactly how we use the AssetBundles for towers management in game.

  • Each archery, magic or scouting tower has two spritesheets and three prefabs (Built, Damaged, Destroyed). The base towers have also the UnderConstruction. Each tower is packed in a bundle with the tower name (trimmed whitespaces, all lower case). Sprites occupy approx 3.5 MB all together, with the packed assetbundle being around 7-900 KB.
  • Artillery towers do have a building part that is identical in size and type to the ones above, then comes the large one, 8 attack sheets, 8 reload sheets and 1 rotation sheet, for a total of approx 50 to 80 Mb according to the artillery, that compressed in the AssetBundle become 10 to 15 Mb. The artilleries are split into bundles. One small one with the building only, loaded at start time of the map if the tower is unlocked (because of research), and one large one, only loaded whenever the player gives the building command for such a tower (and no other towers of that type are in map). After the command there is the walking time of the Builder + the building time of the towers (6 to 10 seconds) before the prefab is needed. The loading takes approximately 1 to 2 seconds, so that we are always on the safe side. Unused bundles are unloaded and kept so until needed again. Given the nature of the game and battle maps, it is fairly improbable to have more than 2-3 different types of artilleries loaded at the same time in map (they are costly and slow to build).

How much memory did this save? Well, according to a map unlocked towers, up to 460 MB. It might not seem "much" give modern hardware, but if you sum that up with the amount we are gonna spare with converting the enemy units into AssetBundle (estimated memory savings there are up to 1-1.5 GB compared to the actual manager managed pooling approch with all the units prefabs referenced on start.), but for example, in a 32 bit environment, such a difference that would be far more than enough to make a difference between being able to play the game or not at all.

CONCLUSION AND A FEW USEFUL LINKS

As mentioned before, making a 2D game, is a risky choice when talking about minimum required hardware. Keeping drawcalls and memory consumption under control, has become nowadays fairly difficult, with most of the optimization and R&D focus going towards 3D. As developers, we know the problems that HD 2D might cause and why it might have very high hardware requirement. Keep in mind that the player does not, and he might easily get into the state of thinking "if a 2D game is using that many resourced, definitely it's because it's badly programmed". And we all know where this might lead your game and brand reputation.

NOTE, this is a bug encountered on shaders used through Asset Bundles https://support.unity3d.com/hc/en-us/articles/208380753-Shaders-are-pink-when-loaded-from-an-AssetBundle and here is a useful link i found almost by mistake about Asset Bundles troubleshooting https://support.unity3d.com/hc/en-us/sections/201743566-AssetBundles
Then ofc go to the manual and read it all through and through before starting https://docs.unity3d.com/Manual/AssetBundlesIntro.html
The full resources and assetbundles management best practices pages https://unity3d.com/learn/tutorials/topics/best-practices/guide-assetbundles-and-resources

Last reminder : Make sure you check the Dependencies of the AssetBundles and store them in a specifically made asset to avoid duplication. Check the bug on shaders and materials before you go mad about it. 

And if you have any question feel free to ask. I might not know the answer, but if I do, I will be glad to help! And as usual, prove me wrong so that I can improve further! Beer!

Cheers,

Hogan, H&R Lead Dev

Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #16 on: July 04, 2017, 09:52:21 PM »

And, on we go. These weeks are all about optimization, but meanwhile the assets production pipeline continues.
What we're doing about optimization :

* Converting the assets into asset bundles (as explained in the previous reply) to only use RAM when needed (Towers fully converted, work like a charm it seems, soon to be done for the units as well)
* Pooling everything (there was a lot of really old stuff not being pooled in the code, we are making sure all that is changing). This far we already reduced A LOT CPU and GC use.

But that's not what this reply is about, it's about the castle levels. Unlocked through research, here come the castle levels: Hamlet, Fort and Fortress. (And the spikes are unlockable as well)







and as a little preview, thanks to some Houdini magic cast by our George, they also have a destroyed state.



Back to coding now, cheers guys!  Beer!
Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #17 on: July 15, 2017, 02:10:59 AM »

So, for a little updated. Production is moving on for the province assets. Whenever you physically visit a province (when you are not there you can only rely on the more or less unloyal governor you left in charge), you will get welcomed by a screen of this sort (the current one is a mockup made with older assets we had just to see the concept).



As the building up of your province proceeds, assets will appear on screen. There are 15 assets, each has 3 levels for different impacts on your province stats.



Cheers!

PS All this starts to awkwardly feel like a monologues, but in a way it still helps me keeping track of the progress :D
Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
DrHogan
Level 0
***



View Profile WWW
« Reply #18 on: September 16, 2017, 11:39:45 PM »

Hi guys,

summer was long, but we got a lot of things done. For one we finished the 26 battle maps design and they already entered production and rendering phase (and thanks to Houdini, the production rate is crazy high - a great satisfaction after a few months of preparing the materials and nodes to generate the procedural terrains).

But it's not what I am gonna go in detail about today, today I just wanna show, with a certain pride, the finished cast of EiR campaign. I will not reveal names and roles to avoid spoilers, but here they are, thanks to our Konrad drawings. I can only tell, all but one of these guys are quite hateful :D


So yes, EiR is a strategy game, the battles are a hybrid of TD and RTS, the main campaign is a 4X-like game, but we definitely didn't give a secondary role to settings and plot, I hope people will appreciate that as much as we like it.

Cheers,
Hogan, H&R Lead Dev
Logged

Dr.Hogan-Lead Developer at H&R Games
------------------------------------------------------
Empires in ruins
Ayramen_Studio
Level 0
**


View Profile WWW
« Reply #19 on: September 19, 2017, 02:22:17 PM »

Really nice visuals, it looks like a great tower defense!
Logged

Pages: [1] 2 3
Print
Jump to:  

Theme orange-lt created by panic