Going to start tracking Development Progress in this thread. Feel free to interject comments/suggestions/questions at any time; or lurk in style.
What is this thing?This - is the Construct. It's our 'Loading Program'. We can load anything from clothing to equipment, weapons, training simulations -- anything we need.
How does it work?As of right now, the Construct relies on a user that is defined as a Server. When a user with the access level of a server logs into the system, s/he will automatically generate a game server and begin hosting it on a private port (based on Unity Networking and session hosting).
When a game is being hosted, other users of all access levels will then be able to log in and join the Construct in whatever Program is currently loaded.
To begin, however, you will first need to have a character.
The Login System at the launch of the game is not the standard 'enter username and password' like in most games. I've built it to resemble a terminal screen, so you must actually log into the Matrix old-school-style. In order to register, you will need an access code to authenticate with the system.
The access code is the same as the one required in an early phase of the SWTOR Challenge.
Once you've completed registration, a character will be auto-generated based on default settings.
This empty shell is your
Residual Self Image.
Things are a little confusing at this point; mostly because I haven't generated the number of assets that would be necessary to create a fitting Character Customization system. That said, it is one of my next intentions. I have most of the back-end in place for customization, so it will probably be next on the list after Rift integration.
BUT I can still do some minor customizations, manually, until this system is in place. I have a few test textures I generated (which I'll provide at the end) that can be extended if anyone wants their own custom textures.
Moving on from here, I have systems in place to pretty much handle implementation for doing whatever we want.
Like the 'Server' Access Level, there is also a secondary Access Level that will flag a user as an 'Operator' -- currently, that has been my toy for dropping surprises on people. Operators have an extended GUI that allows them to Spawn Objects or Load Programs.
Outside of Access Levels, there are also RSI (or Character) Levels. These are kept separate from server-controlling-abilities. For the time being, Level determines access to the accessories worn by the character: Hat, Coat, and Shades. This will likely be altered when Character Customization is put in place.
However, it also is the control for access to physical abilities.
Like Hyper Jump.
ProgramsPrograms are the levels inside the Construct. At the moment, only one program can be loaded at any time. When a new program is loaded, all players currently in the Construct will be loaded into the new program; subsequent logins into the Construct will be spawned in the active program.
Currently, there are three programs in development:
1)
The White Room - This is the initial loading program of the Construct. Not much happens here, but it's an easy place to test spawning of items, animations, abilities, etc.
2)
The Jump Program - This is the testing ground for the Hyper Jump ability. It's a bit confusing and needs some love, but for testing purposes, it does the job.
3)
Mobil Ave - Not quite complete/integrated into the game yet, but it will be a third playground area. If I eventually break the server out into multiple program loads, I may have this be the initial loading zone for non-FA 'guests' to the server (if we decide to allow that as well).
Camera ModesSo, ultimately, the goal is to have this be an Oculus Rift experience. So, I'm working towards that goal in stages. Currently, the primary method of control is via a 3rd Person Perspective. This camera can always be activated using the '[' key.
I've also implemented a rough First Person camera mode which can be activated by using the ']' key. Currently, though, it is disconnected from the player; and so looking around (with the mouse) will not turn the player at his base.
DevelopmentSo, that's about it for functionality.
On the development side of the Construct, there is a lot- A LOT- of stuff that could be done to improve what we have and can ultimately deliver.
If anyone would like to lend a hand in any way, it would definitely be appreciated. More than anything, "Asset Development" is going to be the area in which I need the most help.
Models, Rigging, AnimationI am using 3DS Max 2014 to build all of the models for the game. If anyone out there has experience in 3d modeling and access to software, I can either give .max files or export it to some digestible format. Controls in red handle IK, controls in blue handle FK. ONLY the controls are animated and animations are baked into the mesh at export (FBX) for Unity.
Animations are extracted in Unity and split from Takes using the Mecanim System. I've built a Character Controller that handles calling the animations as well as syncing them over Multiplayer.
Materials and TexturesI've spent the majority of my time on the previous section; to the point of draining what little care I have for this part entirely.
I do enjoy modeling, despite being mediocre at it, but I suck at texturing.
For what it's worth, I've already done the time consuming part of unwrapping all of the models that I've created and slapped together a PSD Template file for creating textures. Feel free to grab it and texture til your heart's content. Send or Post what you create and I'll add them into future build updates.
PSD Template File