20 July 2013

New advancements

Just a quick Update to let everyone (mostly myself) know where I'm at with the game. I've rearranged the GUI for the menu as well as the in game part. I've built all new menus that take better advantage of all of the great real estate on smart phones and minimized the clutteryness, and have mostly gotten back to where I want to be, but still have several more menus to go. I've built a story line for the game, which is pretty silly but gives me a direction to go in. With that, I've adjusted the game play to match the new plot. You'll get a basic jump option and basic attack option, which you'll have the ability to upgrade with experience points ( as well as hp, stamina, stamina reduction, and damage reduction). The way jumping upgrades work now is you get the option to upgrade the jump height, and stamina reduction for jumping, you'll get the option to unlock a "double jump" feature, which will allow you to perform a second jump once you are already air bound. Also a slow fall feature that if you hold down the jump tap, it will reduce the fall speed. Basic attack upgrades are pretty much exactly the same. Toys is the new feature, Instead of unlocking/upgrading new powers, most of them will be temporary objects the player can pick up during a level, I call them toys, you know, like machine guns and grenades, toys! you'll get the option to open the toy box, and with the coins you collect, purchase a toy before a round and have the option of using it right away instead of searching around for one, or getting the luck of the drop. They'l only have limited uses, or time limits, so use them wisely. You'll get the option to upgrade one aspect for each of the toys, you may be able to upgrade one to have higher damage, but a different toy might have the option to upgrade it's time limit, do you want more damage, or more uses? you can't have both. Gadgets will pretty much work like they used to except I've expanded the concepts and changed around some of the powers to be gadgets instead. You'll only be able to use one gadget at a time, and they are not upgradable. Gadget Ideas are as follows: power magnet, this will attract coins and toys, or other specials, which i'll describe later. Dash suit- use the up, down, or forward swipe motions on the screen to allow for some awesome new mobility, which won't use stamina. rocket boots, this will replace the jump option with a rocket, that doesn't use stamina, and allows you to accelerate up with a left finger tap, and descend down. I'll also probably add a survival suit, which after a short delay in being damaged, will start regenerating health slowly.
Future plans include specials that you can pick up through out the level, like 2x coin or xp boost that may last 30 seconds or so, instant kill attacks, health or stamina regeneration objects,  these will not be upgradable but will have a short usage time. or will be instantaneous.
Ok, that's all for now. Got work to do!

23 June 2013

Going Mobile

Ok, well, this is the point that I've been waiting for... Or rather one of the many, many points in production that I've been waiting for, Android development has happened. The latest version of Unity 4.1 allows for free licensing of Android APK files, which is good news for me, since last I heard it was $400 to get that. So I printed out a copy of the game for unity, changed up some input files and Viola! a working android game. Now I still have more updates than I can count before I'm ready to release, but at least this is a step in the right direction. Now, if you have no experience with android .apk files, what you'll need to do is download it to your phone, somewhere you can access (I had to download X-plore in order to get to access the folder on my wife's phone.) In settings you might have to allow for custom APK files, or non-managed installs, something along those lines, basicly it means you aren't installing from google play store or otherwise, and installing it manually, like you would a .exe file. Install it, play it, simple as that. I'm trying to see how it looks or acts on several devices. My Samsung Galaxy S3 plays it pretty well with little to no lag, my wife's old HTC Evo plays it with a pretty low framerate, but it still plays well enough to enjoy. Basic gameplay is as follows: click on buttons to navigate menu's. the initial (first run) help screens you have to click through don't display anything still. While playing, tap on the leftside of the screen to jump, tap the right side to attack. you start with basic jump, and basic melee attack, and even though it would be insanely impossible to play through enough to unlock the advanced jump/attack skills, they are still availible, and they do work. Although swipe powers, character menu, gadgets and most menu's still don't work. Oh well, lets see how this goes.

https://www.dropbox.com/s/1yuw8lfnz77ald9/AndSSIA.apk

Let me know what you think, It's still so early, so some things are expected, but I'd like to know what bugs you encounter anyways. :)

26 May 2013

Still Kickin'

