Alright, so i've been in one of those slumps where you want to start over, try using some off the shelf asset store "fps" kits to race to the finish line. Anyhow, tried a few of them and quickly came to the realization that, to be honest, my TPC framework is a LOT further along than I gave myself credit for ... in fact, more polished than some of the libraries (much less than others). In the end, after whipping together a quick FPS demo, it became obvious to me that many of the "core" issues i'm running into with my own framework are not really resolved in any meaningful way by others.
One of the primary issues i'm facing is using a rigidbody character controller, instead of the CharacterController. But as it turns out, using the built in CC has a host of issues in an of itself, which really brought me full circle. Simply put, i'd rather deal with "sliding" on slope issues and having to fine tune grounding checks than some of the scene interaction issues that come with CC and how it reports collision events, etc.. (i.e. you attach everything to the CC or use a kinematic rigidbody as well which again, has its own issues yet).
So, time to take a step back from the TPC and make some more progress.
Couple game design aspects became apparent:
1. Weapons will allow for customization. In fact, i'm going to narrow down the weapon types as planned initially (pistol, melee 1hd/2hd, shotgun, rifle and smg). But one idea that appeals to me is that you can "level up" a weapon. This will be implemented with kill xp on the weapon, which opens up upgrade slots. Now one thought is to make this a crafting element ... but tbh, i'm not entirely sold on heavy crafting in the game right now - maybe down the road for a second iteration on the game. So i'm thinking a skill tree of sorts. Here's what is cool, this skill tree, will be more like a "wheel" ala TSW MMORPG. So you can do cool things like, upgrade your pistol to a "shotgun" style ammo for a spread effect. Maybe upgrade the trigger/firing mechanism to allow for full auto. I'm thinking there will be a few main categories for upgrades: firing mechanism, barrel, sights, ammo type, secondary attack and effect. The last will allow for DoT's, debuffs, etc... so Incindiary effect would perhaps apply a DoT on the enemy.
2. Player skill tree will interact with weapons. So if you want, perhaps you'll setup a pistol with incindiary rounds, then skill up your DoTs so that now you're approach is to "tag" creatures and let em' burn! Maybe you have a shotgun that debuffs their movement, allowing you to jump in and splash then back out of harms way, but with some survival skills to buff your movement and to enhance the slow effect, now the effect paralyzes small groups of enemies.
So, I'm going to focus now on building out a basic game to handle head, body and limb shots and some basic (playable) AI. Ideally, I'd like to get it so you can give a beastie a limp or use a head shot to stun it. Atm, head shots do 1.5x dmg, body shots 1x and limb shots 0.75x dmg.
Here's a picture of TheMan and TheBeastie together:
I'm not sure at this point if i want to go TOO crazy on limb shots. I mean, one thing I could do is allow for blowing off limbs and they keep crawling towards you. Maybe. My first approach is a bit more simple : for stun shot pause their movement and play an "ow mah head!" animation or for limp adjust navmesh agent speed to 0.5x and use a different walk animation. We'll see how that turns out.
Anyhow, most recent demo is up, excuse my budget blood effect :):
http://logicwell.com/nightfall/tpc.html
Saturday, 4 May 2013
Tuesday, 16 April 2013
Building North Section of Map
So, the north entrance to my city for Nightfall (anyone with suggestions on names?), which was repurposed by the military as a "base" in the last days is coming along, here is a peak:
Wednesday, 10 April 2013
Making Maps and Unity Logger Done
Awesome, so my first self published asset is on the asset store : Unity Logger, check it out right here: https://www.assetstore.unity3d.com/#/content/7928
For the game itself, the big news is i've decided to handle the map design myself, instead of outsourcing - should be fun :).
So far the military section looks like:
Need to flesh out the two empty spots and then I'll move on to the truck stop area and shopping area south of the wall.
For the game itself, the big news is i've decided to handle the map design myself, instead of outsourcing - should be fun :).
So far the military section looks like:
Need to flesh out the two empty spots and then I'll move on to the truck stop area and shopping area south of the wall.
Thursday, 28 March 2013
Transitional Forms
Perfect - managed to finally get a handle on all that "pop" going from one control handler/animation set to the next.
There's still some cleanup for sure, but I had a real issue when you performed a hop up onto platform, window climb through, etc... and those are all fluid now, even switching between unarmed and armed looks great.
It all came down to how i was using LookAt and the weights being applied. Before it was either 0f or 1f - off or on, and that created situations where after a hopup you'd see the character "snap" into another pose.
Now I'm using transitional blending/weighting, so when I go from the DefaultHandler -> HopUpHandler for instance, i'm lerping back to 0 or 1 as needed. This creates a much smoother experience and i'm finally feeling like theres some light at the end of the animation tunnel.
So, its not perfect however, there is still a bit of slop with vaulting I'll have to look into and climbing ladders is busted atm, those are my priorities atm.
After that, back to weapon bloom/clipping issues and overall combat "feel".
The crouching animations need help, badly - so that's going to be the focus for my animator here is to redo these animations so they look right and movement is more fluid/looks better.
I'll need to stop being picky soon though, it's almost time to start considering how i'll be handling wearing armour in the game. Or perhaps some combat enhancements like zooming and moving right mouse button to zoom toggle instead of melee alt attack. Perhaps I'll use 'F' for melee attack (as a default of course).
I'd like to package up the TPC so I'm able to import it into my project.
One thing that's really an impediment right now is my environment. Without a 3d modeller on hand here it's getting very difficult to do more advanced testing in a potential "game environment" as opposed to my happy little playground.
There are a few other bugs to work out though, my grounding code works but the detection of being grounded while walking off a ledge is annoying - you can get multiple fall/land events if you hit the edge just right. I believe this issue comes from not giving a time buffer or some means of delaying falling a bit more so that the edge detection is not such an issue... perhaps an "hop forward" animation might seal the deal, but then what if the user is just trying to edge up to look over the roof edge and it fires :).
Another bug, which imo is more unity physics related, is the problem of capsule colliders vs an overhanging collider. So if you have something about eye height, and you run into it, the capsule collider gets pushed "downwards" into the ground. Do this aggressively enough, and you'll find yourself stuck or falling through the ground.
Ugh.
That will be interesting to deal with, it has to do with rigidbody interactions i'm sure, but for now i'm focused on gameplay elements so it'll have to wait.
There's still some cleanup for sure, but I had a real issue when you performed a hop up onto platform, window climb through, etc... and those are all fluid now, even switching between unarmed and armed looks great.
It all came down to how i was using LookAt and the weights being applied. Before it was either 0f or 1f - off or on, and that created situations where after a hopup you'd see the character "snap" into another pose.
Now I'm using transitional blending/weighting, so when I go from the DefaultHandler -> HopUpHandler for instance, i'm lerping back to 0 or 1 as needed. This creates a much smoother experience and i'm finally feeling like theres some light at the end of the animation tunnel.
So, its not perfect however, there is still a bit of slop with vaulting I'll have to look into and climbing ladders is busted atm, those are my priorities atm.
After that, back to weapon bloom/clipping issues and overall combat "feel".
The crouching animations need help, badly - so that's going to be the focus for my animator here is to redo these animations so they look right and movement is more fluid/looks better.
I'll need to stop being picky soon though, it's almost time to start considering how i'll be handling wearing armour in the game. Or perhaps some combat enhancements like zooming and moving right mouse button to zoom toggle instead of melee alt attack. Perhaps I'll use 'F' for melee attack (as a default of course).
I'd like to package up the TPC so I'm able to import it into my project.
One thing that's really an impediment right now is my environment. Without a 3d modeller on hand here it's getting very difficult to do more advanced testing in a potential "game environment" as opposed to my happy little playground.
There are a few other bugs to work out though, my grounding code works but the detection of being grounded while walking off a ledge is annoying - you can get multiple fall/land events if you hit the edge just right. I believe this issue comes from not giving a time buffer or some means of delaying falling a bit more so that the edge detection is not such an issue... perhaps an "hop forward" animation might seal the deal, but then what if the user is just trying to edge up to look over the roof edge and it fires :).
Another bug, which imo is more unity physics related, is the problem of capsule colliders vs an overhanging collider. So if you have something about eye height, and you run into it, the capsule collider gets pushed "downwards" into the ground. Do this aggressively enough, and you'll find yourself stuck or falling through the ground.
Ugh.
That will be interesting to deal with, it has to do with rigidbody interactions i'm sure, but for now i'm focused on gameplay elements so it'll have to wait.
Monday, 25 March 2013
New Beginnings!
Alright, so Unity3D 4.1.1 changes incorporated into my project - check! Lots of smoothing to do, from what I can tell it's going to take some tweaking of specific transitional cases in the animation state machine, right now i'm not too worried about the aesthetics so much as getting everything working together well enough to "play".
I think the TPC is there now, definitely a lot of tweaking to do STILL, but at this point it's close enough for me to move forward with the game proper I believe. I'll probably bounce back to smoothing and fixing animation stuff for some time yet, but wtf - looking solid and the framework for the TPC is really good, should go the distance with some refactoring as things progress.
So for the next phase, I'm going to focus back on weapons again - a few things i'd like to fix:
1. Shooting originates with the camera, which is ok for me, but it needs to start the raycasts forward more so that if you have the camera behind a wall and shoot it shoots "from the player" instead of from the camera.
Now, I've been down this path before, and you'd think the "easy" approach here is just to raycast from the weapons muzzle ... maybe i'll try that again, but the issue with it is that it really throws the player off in terms of expected hit locations, especially shooting around obstacles. The other issue is preventing the player from shooting through walls by clipping their gun through them. The latter is not a huge issue, i'll originate the ray from the players center of collider.
Will have to playtest and figure out what works best, atm i am partial to the idea of raycasting from camera center but moving the ray forward to be inline with player as starting pt .... not sure yet.
2.Bloom - right now it uses that animation curve i spoke of earlier. So the problem I have is say the first 50% of the curve is flat, no bloom, then it starts to bloom right? When the player stops shooting it starts to recover, but once it hits the tail end of that 50% it "looks" normal again, when they shoot it goes back up and blooms all over without resetting. I'd like to incorporate some kind of "stabilization time" where it will just jump back to 0% so the player does not need to wait a while at a seemingly "stable" point to shoot reliably wrt bloom.
I think the TPC is there now, definitely a lot of tweaking to do STILL, but at this point it's close enough for me to move forward with the game proper I believe. I'll probably bounce back to smoothing and fixing animation stuff for some time yet, but wtf - looking solid and the framework for the TPC is really good, should go the distance with some refactoring as things progress.
So for the next phase, I'm going to focus back on weapons again - a few things i'd like to fix:
1. Shooting originates with the camera, which is ok for me, but it needs to start the raycasts forward more so that if you have the camera behind a wall and shoot it shoots "from the player" instead of from the camera.
Now, I've been down this path before, and you'd think the "easy" approach here is just to raycast from the weapons muzzle ... maybe i'll try that again, but the issue with it is that it really throws the player off in terms of expected hit locations, especially shooting around obstacles. The other issue is preventing the player from shooting through walls by clipping their gun through them. The latter is not a huge issue, i'll originate the ray from the players center of collider.
Will have to playtest and figure out what works best, atm i am partial to the idea of raycasting from camera center but moving the ray forward to be inline with player as starting pt .... not sure yet.
2.Bloom - right now it uses that animation curve i spoke of earlier. So the problem I have is say the first 50% of the curve is flat, no bloom, then it starts to bloom right? When the player stops shooting it starts to recover, but once it hits the tail end of that 50% it "looks" normal again, when they shoot it goes back up and blooms all over without resetting. I'd like to incorporate some kind of "stabilization time" where it will just jump back to 0% so the player does not need to wait a while at a seemingly "stable" point to shoot reliably wrt bloom.
Friday, 22 March 2013
Back On Track
Alright, so my logger is functionally complete with documentation - just awaiting final graphics to submit it to the asset store and see how that flies!
Back to the game, after work here - tonight will involve looking into some pickup/drop animations to make grabbing items in game a bit more fluid. I still have some issues regarding strafing left/right then letting go of movement while disarming a weapon (you walk forward a bit). It makes sense in the animation tree, by problem is in figuring out a means of resolving the problem, may need some flag or to ensure the hSpeed/vSpeed lerp much faster so we transition into an Idle state sooner.
Planning on posting an updated webplayer sometime this week and back on to ironing out animation blips and blops!
Back to the game, after work here - tonight will involve looking into some pickup/drop animations to make grabbing items in game a bit more fluid. I still have some issues regarding strafing left/right then letting go of movement while disarming a weapon (you walk forward a bit). It makes sense in the animation tree, by problem is in figuring out a means of resolving the problem, may need some flag or to ensure the hSpeed/vSpeed lerp much faster so we transition into an Idle state sooner.
Planning on posting an updated webplayer sometime this week and back on to ironing out animation blips and blops!
Thursday, 14 March 2013
Directional Synchrocity
So, I downloaded Unity 4.1 today and WOW what a difference. Noticed a few things, first was that they improved the console somewhat so you can filter out warnings and errors, which makes it the perfect companion for a new asset i'm preparing:
Enhanced Unity Logging:
Looking good! I just need to handle log size overflow, export to CSV, some minor appearance tweaks and a bug with the end of list vs scrolling. After that i'm going to build for and release as a 3.5+ asset (or try anyhow) .... thinking of offering this as a $15-20 asset, if you have suggestions on that let me know.
Now as for the game, Unity 4.1 brings one HUGE thing to the table, 2D parameters for bloody blend tress! Excellent!! This is huge, essentially it takes out all the animation slop and delays I was having AND makes blend trees so much less onerous, especially for lower body blends and directional movement.
Take a look, this is BEFORE:
And this is AFTER:
And YES, they are functionally equivalent!!! Well ok, I forgot to add the PS_Run state back for sprinting, so tack on one simple node for that - but that is all, 5 nodes + 8 transitions vs 14 nodes and ... a boatload of transitions!
Ok, back to finishing up my logger and then back to playtime with the third person controller and reworking some animation bits to get it smoother and cleaner, woot! Oh and before I forget, combat camera curve view is done, will showcase that as well in a new web player, would appreciate some feedback on that one!
Enhanced Unity Logging:
Looking good! I just need to handle log size overflow, export to CSV, some minor appearance tweaks and a bug with the end of list vs scrolling. After that i'm going to build for and release as a 3.5+ asset (or try anyhow) .... thinking of offering this as a $15-20 asset, if you have suggestions on that let me know.
Now as for the game, Unity 4.1 brings one HUGE thing to the table, 2D parameters for bloody blend tress! Excellent!! This is huge, essentially it takes out all the animation slop and delays I was having AND makes blend trees so much less onerous, especially for lower body blends and directional movement.
Take a look, this is BEFORE:
And this is AFTER:
And YES, they are functionally equivalent!!! Well ok, I forgot to add the PS_Run state back for sprinting, so tack on one simple node for that - but that is all, 5 nodes + 8 transitions vs 14 nodes and ... a boatload of transitions!
Ok, back to finishing up my logger and then back to playtime with the third person controller and reworking some animation bits to get it smoother and cleaner, woot! Oh and before I forget, combat camera curve view is done, will showcase that as well in a new web player, would appreciate some feedback on that one!
Subscribe to:
Posts (Atom)






