Jump to content

UAGC Ultimate Action Game Controller


Alienhead
 Share

Recommended Posts

ENTRY1.thumb.jpg.eeeea08f72a9145f228b1a66a3f93b1b.jpg

 

Ultimate Action Game Controller ( UAGC ) - One game controller for all situations. 
Ranged, melee, hand to hand, thrown and magic combat game controller.

With UAGC, the developer can select from First-person, Third-Person, Top-Down and Point & Click game controller setups.
Each mode features it's own unique style of gameplay made just for that particular gaming situation.  The component is designed
with ease-of-use in mind,  just attach the component to your game player inside the editor and configure the options as you see fit.

Follow the worklogs right up until release!

 

 

  • Like 1
Link to comment
Share on other sites

Alpha 2

This past week saw a lot of mechanics added to the controller,  really making way for what's to come. I can now easily add scenario's ( Modules ) and better control the modes the player is in. For example, say the player has died,  a mode designated for death is triggered; inside this mode restrictions are applied; such as No Player Movement, Death Music.. etc..etc.  I should be able to make unlimited amounts of modes as they are needed, I have also designated 100 slots for user-defined modes as well so making a scenario in a custom game should be no problem at all.

I started a module for Mounts in this update, it is no where near complete yet, but the controller will eventually handle riding mounts, as long as the mount contains a set of specified animations then any mount model could be used. I'll provide a few mounts on release but downloading a mount ( animal ) and retargeting one of the skeletons I will provide - will make it painless to add just about any type of riding mount you can dream up. More on this later as I work out some details.

  • Added master pivot, player meshes now follow the master pivot ( for better control and wider range of possibilities ( flying, underwater swimming etc.. ))
  • Player mesh can now be lowered passed the master pivot to prevent 'floating on surfaces' as seen in nearly all game controllers. ( feet are planted more firmly on the ground ).
  • Animations moved to the controllers new Animator Module ( handles all situations and picks the proper animation for whatever player mode is currently active)
  • Implemented the 'Modes' module, this module will handle ALL game situations tossed at the controller and allows for easy expansion or even adding your own customizable game situations.
  • Added a DebugCamera/Freeflight mode, hitting PageDown or a predefined key will exit the controller mode(s) and place the camera into free flight mode. You may toggle this feature off for distribution builds. You may define which key or key-combo invokes the free/debug mode. 
  • Added Footstep Sound controller , adjusts pitch per velocity of the players movement,  smart switch turns off during non-footstep situations.  Airborne etc.. etc..
  • Added ability to detect fall distance, so falling off a cliff is not the same as jumping and falling, fall distance is divided into soft landing, med landing and hard landing, each with their own animation and configurable sound effect as well as configurable damage to player.  Double and triple jumps will not invoke the damage system unless jumping from a mountain top or building etc.. etc. or unless you turn on [x] All Fall Damage.
  • Added more sound effects for jumping , soft landing and hard landing.
  • Added LUNGE feature ( on/off toggle ).  Controller can lunge forward with a tap of the forward KEY while initiating any jump. Lunges will not process if the player is simply falling off an object, a JUMP must be initiated in order to lunge forward. This feature can be toggled OFF if you so wish.
  • Added Backflip, Frontfilp and Freefalling animation sequences, triggered in certain situations.
  • Double jump must be initiated before 1000 millisecs() passes after the initial jump or else the controller will begin the free falling mode. ( this prevents cheating from jumping at HIGH altitudes then double jumping just before hitting the ground to save from a nasty landing.. )
  • Added 'Air Brakes' feature - If turned ON; during a jump;  if the player isn't pressing the forward or backward directional keys  then the decline in jump height is accelerated.  ( makes for more precise landings ( arcade style ) at the cost of slightly less realism, feature can be turned ON/OFF)
  • Jumps and fall heights are now measured in real-world feet ( ft. ).  Accurate adjustments to limits like damage from falls, water dives and distance to ground can be better calculated now.
  • Started implementing the Vitals Module, this module will handle predefined stats such as health, Stamina and mana points etc..
  • Added - Damage Module; damage adjusters for jump/landing and fall/landing can now be set to your liking. Damage adjusters work off precents%. Example:  Defining a damage modifier JumpLandingHard = 25 would cost the player 25% of their total health when a hard landing from a jump occurs. etc..  More Damage modifiers  for many other events coming soon.
  • Added player UI interface, Health, Stamina and Mana bars, these can be turned ON/OFF.  Player vitals can be accessed anywhere in your code via the class variables: player.curHealth, player.curStamina, player.curMana ( for those who wish to create their own UI ).  This module was added for quick development stage, you may wish to create a custom UI using this template when your game project is finished
  • Added configurable HOTKEY to Show UI / Hide UI.  Default F12 will toggle the UI interface On or OFF.
  • Added toggle for MALE / FEMALE player controller (  sounds the controller plays will base off gender, hurt, death, grunts etc.. )
  • Added toggle for sound play on TakingDamage event, 4 sounds can be defined and one will randomly play on 'taking damage'. ( start out sounds included in asset! )
  • Added RENEGENERATION Module.  This module will allow you to define such things as Health regeneration per game tick, Stamina, Mana etc..  You can turn this feature off if you so choose.  Each game tick ( measured in 3 second intervals ) the controller will regenerate 'x' amount of vitals as defined.
  • Added 'Controlless Falls' toggle, you can now turn ON/OFF controlless falls. If true, when the controller falls 'x' amount of feet ( set by variable controllesFallFT) an out of control fall begins..  If false, then all falls are controllable and not subject to freefall.
  • Controlless Fall distance can now be set in the settings; controllesFallFT = 30ft, when a fall proceeds this amount a 'freefall' event is fired. Also known as a ControllessFall. NOTE: ControllessFalls must be turned on before this value has any effect.
  • Added turn-animations for Idle rotation of mouse, camera and player mesh.
  • Added camera tilt left and tilt right on turning, also added camera head bobbing on running sequences. These can of course be toggled OFF if you so wish.
  • Added Crawl/Crouch mode - default hotkey is 'C' but it's configurable if you wish to change it.

 

  • Like 3