Here I am! I'm Alive! I fell off the face of the earth for a while, but I'm back and with a slight update. This is for the Android Sidescroller superhero game. I added all of the jump motions and attack motions, and their upgrades. Fixed a lot of bugs that bothered me, and made the game run slightly smoother, organized my code, which you can't see, and optimized functions and classes. I haven't changed the overall function of the maps or made them self-generating, they only generate the first level, and it doesn't unload at the end, which it will when I'm done. Enjoy, let me know what you think. 

07 March 2013

Exercising those Animation muscles

Here's an update for that FPS program I've been working on. Which is really only to work out simple animations and find the best ways to control the camera. Turns out that if I attach the camera to a blank game object (one that is only a transform) I can set a perminant rotation/placement, and a temporary one as well. For instance: I lean the camera.main to the right slightly when aiming down the iron-sights, this is a one time call that does not update every frame, a perminant change. I added some walking head bob to the camera that rotates the camera left and right, this actually rotates the CameraMount that the camera is attached to, and is a temporary change. And I have code running every frame that Lerps the camera Mount rotation to a relitive 0 ( the mouse position). Camera bob is a simple on/off switch bit of code that rotates the camera in a downward direction either on the left side or right side. I added some forward drop of the camera each step as well, to hopefully give this all a more natural walking feel to it. I also added a touch of bobbing motion to the gun when you step, Which has to adjust down when you zoom. Added some gun kickback when you fire, as well as a slightly random camera-kick that when firing at a more rapid pace causes accuracy to go down. and again, No recorded animations, :)

press 'C' to toggle full auto.

02 March 2013

An exercise in FPSs

I started work on a little exercise to improve my animations and slim down my code a bit. After looking at the horrendous code I put into the last FPS, I wanted to build a better engine. It's a simple FPS, WASD controls, Spacebar jumps, shift runs, left-click shoots, right-click uses "iron-sights". I went with a more traditional culling feature to prevent the gun from clipping through close objects, but that was about that. The animations are not recorded, they are hard-coded, which takes up quite a bit less space and processing power. Projectiles are little balls with a tail attached to allow them to be easily seen when fired. Due to the fact that they fly at such high velocity, the engine has to render the bullet in steps, between frame one and two  the bullet may cover several yards, but will only be displayed at points one for frame one, and two for frame two. This caused the bullets to fly through the objects I was shooting them at, unless they were right at the frame area. I used an old code idea that casts a ray from the projectile, towards the direction it is flying, using the distance between frames as length (which is based off of velocity) and any object hit causes the projectile to turn on it's collider (i can't quite remember why I instantiate it without a collider, then later turn it on when it is supposed to hit an object, but i like the effect and it's not spending process power looking for collisions, just the raycast script i wrote), it also will be transported to hit.point, the point of raycast collision, and while maintaining it's velocity, and now having a collider, causes an impact on the target in proportion to the masses of both objects. Because the bullet's mass is so little and the dummy and target is slightly higher, they react naturally.

The other experiment I was working on a little was ragdoll effects, the dummy uses spring hinges on it's legs and feet, and the target "hangs" by a spring hinge, which you'll see in action if you shoot it or run into it.

Here's another divergence from traditional FPSs that I wanted to make note of: I tilt the camera when using Iron sights on the rifle. It feels strange at first, but later starts becoming natural and expected, I have even caught myself tilting my own head involuntarily to simulate the action in real life while playing. Most games pull the gun up the center of the screen to look down the rails, which you would have to, but when holding a rifle, you lean into it a bit, some head tilt is going to happen. Now, another thing that may be different, may not be so is that the projectile Actually comes out of the end of the barrel, that is to say that the bullet is instantiated at the end of the barrel, as apposed to the center of the screen, so when holding the gun at the hip, the bullet will not fire directly at the center of the screen, it will be slightly off to the right.

https://www.dropbox.com/s/40jfzlykcqn4wd7/FPS%202.zip?m

20 February 2013

Non-update update

