We’re back from the silent cave with a ultra big weekly update!
Guilherme and I have been very busy these two weeks, that made us hold back the news last week to unravel everything at this one. So hold tight on your seats and let’s start!
The Art Side
Hey fellas! Believe or not, this time I woke up before 05PM, so I think it would be cool if I wrote this art report myself as I don’t know what else I can do so early
I’ve been a bit off lately because I had a tutorial to deliver for CGMasters that couldn’t be delayed even more, this probably explains our last weekly full of nothing, but we’re back full of stuff on steroids!
While off, I took a good time planning out stuff and researching, as a result I finished up with some very solid level design paradigms that allowed me to focus even more on the rough stuff that we would need to block the main environment layout.
This week can be resumed entirely in one word: Modularity.
The entire Environment for the game is based on Victorian Gothic Architecture (aka. Neo-Gothic) and Celtic Architecture, these intricate patterns and ornamental style is what we’ll be aiming for. Most MOBAs/RTS/A-RPG tend to fall into the cartoonesque visuals with broader shapes, low visual noise and clean textures, in a technical point of view it just makes sense, as it can help a lot in the gameplay (the gentlemen from Blizzard have already spoken about this in a great lecture that should be somewhere around here), but for our game I decided to make a bold move by going just in the opposite direction of the general guidelines, our game isn’t just a standard MOBA, RTS or whatever, so it shouldn’t be treated like one; If we want it to really stand out, we need to do stuff like this. Can it go wrong? It sure can! And that’s the fun in making a new distinct game 😉
I really like the Art Direction given to Gears of Wars, and its philosophy of overwhelming you visually with stunning intricate designs, it’s of course a risky path, but if done right, it can turn out to something memorable. That’s the goal.
Ok, screw the theory!! Let’s dive straight into the real thing:
I started the week doing some very basic tests with modular concepts, just to avoid planning mistakes in a late stage of development, just wanted to make sure that the approach chosen would meet the level design requeriments:
Done with that, let’s go for the real deal:
You can end up spending a crazy amount of time just planning these stuff into a modular fashion, the nerd side inside of you will always keep saying: “hey bro, you can optimize it even further!” “what if you could reuse it in…hmm… diagonal??” “c’mon you don’t need all that geo” “Kill your family and use druWAIT“, be careful to the advises that you decide to follow.
When done with planning, things finally started to flow and get interesting:
A simple geometry, when grouped together with other assets can really make your scenes pop, with only 3~4 different modular pieces I could almost build a entire castle, how cool is that?
For the shading, I decided to put aside my standard high > low res bake approach, and instead make a big texture atlas for the entire set, and texture everything into the good old way of overlap UV’s above the texture map.
This saved a HUGE amount of drawcalls, and also
slave labor manual tedious work, as the textures would be updated in realtime in the viewport, giving some damn good feedback, I really love doing it that way, I guess I’ll only go back to proper sculpting/baking of unique stuff when I need to make some statues or whatever.
Every texture tiles in the U (horizontal) axis, and I have even a mossy concrete texture at the botton that tiles on both axis, I just need to fit the desired UV exactly on top of it to work.
I’ve used Photoshop and nDo for this, and as recommended by a follower of my sketchfab account, I’m considering to try Awesome Bump as a beta tester, it’s really a awesome software, puns apart, and I think it can certainly improve my workflow.
I did the normal map the lazy way, doing multiple conversions with different settings using nDo, then masking the better parts of each one to compose the final map.
Also, each “asset module” is modeled entirely in a single mesh, this increase a bit the polycount but will help a lot with vertex painting avoiding seams, also I need to make a second UV set for the UE4 Lightmaps, as the first one has a lot of overlapping UVs, but in the end, we have a fairly good detail resolution even at closeups, and this is awesome.
More modular pieces to come, soon 😉
Now, back to Gustavo ~~>
The Programming and Gameplay Side
Last week I finished off by saying I was going to make a Unit specializations, and that’s what I did first.
Lord is a blueprint that is derived from Unit. Lords are different because they can win and carry gold, they can get and carry souls, they can win experience and for convenience, a value from the exp table of how many exp they need to reach the next level.
Lords’ behavior is the same we’ve been using until now. You can right click the ground to walk, right click some other unit to attack or follow it (depends if it’s an enemy or not).
Some of the Lord stuff came from the Unit blueprint itself, I just moved it down the hierarchy, since not all units will win gold or level up.
The other specialization that was done, is the mob. A mob is a very simple unit, the only attributes it has is a copy of the Spawner that spawned it, and the amount of damage it cause on each attack. Mobs do not absorb experience when nearby units die (like lords, which absorb and share), they do not win nor carry gold (but they might give gold upon death), there’s also no concept of leveling, experience or stats for mobs, since it doesn’t really matter which level a mob is, just the amount of damage it gives. It also overrides Unit’s “Get Calculated Damage” function, so instead of calculating the damage on the unit’s stats, I can just pass the “Damage” variable directly.
The cool thing about the mobs, is that they use another behavior tree. Instead of being commanded, instead, they do their stuff automatically. For now, their behavior is to stay still for something around 5~10 seconds, then walk randomly around their spawner…
A mob can keep on roaming forever, but if a unit attacks it, it will chase the attacker and attack it until one of them dies. Here’s a sample of the behavior tree:
A lot has to still be changed, but it’s already something, and it works!
Do you remember the standing decal that Guilherme just did? Here’s how it looks in game!
I’m just placing it as a diffuse decal on the ground, but it already looks good! I’m yet to play with the tools I have and improve its look. Maybe some emissive color? Blurry edges? We’ll see!
By the way, if you look on the image above, you’ll also see the new HP/MP Bars! I discovered a component called Widget, which you can place a UMG Widget at the components position, and it can be either on the world space, or screen space, which is nice! This allowed me to remove some crappy code from the old UI (which was every frame looping on all units and drawing a bar on top of it) to something much more sophisticated like the Widget Blueprints! Choosing if a bar is shown on top of all the enemies or just some of them now is just a matter of enabling or disabling the Widget component of that unit, which also helps a ton on granularity!
And for good reasons (most mobs mana is irrelevant, and you won’t really need to know its amount even if it was relevant at all), the bar for the mobs is a bit smaller and mp doesn’t show up.
For comparison, here’s an in game side by side comparison:
Now, in other news, here’s something AMAZING that was done this week: Ranged attacks are a thing now! If you like archers or mages, this is coming right for you!
Maybe in the last
teaser weekly you got confused by what the chucks was that whitey-ice-cream-cone-thing pointing to the mob coming from the player:
Come on! It was a nice prototype! That whitey-ice-cream-cone-thing was a good arrow, and it followed the character just fine, and dealt damage upon impact, and also where spawned just as a good attack was supposed to be, buuuuuut….
But I Guilherme said to me: “THIS. IS. NICE. Bro! But this is also shitty, I’ll make a simple arrow for you, so you can prototype stuff with style”. Here’s the 40-triangle arrow he came up for me:
Man, I couldn’t believe it, how could a model so simple, and so stupid be so mind changing when put in place, with some particle effects and a small parabola motion:
You see? I’ll even ask him if we can put this on OpenGameArt.org, it’s a made-in-15-minute, world changing model.
Here’s most things you’ve seen in the post until now in a single gif:
Also, pay attention the blue ball that goes from the mob to the player when a mob is killed! That is a SOUL and we plan to make it a thing on the gameplay. Just stay tuned!
I’ll try to improve some more the projectiles motion and effects;
I’ll explore more about the possibilities of changing NOW some classes from blueprint to C++. The performance is still not affected at all, and I don’t think that’ll be a problem soon, but I’m facing some complexities on Blueprints that would be easy to overcome in C++;
Maybe I’ll think about starting either the inventory UI, or the units stats. Both of them are nice and complex, but we’ll see what we can do about that!
For me (Guilherme here
again!) I should be very busy breaking all the modular stuff I did to create some variety with broken/damaged pieces, I can’t wait to have it done, it will add a whole new level of uniqueness to the scene, and break up the tilling with some organic shapes, can’t wait!
Also, If I have sufficient time, start making other the tier of modular assets for this set, with stairs, corners, balusters, fences and who knows what more, this texture atlas really opened a world of possibilities in terms of fast asset creation/level designing, yay! (Who knows soon enough we’ll be seeing some stuff already inside UE4?) 😉
And this is it for this weekly! I hope you’ve been enjoying following our progress, thank you for all!