Link to comment
Share on other sites

A quick amendment to alpha 2, I've been working on this feature for a few days now but didn't feel good about including it the last alpha because I wasn't happy with it.  After much trial and error I finally got it to do what I had envisioned at the start: player mesh head tracking! A toggle on/off and your players will track the direction of the controller, left, right up and down.  Also I'm working on PoI tags, you can drop a PoI ( point of interest ) component on any object in your play map and when the player gets close to one of the tags he'll auto track it as well, assuming nothing else is  happening that requires his attention. :)

That will wrap it up for my alpha 2, back next week with a whole slew of new and fresh features!

  • Like 2
Link to comment
Share on other sites

Added Poi head tracking: Point of Interest head-tracking.

Drop a Poi.componet on any object in your map (or multiple objects) and set a distance. The player controller will preform a head track on that POI location. I will add smoothing to this as soon as POINT/Rate is working.

This is a great feature for such things as grabbing the players attention towards powerups, ammo boxes, signs or anything else you would like. You can even attach the component to an animated enemy for immersive head tracking during combat situations.

Pulling angle locations and limits on the headbone was more of a task than I originally thought it would be,. This was a tricky feature to get working and even more tricky to get looking right but it's in and working now!.

 

 

  • Like 4
Link to comment
Share on other sites

I'm back with a new addition to the UAGC,  Ladders!
This is the first bolt-on module created for UAGC so there was additional time needed to layout the system that will be used for many future bolt-on modules.

This module is a part of the UAGC baseline package.

Usage: The asset comes with 3 prefab ladders, they are very basic but dropping a prefab unto the map will allow you to change out the ladder mesh to your liking, just swap the prefab mesh with your desired mesh, or use the bolt-on ladders - it really don't matter.  The prefab's are preconfigured so placing one on the map the Controller will automatically interact with it. Nothing to code or do on your side but to design your play map.

Features :

  • 3 completely ready to use prefab ladders, small - med. - large. 
  • Ability to customize ladder mesh to your liking.
  • Unlimited amount of ladders can be on a single map, including overlaps and  360 directional angles.
  • Ladders aren't bound to a straight up down placement, rotate them anyway you see fit.
  • Ladders are automatic, run the player into the ladder and he will automatically adapt to it ( no pressing USE or anything like most controllers.)
  • Ladder climbing can be aborted but jumping off the ladder anytime you like.
  • Pressing a directional key while jumping off a ladder will result in a jump in that direction from the ladder ( great for platformers ) .
  • Ladders are automatically dismounted when reaching the top or climbing down to the bottom.
  • Ladders can be of any size ( height ).
  • Head tracking works on ladders! If there's nothing to track then the character will adjust his head to looking in an up or downward angle depending on the direction being traveled. 
  • Ladders support nav-mesh. ( later AI modules will be created to traverse enemies up and down ladders easily.
  • Ladders don't have to be entered from the top or bottom only, jumping on any portion of the ladder mesh will force the controller to react.
  • Numerous sync'd animations make up the motion needed to make ladder climbing seem more authentic. 
  • Configurable up and down climb speeds as well as animations speeds.
  • Configurable start climbing delay, for that fine touch. :)
  • Toggleable 'use run key' while on ladders ( for additional climb speeds ) 
  • Always RUN feature now works with ladder fast speed.