My progress this week has been lacking. I've worked my way through a few more menus and working on unlocking/upgrading, which is easy but terribly tedious. I started trying to revamp my game physics since I wasn't very happy with the speed of gameplay, plus getting caught up on blocks and whatnot. The idea was to use a constant force applied to the player to "push" them through the level at a constant rate of speed, despite objects. The biggest difference would be that if the player was pushed through a block or a bad guy without him destroying it first, it would cause the player damage, which, as it turns out, was incredible frustrating, and became increasingly more-so when dealing with jumping or mid-air acrobatics. So I opted out of that style and stuck with the old gameplay, but decided to add ramps. They slow the player down ever so slightly, but allow the player to elevate over obstacles without having to jump every half-second. Which leads me to ideas of special blocks that will cause the player to speed up (like a forward boost) or a slow down (like a sticky pit) when they move on/over them. Still a very early idea, and  I'm not quite sure how to make it not look strange, we'll see. On a side not, I took a look at my coding for that side-scroller: Primitives, that I was working on months back, and wow, I was almost frightened by how bad it was. I made some cursory changes just to make gameplay a little smoother, which turned out nice, but there are so many other processes going on simultaneously that chew up system resources and they seem to bog the game down a bit, especially with camera movement. I'll have to come back to that one later on when I'm done with this current project. So after I made the changes I wanted, I decided it would be a good idea to take a look at the FPS I started work on so long ago, my first real project. It was like trying to read hieroglyphics. The coding is sooooooo bad! I have no idea what I was thinking with it all. I guess I never really understood the term "Hack" in reference to coding before now, but it's like every script was pure hack, just to make the game run. I have so many improved methods now compared to then that it almost hurts looking at it. Which brings me to my last point: I told myself back then that I would never re-write the code for that game because I had put so much time and effort into it, but now I know I will. I may keep certain aspects, but almost every script has serious flaws. That's all for now. More to come later.

08 February 2013

Menu Update

     Just returned from a short little underway, (although it felt more like a month than two weeks) and I had a little time to spend on my game, polishing up a few glitches, and most importantly adding menus. The introduction is only a formality, it's not useful at all, clicking next through the three windows then finish on the last one will initialize a character on your computer. (it's a first-run script that will explain how the game works and what you should do, as well as some basic help, but right now I'm more concerned with getting everything functional.) once created, the help dialogue will never re-appear, unless you press "P" at which point you should close out of the game and restart, P deletes all stored data dealing with this game.
     Ok, that being said, Here is what works: A simple list of actions that can be chosen if, from the main menu, you click on "Character", then click on either "Powers" or "Gadgets". for the time being, all powers are availible for use, in the release game, they will have to be unlocked, and then upgrades will be availible for purchase as well, none of those work at this time. so select the powers you want, based off the action button you would press (note that only specific actions can be assigned to specific keypresses/swipes. left tap is the "Jump" menu, while right tap is the "Attack" menu.) For the sake of porting to computer as apposed to android, use the wasd keys for swipe-direction, spacebar for left tap, and mouse left click for right tap. Makes sense right? Space-bar jumps, left click attacks...
     So once you've selected what powers you want, you'll notice the only other working button on the main "Character" page is the "Gadget" button, with one gadget availible. Moving on, lets start actually playing this game, go to "Level Select" from the main menu, click 1, because thats the only one that actually works, and it will load up with a pause menu up, click either "Play!" or hit the esc key, use the keys and play through the level, destroy thin blocks and bad guys to get collect coins, the game is only 100m long for now, but you can hit the esc key again to pause the game(this will be equivalent to hitting the back button on android phones) select restart, end level, or character, here you can modify the characters powers, in game, but whetever you select here will not be saved, and will revert to your original selection once you've ended the level and return to the main menu. The in-game character button will only be for a visual reference and stats, and right now is only for debugging.
     Right now the coins are saved to your computer when you end a level, thats the only time they are, I'll add a script that stores them any time the game window is closed, sometime later maybe. Got a lot more to work on, so let me know how I'm doing, Feedback drives me forward!

https://www.dropbox.com/s/wqv3ljp24rkvu5b/AndSS%200.04.zip