Saturday, March 30, 2013

Loadout Preview Version 2.0a

I have been spending a lot of what free time I have working on a new version of the menu system. The problem was that the original hadn't been scoped to expand much, so every time I wanted to create a new menu or sub-menu I was having to update a lot of code. My solution was to rewrite the system to work off of a database table. The resulting menu doesn't look much different at all, but it takes me a small fraction of the time it has in the past to change the menu. Now, adding another menu item is as easy as adding a record in the table, and adding any number of sub-menus and sub-buttons is done just as easily.

I have also added some extra camera movement to show what is currently selected in the loadout sub-menu better on the preview bot itself. When you enter the "Spaulders" sub-menu, for instance, the camera will move to a position that gives a much better view of the Botz shoulder. I have also added mouse-wheel functionality to the menu system, as well as support for a controller (tested with an Xbox Controller).

The result of all this used up free time is featured in the following video:

My goal in the next few weeks is to bring the loadout data that is saved to the SQL database as the user interacts with the menu into the Arena itself. The foundation of the movement, attack, etc. functions is all there, I just need to feed it data and then put time into tweaking things until they feel natural, regardless of whether it is being run on a computer, phone, tablet, or console. I am hoping to bring this to the Unity WIP's forum this summer, where I will open up the website to allow 100 registrations, and will then begin some early Alpha tests. But time spent blogging is time not spent programming, so I'll end this here.

Wednesday, March 13, 2013

A Quick Preview of the Loadout System

Here is a quick video preview of the loadout system. These options are saved automatically to my account (I will be integrating the checkmark button later this week), and currently there are options for Primary weapon, Secondary weapon and the Armor skin. Next I will be adding Helmet & Shoulder options for the armor, as well as grenades and the jetpack.

Loadout options are currently set to be :

Guests are alotted 1 loadout slot.
1 extra loadout slot is received for registering.
3 extra loadout slots are offered to Pro members.

Thursday, March 7, 2013

Getting started

BlitzBotz is a top-down, online, multiplayer, arena/halo-style battling game made in Unity3D. The object is simple... kill every opponent to score as many points as possible, bringing you closer to your goal of becoming the #1 ranked player. We have several1 different classes to choos from and a customized loadout system that gives several options, including weapons, shield, turrets, armor sections & armor skins. Players will compete head to head in an arena, earning 1 point for each kill... and the first to 5 kills takes home the win and climbs the leaderboards2.

The story so far: You are a lifetime prisoner and society has bestowed upon you a great gift: a chance for freedom. You will don your favorite BlitzBot armor, choose your weapons, and go head to head with other prisoners in a gladiator-style battle that is packed full of fast paced action. Earn your way to the top and you may just earn your freedom... but it won't be easy.

The foundation work for BlitzBotz is just about completed. I have Unity talking to an authoritative SmartFox server, allowing guest players and registered members to play each other via Droid, iPhone, Unity Web Player, or via Standalone programs on Mac, Windows, and Linux (all platforms play in the same arenas). You will be battling people from all over the world, and everyone gets thrown into the same matchmaking queue, regardless of location3.

My first point of order in setting up this game was to fix a problem that drives me absolutely crazy when playing one of my favorite games, Halo 4: lag-switching. Halo 4 is rife with lag switchers, and it's incredibly irritating, but further details on that subject are for another blog post. What is a concern here is that I was determined to render lag switches useless in BlitzBotz... if I was going to spend all this time building the game, I wanted to make sure that everyone earned their rank. So, I put in an authoritative server, and the client is simply a visual representation of that servers data. I may go into this later in a future blog post, but all you really need to know for now is this: if you use a lag switch with BlitzBotz, you are only going to hinder your own gameplay, nobody else's. First point of order - check.

[click image to enlarge]

The second point of order was to make this game accessible by as many devices and players as possible. After research, Unity3D was the obvious choice to start with... it makes it easy to port your work to a multitude of platforms easily and via the same project files. Next, I went with a SmartFox server back-end and built a custom login extension to allow members to register/login by storing user information in a SQL database and connecting it with the SmartFox server. Last, but not least, I wanted first-time users to be able to jump into a game and try it out as quickly as possible, so I setup a Guest player system that allows you to play without a login/registering. The server will keep your data stored for as long as you are connected to the server, and if at any time a Guest player would like to register, their current progress/stats in the game will be saved as well. Check, check, and check.

It has been my dream since I was a child and opened my first copy of Klik&Play to create video games. Unity3D and SmartFox have not only allowed me to accomplish this, but to do so in ways that I had never thought I was capable of doing: an authoritative cross-platform multiplayer-game for instance. I have always been a gamer, and I have been realizing my age a lot lately: not because I feel old, but because I often find myself looking back to the golden years of gaming... the times when my friends and I would put 4 computers in a room and have a Duke-Nukem 3D LAN party. You didn't have to worry about lag-switches, because the idea that we could do this was more than enough at the time, and we played for the experience of playing, not to climb some leaderboard. Titles were much less cookie-cutter, and the industry was still young and relatively pure. I want that era back, but now as an adult, and I am hoping that I can bring just the right amounts of old-school, new-school, casual, and action-packed to this first game.

BlitzBotz is still very much a work in progress, but it is coming along quicker than I had originally thought it would. Within the next month or two we should be ready to go live with a Closed Beta version, but until then, here are some goodies to whet your appetite.

[click image to enlarge]
[click image to enlarge]
1 Only one class will be available at launch
2 Gameplay rules and scoring subject to change
3 Options for matchmaking, including "best connection" and "closest geographically" will be available to ensure minimum lag experiences