Other Bolt-On modules planned - Mounts, riding, swimming, underwater swimming, diving, hang gliding, rock climbing, rope climbing, ledge and cliff hanging and a few more I'm thinking about but not decided on just yet.

 

 

  • Like 4
Link to comment
Share on other sites

Back in the saddle after a little delay with squaring away UltraEngine ( thanks Josh for the help ).

This update features a new Bolt-On component: ROPES !

Ropes are another means of climbing or gaining height on your play maps. The setup process could not be any easier.  
You simply create a Empty game object on your play map and Position it where you want a rope to hang. Then attach the uagc:Rope
component to it and define your height and segments!

The Controller builds the rope meshes on map load and the player controller interacts with any rope module it comes into contact
with. How's that for easy setup? :)


image.thumb.jpeg.0797bb1cb79adb650acbb1e3e936c22e.jpeg

Features and Info on ropes:

  • Ropes can be of any size, length or thickness
  • Physics based rope segments
  • Adjustable Mass setting for stiff to swaying ropes.
  • Player can enter ropes from any location 
  • Player can exit ropes from any location.
  • Player can exit rope and enter new ropes or other objects on the map.
  • Definable rope speed for climbing and descending.
  • New animation sequences added for rope climbing bringing the total to 63 animation seqs.
  • AI enemy modules mapped out for rope climbing, yes those pesky mobs will be able to traverse by rope. 
  • Rope strength and weakness settings, give the player something to worry about: "weak rope!"
  • Rope sounds for climbing and strength of Rope coming soon ( waiting on more Ultra fixes )
  • Event command can be sent to any rope to break it apart in mid or idle use! Think of the possibilities. 

And a short demonstration with Ropes:

This has been by far the most difficult feature added to the controller. I think I'm ready to try some simpler things before taking on another difficult process. 

I'm thinking about starting weapons next, at least get the foundation started for Range weapons ( rifles, machineguns etc.. ) then move on to melee, magic and unarmed.

More later !

 

  • Like 2
Link to comment
Share on other sites

ENTRY1.thumb.jpg.eeeea08f72a9145f228b1a66a3f93b1b.jpg

 

 ( UAGC ) - WorkLog #3

 

  • Added: Camera-Shake  feature.  Call [ player:ShakeCamera(duration, magnitude) ] anywhere within your code to shake the camera.
  • Added: Head-tracking, if turned on the player meshes head will track the direction the controller is turning, in addition the head will also track Y-up and Y-down angles.
  • Added: Bailout-Roll, if turned on - when player is falling or coming down from a high jump he/she will have a split second to hit <spacebar> ( or whatever the jump key is defined to ) to preform a bail-out - saving him/her from certain fall damage. This move must be performed inches from the ground.
  • Added: Point of Interest head-tracking (Poi).  Objects  on the map can be defined as Poi-trackable and the player will look their direction when within range.
  • Poi Object Tracking: Now detects the nearest Poi object to the player instead of the first matched condition in the table/list.
  • Poi Object Tracking: Added "Collision On/Off" toggle.
  • Bolt-On Module: Ladders completed.
  • Player model will no longer rotate when laying flat on the ground (  due to a hard or controlless fall or whatever may had caused him to fall flat ) .
  • Added smooth SLERP rotation to camera when entering a ladder.
  • Introducing 'TAGS' - some of the lesser interactive objects don't require Components attached, but rather simply placing a TAG on the object in the Ultra editor.
  • Added TAG: ( UAGC:Slider ) - this tag will induce the player controller into a slide while the player is within the bounding box of the specified item.
  • Added TAG: (UAGC:Sleep) - this tag defines a bed or place where the player controller can sleep.
  • Added TAG: (UAGC:Sit) - this tag defines a chair or a place where the player controller is allowed to sit.
  • Added TAG: (UAGC:Slide) - this tag defines a zone where the player controller can slide across the surface.
  • Added TAG: (UAGC:Lift) - this tag declares an object as an up/dn elevator. The object name field holds the Lift's ID and Lift Panel TAGS can be tied to the lift ID for operation. Unlimited amount of lifts supported.  Two empty game objects declare the up location and down location* detailed setup instructions inside the PDF *
  • Added 'Safe-Fall' toggle,  when on -  no fall damage or fall animation/effects will occur from any height. ( mainly used for ( rogue class ) arcade or platformer sims ).
  • Added a new Label system, turn this toggle on and labels will be displayed where ever a UAGC component or TAG is located on the play map.
  • Two types of sit and sleep have been added, 1) Auto : player walks into the tagged object and a sleep or sit will occur, 2) Use : Player walks near the tagged object and a label 'Press [F] to use' will pop up, the action will occur when the player hit's the use key or he/she can simply walk away.
  • Added Component: ROPE. Simply place a blank object onto the map, position it to your liking and place a Rope component on it, define the length of the rope you desire and the that's it. The controller will build a physics rope that the player controller can fully interact with.  ( unlimited amount of ropes possible ).
  • Added definable speeds for lifts and elevators
  • Lifts can be set to AUTO-RETURN to the top of bottom base,  or none at all.  ( definable by Millisecs() time in settings. )
  • Added vacuum view to tube surfing!
  • Started some code for Light AI components so enemies will also be able to use the sliders and tube pipes.
  • Started DOCUMENTION PDF file, the controller is starting to become more detailed so I thought best to begin the components API, installation and usage documentation.

Update highlights include: Sit, Stand, Sliders, Surfing and Lifts/Elevators!

 

 

 

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

 

ENTRY1.thumb.jpg.eeeea08f72a9145f228b1a66a3f93b1b.jpg

 

 ( UAGC ) - WorkLog #4

Introduction to the combat system.  The controller will consist of four combat styles, Hand to hand,  melee,  ranged and magic.  When no weapons or combat items are active in either primary or the off-hand, the system will fallback to the hand to hand combat mode.  This mode consists off punches, kicks and martial arts style combat. The mode is heavy configurable and offers enough options to customize for any type of game play, including simulations to arcade hack-n-slash styles. 

The system is based off user input, left mouse button = left hand usage while the right mouse button operates anything in the players right hand.  So for example, if the player has no items equipped in either hand than the system will assume martial arts style combat whenever the left or right mouse button is clicked. 

Combos -
Combos can be preformed by stringing along a certain pattern of left to right attacks within a predetermined amount of time.  You may configure as many or as little ( none ) combo attacks as you like.

I have made it easy to define combo attacks:
In the header of each attack style module you will find a section that looks like this:

--->> Combos
h2h_combos = {}
h2h_combos[1] = "111"
h2h_combos[2] = "1211"
h2h_combos[3] = "2211"

This is the combo table for that combat style ( in this case Hand to hand ).

1 represents the Left Mouse button, while 2 represents the Right Mouse button.
So for example, when the player clicks the LMB for a combo timer starts, if the player completes the combo by clicking the left mouse button 2 more times within the time frame - h2h_combos[1] will occur. 

Each combo move has a unique animation and attack move, as well as a sound. There are 10 distinctive animations for combo's. If you declare more than 10 combo attacks then the system will start the animation count back at 1. So combo 11 would actually be combo 1 animation and so forth.

Particles will be added once the game engine matures further. 

'Damage done' can be defined per combo attack as well.
Damage is calculated ( base damage + combo damage  + player level ) - ( contingent value ) * ( weapons defined critical hit determiner ).

 


 

 

 

  • Like 2
Link to comment
Share on other sites

 

  • Added combat Module Hand to Hand combat  ( PDF contains all options available).
  • Added configurable combo attack to H2H mode.
  • Added Parkour Module: Ledge hanging.
  • Added Parkour Module: Ledge strafing.
  • Fixed and optimized Jump mode(s).
  • Finally found bug keeping player in Falling mode when not really falling.
  • Optimized several key areas of the controller.
  • Started adding sound effects to key areas ( eventually every action will have its own effect ).
  • Added physics punching bag prefab, a place to practice and try your hand to hand combo attacks.
  • Added floating label definitions for each attack move preformed ( can be turned on or off ).
  • Added Artificial Gravity routine, this is used for ledges but will also power the upcoming Jetpack and Wall run modes.

This update is shorter than others (but none the less potent), it took a solid week getting the Ledge hanging to work correctly.

Instead of just making Ledge moving automatic I decided to add a layer of player skill to it,  if you look down with the mouse the player will look down and eventually jump down, as well as climbing passed ledges that run out of space, you'll be required to make the maneuver yourself. It's really so much better than most games where you just hold down a key and the player marches across the ledge.  It has a good solid feel to it, I'm well pleased with the outcome and time spent on it. This puts the 'Action' in Ultimate Action Game Controller :).

Ledge Parkour needs no special map work, simply turn the feature on and it just works.
Compatible with any and all scene geometry.  Map Makers dream! :slight_smile:

 
I got ledge to ledge jumping in the works.. thats gonna make for some fun possibilites on map design.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...