Project Anera: Part 1 - Giant Strides and Baby Steps
So in my first journal, I talked about the tool sets I'd be using (Smartfox and Unity). It's been about a week since I've started working with both of these development tools and I can happily say I'm chugging right along. Granted in the grand scheme of things, I'm still a long way from my final design, but for me, it's not about having a polished final project, it's about the baby steps that I've taken to get their and learning along the way.
Giant Strides (Design):
So, I spent a good portion of this weekend playing a lot of different genre games, namely Starcraft 2, Dota 2, LoL, Civilization 5, Dragon Age: Origins, and while I obviously enjoy all of these games, that wasn't the reason I was playing them. I wanted to refresh myself on the core competencies that these games utilize in order to be considered successful.
The e-sport games (SC2, D2, LoL) rely on a competitive scene and what is considered fairly balanced game play, all players at the start of the match have equal opportunity to win. Simply put, their success is limited entirely by their skill level and maybe internet speed but that's a different topic... The downside to this core competency is player frustration at losing several matches in a row. For me personally, I suck monkey balls at Starcraft 2, and after losing 4 1v1 matches in a row, I was no longer enjoying myself. I reasoned that this frustration could potentially be mitigated if the game had a meta game that allowed the user to progress regardless of the outcome of the match.
That said, I wanted to make a new kind of Moba that involved strategy and tactics in the match as well as a meta game outside of individual matches that also had an element of persistence and progression for users. Furthermore, I didn't want to use Aeons of Strife map (Map used in HoN/LoL/Dota) and I also wanted to make "lanes" more dynamic than what they currently are.
For today, let's talk about individual matches:
As with most MOBAs, two sides, each with a base. The goal of the game is to destroy the opponent's base resulting in victory. However instead of predetermined lanes with creeps/minions spawning every 30 seconds, Project Anera utilizes a node-based system. These capture-able nodes, lets call them barracks, spawn X amount of soldiers every 30 seconds. The players can change the direction at which these troops move, creating truly unique lanes.
3v3/5v5/10v10 concept maps (Blue Circles are Bases, Green Triangles are Barracks)
"Do you want to divert all barracks down the center for a one massive head-on attack?" "Would that strategy be weak to easy flanks?" "Are you going to keep an equal amount of troops along your entire front line?" "Can the enemy penetrate your front line easily?" "Where will you go as a hero?"
In order to balance the snowball effect of one side owning more barracks (thus spawning more troops per 30 seconds) respawn time for players is increased for having more barracks, and reduced for having less barracks, thus allowing a team on the brink of losing to respawn quickly and continue defending their base.
Baby Steps (Coding):
The first thing I did was briefly look through the documentation of both Unity and Smartfox, luckily they both seemed fairly easy to grasp at a conceptual level. After watching a few video tutorials, I started to dig into the tools and begin my own project. I was able to quickly put together a Login/Registration screen using Unity's GUI class, which seems incredibly easy to utilize. The next step was connecting this screen to a server, which was definitely alot more complicated seeing as I haven't ever done networking code. However after a few hours of tutorials I understood how to setup a server, write custom extensions/event handlers and maintain a connection to the server. The last step was rigging up a database to the server and making sure users were logging in with the right credentials, which was easier than I thought as well (Smartfox comes with a Login assistant component )
So as of now Project Anera's 0.0.1 has a fully functional Register and Login screen that will let a new user register and an existing user to Login in. Furthermore it checks if the user has created a character yet, and will either send the user to a lobby or character creation depending on the result. In addition, I've begun working on the Client Launcher/Updater, and have it set up to access a web server to check if the user's client is up to date.
Project Anera 0.0.1: