When I look at something I just finished working on, it is sometime hard to tell if it truly looks right - or it only looks right because I've been working on it so long that I've grown accustomed to it looking that way. With new assets, I like to look at something else for a few days, so that when I go back and take another look - new things jump out in the scene that aren't right. This is almost always the case with something like a new character it seems - which makes development of such a bit slow-going.
This month I've been working on improving the overall presentation and "magic" of our world. When we originally created the alpha-testing gameworld, we did so as a "Thirty Days of World Building" initiative (In fact, here is a nifty visual calendar of that event.) Back in September, we were rushing to create the island as fast as we could - but lately I've been spending time studying each page of scenery and considering how to improve the scene composition from every angle. Sometimes this involves moving things around into more interesting 'groups' - in other cases it means adding the right details and touches.
Really though - you have to see this month's new features in action:
One particular problem we have with our "endless terrain" system is the feeling that because you can see so far into the distance from any point, that it cause the scene to look and feel the same even when you do add these local details. To help combat this, we added some localized atmospheric rendering, which I feel helps dramatically. Because the atmospheric rays are local, they change based on what is casting shadows in the scene, so that two similar areas only a short distance apart can feel quite different.
As I don't currently use any sort of deferred shading, the rays are currently achieved with several player-facing quads placed so that they fill the viewport at multiple depths. This gives the effect some depth-testing, and then each quad samples the shadow map several times between those layers.
Doing this as a full-screen post effect with deferred rendering would be easier, and as I hope to add SSAO soon, it will no-doubt be reworked to perform as a post effect at that time.
The second thing we worked on this month - and the much larger thing - is our first new character model. A common comment on the previous characters was that their eyes were unnerving - staring wide-eyed into the distance all the time, and that their postures and animations were poor. Our new character meshes now have facial rigging, giving us the opportunity to make them much more expressive. As we use our own modeling software, I added a feature whereby each LOD level can have it's own skeleton - so that players on lower-end systems can reduce their LOD, and bones flagged "high-detail only" are ignored (dropping their associated vertexes into their parent bone instead).
I also overhauled our animation system - which previously only permitted a single animation to be played on a mesh at any given time. Animation is now much more complex - with multiple layers of animation being blended together as needed and smooth automatic transitions between layer states. (More on that is presented in the video above.)
That's it for this month - with the weapons and animation system in place, I can finally start thinking combat.
Like many indy developers, I am always busy, always behind schedule - and I fear destined to be late with my journal entries here... but I'll try to make it up with a video this time demonstrating the feature in question.
I have told people interested in my game in the past that one thing I plan on doing to make Antilia play differently from your typical mmorpg is that the game will be completely enjoyable for non-combat characters. Being an "adventurer" or going into battle is not a requirement to enjoy and progress in the game. Characters have no overall level - but rather each discipline and each skill level separately. You get good at the skills you use, and the game will be balanced in such a way that it is desirable to have both combat and non-combat players in your party or group. (There's nothing that prevents a player from creating a character that has both combat and non-combat skills of course - although there is a limit to the total number of skill 'blocks' the player can unlock, so that players cannot be jack of all trades.)
My current focus developing Antilia right now is the addition of combat - so it may seem a bit odd that I started combat by adding a new non-combat skill in the form of weapon crafting. From an overall look at the final product though - this was the natural place to start, as the vast majority of weapons in Antilia won't come from drops or quests, but from skilled crafters.
To make crafting a deep, rewarding play-style that stood on its own, Antilia would need a crafting system that allowed for a lot of creativity, and so without further ado, I've created a video outlining the system and in the second half I describe what I used to do it:
(The video is available at youtube in 720 and 1080p, if you have difficulty seeing things. And yes, a lot of assets in these video are works-in-progress, including the characters.)
Overall, I am very happy with the way the system turned out. It seems every time I play-test the crafting system, I manage to make something new - and there's still a ton of materials, craft skills, and magical enhancements that will be added to the system. Antilia will be the sort of game where no two players wield exactly the same weapon, and that makes me very proud.
Next up: Artificial Intelligence... which has me similarly excited.
This may be my first post on gamedev.net regarding Antilia - but I've been working on the project for several years prior. To see what the project is, please visit it's website at antilia-game.com.. so I can jump right in with the topic at hand.
In between work on improved character meshes and the game's combat system - I've been taking some time here and there to add features that the game is starting to suffer from the lack of: distant tree billboards, collisions, and for this week - dynamic shadows.
I haven't personally implemented dynamic shadows myself before, but as someone who likes reading about various graphical algorithms, I was already familiar with the common techniques. I opted for a cascading shadow map approach - although I'm not sure how much of the 'cascading' part I'll have the fillrate for. Sometimes there can be a significant difference between what works in a simple scene vs. what works in a complex scene.
Being someone that likes to learn by 'trying things myself', I think the results worked out pretty good. I'll present the player with a few shadow quality options in the details window so they can adjust the tradeoff between quality and fps hit for themselves - but with a few more performance tweaks, the shadows are certainly a 'keep'.
The difference between the old shots without and the new shots with are night and day - adding some nice visual contrast to the scenes and bringing the animated swaying tree leaves and treetops down into the players line of sight more.