Wednesday, 23 October 2013

Week 1: Workflow and the Player

Whenever I start a project, I don’t just jump in randomly and do random stuff. I follow a certain workflow that just works right for me. Establishing a certain flow on how you work is mostly different on each individual but for me I follow three steps whenever I work on something:

Make it work
First thing I do is to make sure that the code I’m working on is working properly the way I want it too. Whatever I have to do, whether it is hard coded or not as long as it works the way I want too then I’m all good to go. It may appear messy at first but I fear not as long as I understand what’s going on.

Improvements and optimizations
Now that I know my code works the next thing I do is make improvements and optimizations. Make it human readable, keep it clean, comment out codes, use design patterns and make it as reusable as possible. I need to always keep the reusability of my codes in mind so that I will have a code base I could refer into for future works.

Constant testing and tweaking
Testing tweaking constantly will always be a part of my workflow. Trial and error is always present when I work on a project. Trying things out to see different results and learning from it is what I do and constant testing makes me feel at ease that everything is working properly.

These three steps is what I follow whenever I work on something but anyways enough with my ranting and let’s get on with the development updates. This is what I have at the moment:

It shows a character placeholder that I modelled and animated myself in Maya. It’s not that great yet and I’m on the process of learning more of Autodesk Maya but it’s a great placeholder. I named the character “Mini”. At the moment the player can control his movements and actions, he can move 8 ways and has two animations for idle and 1 animation for running and 1 for attacking.

Player movement
I’m a simple guy and I like to keep things simple and Unity is simply amazing. For my player movement I used a character controller to move the character around. A PlayerMovementHandler script handles all the movements of the player which moves the player on the Horizontal and Vertical input axis and faces forward on that movement. The player in itself only has the player scripts and the character controller as its component and I made the model which handles the animations and the camera as a child of the player.

The implemented camera at the moment is a simple one. It is locked in its position and it looks at the player when at runtime and follows its every movement. For now a LookAt camera fits my needs and I will of course update it on the coming days to give it more interactivity as a third person camera and any suggestions on how to implement a great third person camera is welcome.

Say Hello to Mini
I am a beginner when it comes to Modelling and Animating a character and not that confident yet on my skills on this side of things as my main focus is as a programmer but here’s Mini, a placeholder character I created for the purposes of my gameplay demo.

You really got to be amazed by how Unity3D made it easy for your animated models to be used directly from Maya. It needs to be noted that I am not using a .fbx model here, I’m directly using the .ma from Maya. It makes it easier for me if there are any changes to the character in Maya because by just saving any changes in Maya it is directly changed as well in Unity especially on the animation side of things.

That’s about it for now; I’m proceeding on the next phase of my development which is the weapons and the combo mechanic.

Who I am and What I intend to do . . .

Hello I’m Necther Louie Souribio, a game programmer and this year I successfully finished my studies. I have a few months before I can get my results so I decided to use my time wisely and boost up my portfolio. My goal is to be a gameplay programmer and in order to achieve that I will challenge myself and develop a number of gameplay mechanics in a short time frame. I want to have at least 2 demos of a game that will showcase my technical and creative ability as a game developer and without further ado I’ll start it off by introducing the first game idea that I will develop.

The idea is to develop a hack n slash style action adventure game that only has swords as weapons. The idea is for the character to trigger their skills by chaining combos. This will be a combination of the combo mechanic found in fighting games and skills found on action RPG games.

The combat will be a real time hack n slash. The player character will be tied down to the ground which means that there will be no jumping required. The attacks will all be melee with the usage of swords and each type of sword will have a different set of skills. A number of slots will be provided for a choice of swords for the player and switching between them can be done manually by the player. A stamina value will be used and will be depleted for every attack action the player does.

A gamepad controller will be used as an input because it will be much easier to create the combo mechanic with a controller rather than a keyboard. Keyboard controls will be present but a gamepad controller will be the main input.

Game Engine

I will use Unity3D free version to develop the game demo which means quality will be low but to showcase my ability as a programmer, quality of the graphics really isn’t a big problem. Unity3D offers rapid prototyping of a game which is why I chose this engine.

The Objective
I’m aiming to have a working demo of a level that will present the combat gameplay that I have in mind. My main focus here is to develop the combat gameplay and the others will follow second. I will be updating here as much as I could and I will give myself a rule to update every week of the progress that I’ve made on the game.