Tuesday, August 27, 2013

Update 14: Alpha 1.1

Alpha 1.1, that doesn't crash (nearly as much), is released. There are still lots of camera and timing issues, which I am slowly crushing.

[Link removed to upload the newer and better Alpha 1.3]

Friday, August 23, 2013

Update 13: Alpha 1.0

After an extended summer break, I've picked back up where I left things in June. I now have my first, very basic vertical slice of a basic tactical warfare game. There is still no player movement, but I do have cover and shooting. Everyone has a 75% chance of hitting. The player has slightly more health to give him a better chance of sticking around. 

Most importantly, I have a build that works from beginning to end. The players take turns, and if the game doesn't crash, the last team standing wins! 

There are bugs, especially when characters die, sometimes the game gets stuck and crashes.

[Link removed to upload the newer and better Alpha 1.1]



Wednesday, June 26, 2013

Update 12: UnityVS - Adding Productivity

I've purchased my first tool to assist me in my game creation, UnityVS. This productivity tool will really help me with my debugging, enabling me to set breakpoints. With this, I should be able to move forward quickly


Here is a quick video of the camera I've been working on animating, transitioning between different states. 

Wednesday, June 12, 2013

Update 11: Chipping away at the basic game

It's been a busy few months for me as I had a new baby girl, kicked off two major projects at work and worked on a variety of outside spring projects in the backyard.

I have still been chipping away, converting my characters into Unity Prefabs, working with selecting objects on clicks and finally, getting the first, very basic turns working. It's always two steps forward and then one step back. Fixing a shooting bug introduces a camera bug, which when fixed creates a UI bug.  


Tonight was typical. I rewrote the shooting mechanics, everything looked good, I fired it up, and then.... nothing. One of the downfalls of game development is that a lot of the debugging tools are still behind that of most web applications. I did figure out the issue, but my code is riddled with Debug.Log statements that track my progress.

It is coming along. Here are 4 screen shots that for the first time are beginning to show the basic workflow. Please ignore the obvious clipping and camera issues.


Turn 1 Player: The isometric camera scrolls to center over the player. The player can see two targets (ninjas). Clicking on these centers the isometric camera over the enemies.


Turn 1 Player Shooting: the player then presses/enables the shooting button, which switches to the player cam view. Here the player has 3 options. 1, shoot the current target. 2. using Tab, switch between the other targets. 3. Press escape and go back to the first screenshot.


Turn 2 Enemy. After the player has show, it's the enemy turn. The same rules apply as turn 1, but now it's the enemy. Note that I now appear in the enemy/target list on the bottom right


Turn 2 Enemy Shooting: Ditto, but with the enemy again.



Wednesday, March 27, 2013

Update 10: Updating the Camera

It became clear to me very quickly that my camera in the isometric view looked a little cheap. Looking at how XCOM implements their camera, I noticed that they did actually use a perspective view, but at an isometric height. Today I switched to a perspective view, which I think really improves things.




I also added a 'killcam', which is a camera directly behind my player. When I shoot at enemies, it now switches to the camera so that you can watch the kill shot and then back again. Pretty simple stuff really, but very effective.



Friday, March 15, 2013

Update 9: Destructible Terrain

As I worked through the shooting mechanics and really got ray casting to work properly, I suddenly found that I couldn't shoot my enemies. I was initially perplexed, but then quickly realized that everything was working perfectly: the shot was hitting the cover (wall) in front of the target. 

It was time to implement destructible terrain.  


Part 1: I aim an the enemy on the far right. He happens to be under cover, so my shot hits the wall in front of him.



Part 2: The wall currently only has a HP of 1, and my laser does 1 HP of damage, so the wall is destroyed. With the wall gone, the enemy is exposed and can be hit easily. In the current prototype, characters have 3 HP, so just 3 more hits from the laser and he will be dead!



Friday, March 1, 2013

Update 8: Randomizing the shooting and adding health (and death)


Now that I had a basic level with shooting from point A to point B, I needed to add some randomization. I personally don't like games of attrition, I prefer games of skill, with some luck.

Enter the random number generator. Basically I pass in 2 numbers, a chance to hit percentage, and a random percentage  The two numbers are compared, if it's a hit, no problem, if it's a miss, I created some random variation so that the shot misses and goes off into the distance.

I spent a bit of time trying to create a random shot until I discovered the Random.insideUnitCircle function. Basically I can multiply a variable against it to have it select a random position around my target, which I then just add to my target position.

Finally, to get everything working, I decided to create a test level. I setup a target, with a wall behind it. It works pretty well and is another item I can cross off the list.