Weekly Updates 23 and 24 were spent on a spin-off idea for Victis.
In the small game development studio I work on, I lobbied for what we call “Free Friday” where, in every first Friday of every month, for the whole of that Friday, we’re allowed to make whatever videogame concoctions we can think of.
This is our excuse to make time doing those crazy ideas we get from time to time.
This is also to de-stress (as I like to call it “detoxifying”) from being full of client work. That is, work where we create a videogame for a client, per her/his instructions, leaving little room for creative ideas.
The catch with this Free Friday, is we have to start with a blank slate every time, and make sure we have something presentable at the end of the day. Think of it as a short informal game jam.
So for the November Free Friday I thought of making this idea I had one time before I went to bed:
“Damnit I want to play Assassin’s Creed right now on my Android tablet!”
That’s pretty much the basic gist of it. I wasn’t able to have much by the end of the Free Friday so I took the weekend and the weekend after that continuing on it.
Here’s what I’ve ended up with so far:
I’ve detailed more of it in my personal blog here: Battle Maiden Part 1
How is this related to Victis
The player character in that little experiment is a Battle Maiden.
I wanted Victis to draw (loosely) on Überwald-esque dark fantasy, and that included gypsies.
Through some athletic feats of cognition, my train of thought arrived at pistol-weilding, dancing, acrobatic gypsies, that right now I’m calling “Battle Maidens” until I figure out a better name.
The idea of acrobatic, one-man army, free-flowing gameplay that Assassin’s Creed and Batman: Arkham Asylum had, fit well with Battle Maidens, so that’s the graphics I used for this Free Friday game.
Normal map baking in Blender is very simple and straightforward but there are numerous pitfalls that are not apparent to the user that can make things broken.
No objects or images found to bake to
Generally speaking, if either of the high-poly object or the low-poly object you are baking to are set as not renderable, Blender can’t find it and thus, can’t bake anything. To make objects not renderable, there are many ways to do so:
- Set it as invisible from the Outliner
- Have either objects in a layer that isn’t set to be rendered. In the Render tab, there’s a section named “Layers”. That determines which layers will be rendered.
It doesn’t make sense to me at all that normal map baking has to depend on these things as if we’re rendering to a movie file.
The other possible reason is if the low-poly object doesn’t have an image assigned to it. From my experience you can just create a new image from Blender, assign it to the low-poly’s UVs, and you don’t even need to save it yet. That is enough to make normal map baking to work.
Take care when baking into objects that have overlapping UVs. If you have a head whose UVs’ left side is mirrored to its right side, this can cause the baking to overlap as well.
Here, the objects have multiple copies, thus, it made sense for me to simply make them use the same UV space. I was baking the high-poly object you see in the bottommost copy of that object.
However, the normal map baking produced those lines you can see in the left side of the screenshot. Again, this is because the UVs are overlapping.
What I did, was to temporarily set aside the UVs of all the other copies of the object:
Then bake again. This will produce a clean result like the screenshot below. Then simply move the UVs back to their original positions.
Flipped Normal Maps
Things looked fine until I saw my object up close:
The left side of my character’s armor seems to be flipped from the right side. This is because in the normal map (shown in the right side), the UVs were split in half. And then the right half was rotated upside down (because I was saving space).
Here is how it looks like in Blender:
However, when you preview the normal map from Blender, it looks fine.
In the end, I was forced to remap the UV layout so there’d be as few seams as possible.
This resulted in having to reduce the size of my UVs to fit in the image, but so far, that’s the only way I see to fix it.
For the impending IGDA Manila July Meetup, I certainly won’t be able to rush my next immediate objective: enemy A.I.
So I’m spending the time doing some polishing here and there.
Here’s the soldier with normal maps (finally stopped being lazy about baking it):
I’ll also add the really cool sounds that Raf had been making.
I still need to make at least one short-range, weak melee attack, and I realized I need a proper “battle-ready” idle animation.
As a break for relaxation, I did an experiment on antique-looking rifles. This is actually a Gras Carbine M1874. I only chose it because I happened to like the colors of it in my reference photo.
I have no idea how those moving parts move, and I’m pretty sure I made some of them wrong. I may not end up having realistic reload animations for this and I bet there will be antique gun enthusiasts who will condemn me for that.