Jump to content

Alienhead

Developers
  • Posts

    602
  • Joined

Everything posted by Alienhead

  1. After todays patches I have some weird behavior when hitting F5 from the editor to launch the map. I have to click on the window, move my mouse outside the window, then usually move it back into the window and click again before Ultra even starts to load the map up. If I don't do this action then when I hit F5 the window pops up and just sits there.. Further more, if I hit F5 from Visual studio, it'll load the window with no delay and without having to do the mouse tricks.
  2. I'm not sure if this is intended behavior but I really doubt it is. The third LOD distance always resets to 64. I'm trying to setup LOD's well beyond that point but it always reverts back to a max of 64.
  3. Alienhead

    SSAO

    Alpha 0 ( zero ) entities are picking up SSAO tinting.
  4. * When running from the editor ( F5 ), I have to shake my mouse over the screen ( window ) several times before the app will start up. * When painting with the terrain tool, the tool picks up every object on the map preventing painting in that area.. Should ignore geometry pickmodes?
  5. Alienhead

    Foliage

    I love this one, it's really immersive.
  6. I clicked Hide on a post I made earlier, purely on accident, but now I don't see anyway to unhide it lol. It was to long a post to simply retype. Any advice ? ty
  7. ( 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 ).
  8. https://www.ultraengine.com/community/topic/64026-tags-and-prefabs/ This must be a new bug, as it is wreaking havoc on my initialization routines.
  9. I had a guy in the Ultra discord server ask me how to do parkour after I showed a video.. While it's really not a technique to explain over discord, I told him I would post a video and a short description on how I went about doing it. I'm certain there are other methods but I really wanted preformat over drop-dead accuracy. In the video, I attached 2 cubes to the parkour solvers as to better show what's happening behind closed doors. The light blue, or cyan cube is the 'collector' and the purple or magenta, cube is the 'feeler'. What happens here is the feeler tests the area around the player at different update frequencies, it then reports back data to the collector. The collector then decides which data is relevant based off the players location and angle. Once the 'useable' data is determined, it is sent to the player controller where, based off user configurable settings, it is interpolated into an action (hurdling over a box for example). You'll have to pay close attention to see the feeler and the collector in action, the cubes hardly show everything they are doing but at least you'll get an idea. Most geometry sensor systems use up to 14 feelers, while that makes for a very realistic simulation I find it not so practical for game use. I originally was going to use just 'a one pass sample' of the geometry around the player for speed purposes but I found I couldn't do everything I wanted to do with that system. So after reading up on the process I went with a 2 sensor system at little to NO cost on performance. Now that the system is in place I can do a lot more with it rather than just simple vaulting ( as this video demonstrates ), so over the next few months you'll probably see a lot more stuff in my videos based off this system and you won't even know it! Wall runs is on the horizon ! One thing to keep in mind, the map is not staged in any way, this is straight csg brushes made with Ultra editor and dropped into the scene. The system is completely dynamic so there's no extra map configuring required (which is a major plus in my book). I cannot wait until I have time to build a real map with texturing and imported mesh, that's when this system will truly shine I believe, and yes. the system will work with imported geometry. Thanks to Ultra Engine for making this possible! ( and Josh with his emergency bug fixes and API additions. ).
  10. This bug still occurs, I can now import a model straight onto the map, give it a tag - save the map, run the map file and the code does not recongize the model as having a tag, If I load the map file back up into the editor the flag is completely gone.
  11. I had a guy in the Ultra discord server ask me how to do parkour after I showed a video.. While it's really not a technique to explain over discord, I told him I would post a video and a short description on how I went about doing it. I'm certain there are other methods but I really wanted preformat over drop-dead accuracy. In the video, I attached 2 cubes to the parkour solvers as to better show what's happening behind closed doors. The light blue, or cyan cube is the 'collector' and the purple or magenta, cube is the 'feeler'. What happens here is the feeler tests the area around the player at different update frequencies, it then reports back data to the collector. The collector then decides which data is relevant based off the players location and angle. Once the 'useable' data is determined, it is sent to the player controller where, based off user configurable settings, it is interpolated into an action (hurdling over a box for example). You'll have to pay close attention to see the feeler and the collector in action, the cubes hardly show everything they are doing but at least you'll get an idea. Most geometry sensor systems use up to 14 feelers, while that makes for a very realistic simulation I find it not so practical for game use. I originally was going to use just 'a one pass sample' of the geometry around the player for speed purposes but I found I couldn't do everything I wanted to do with that system. So after reading up on the process I went with a 2 sensor system at little to NO cost on performance. Now that the system is in place I can do a lot more with it rather than just simple vaulting ( as this video demonstrates ), so over the next few months you'll probably see a lot more stuff in my videos based off this system and you won't even know it! Wall runs is on the horizon ! One thing to keep in mind, the map is not staged in any way, this is straight csg brushes made with Ultra editor and dropped into the scene. The system is completely dynamic so there's no extra map configuring required (which is a major plus in my book). I cannot wait until I have time to build a real map with texturing and imported mesh, that's when this system will truly shine I believe, and yes. the system will work with imported geometry. Thanks to Ultra Engine for making this possible! ( and Josh with his emergency bug fixes and API additions. ).
  12. That will work ! Time to get some parsing done.
  13. As well as, Seed(Millisecs())
  14. Alienhead

    Random()

    ( LUA ) I keep running across these but your knocking them out faster than we can find them ! lol Invalid. local anum = Random(10,20)
  15. Although Pivot inherits the Entity class, entity:GetDistance(pivot) produces garbage.
  16. ( 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!
  17. ( LUA ) I haven't got most of the string commands to work yet. Even pulled some of the demos straight out of the docs. local string = "Hello, how are you today?" print(string:GetSize()) Trim seems to work, and lower/upper.. but for the others no luck Always the commands I'm in dire need of too.. lol Lucky the base lua string commands seem to be ok. string.len(a) for example.
  18. To take this one step further, loading a prefab unto the map, giving it a TAG then saving the map then exit the editor - reload the editor- reload the map and the TAG is gone.
  19. Prefabs do not seem to save TAGS, or at least they are not assigned when dragging and dropping a prefab onto the map.
  20. Alienhead

    POINT

    Yah I had crossed it out earlier this morning, I forgot I had formated yesterday and restored and earlier copy by accident..
  21. Alienhead

    POINT

    ( LUA ) self.entity:Point(self.piv, 2, 1, 0) Did this FIX ever make it into a live release? I'm still getting an error when attempting to use this command.
  22. Alienhead

    Locals

    This works: splabel = {} function AddSpriteLabelToTable(sprite) table.insert ( splabel, { sprite = sprite, }) end function UpdateSpriteLabels() for t, s in pairs ( splabel ) do consolepad:addtext(s.sprite,name) end end This does not: function AddSpriteLabelToTable(sprite) if splabel == nil then splabel = {} end table.insert ( splabel, { sprite = sprite, }) end function UpdateSpriteLabels() for t, s in pairs ( splabel ) do ---- CRASH NO SUCH TABLE consolepad:addtext(s.sprite,name) end end
  23. Alienhead

    Locals

    yes I will attempt to find where it breaks.. But I can tell you now the function does not recognize the table at all. This holds true when creating a table in a component script as well.. self.atable = {} table.insert( self.atable, { somevalue = 10 } then in a different function of the same script file the table is not recognized
×
×
  • Create New...