He can't help it- he's drunk
- Curse Premium
Member for 10 years, 2 months, and 4 days
Last active Sun, Aug, 25 2019 11:52:04
- 2 Followers
- 450 Total Posts
- 6 Thanks
Jan 10, 2016Posted in: Project Workplace
Ever just want to beat up a bunch of dwarves? Then this game is for you! Collect and combine runic powerups and use the kingdom's traps to assault your enemies in this arena brawler!
DWARVEN COMBAT is my entry into the 2015 Arcade Contest. Post contest plans for DWARVEN COMBAT include optimization and balance changes, more traps, more runes, and randomized kingdom events as matches progress!
Jan 7, 2016Posted in: Project Workplace
2D Game Lib v0.8
The 2D game lib is a basic framework for creating 2D platformer type games in StarCraft 2 which makes gratuitous use translate kinetics (a new data type added in 3.0). With some modifications, the game lib could be used to for any games with a WASD / 8 directional movement controls or even just games with basic 2D physics (tetris, angry birds, flappy bird, canabalt, etc).
The X and Y velocity of each unit is stored as a custom value. Every game tick, the velocity for each unit is applied via a combination of translate kinetics. Since a maximum of 4100 kinetics can be applied at once, kinetic data is broken into digits (X 1.0, 2.0, 3.0, etc / 0.1, 0.2, 0.3, etc / 0.01 , 0.02, 0.03) and direction (+X for right, -X for left, +Y for up, -Y for down). Because these kinetics have a duration of 0.0625, there is no stacking of applied kinetics across game ticks, allowing units to be moved accurately. Kinetic application occurs in the "Translate Unit Horizontally" and "Translate Unit Vertically" function (inside the Translate Unit function that's run for each active unit in the "Each Game Tick" trigger).
The attached library's "Each Game Tick trigger" runs a host other functions to simulate 2D platformer physics, such as applying friction or air resistance based on unit state, basic collision, speculative contact, and applying gravity.
You can modify game data such as hero move speed, jump height, restitution (bounciness) or game data data such as gravity strength, friction, and air resistance in the Global Record Variables.
Known Issues / Caveats
- Maximum horizontal and vertical unit velocity is 9.99 map units per game tick (0.0625 seconds). This could be increased by adding more kinetic data, but does anything really need to move that fast?
- Top right / left corners of units may unrealistically clip through bottom corners of static collision units due to the position of the top side collision test. This will be fixed in the next version by using multiple top side collision tests.
- Storing unit data (move speed, jump height, etc) in records is less than ideal. A better solution will be implemented.
- Fast moving units may clip through 0.5 x 0.5 sized static collision units. I generally advise against using them (but had to create the pipe in Super Sonya Bros 1-1)
- Support for slopes! This will allow for Sonic-like levels
- Further Optimization. Please let me know if any code screams "optimize me". Current candidate areas include kinetic application and speculative contact functions (speculative contact is the most resource intensive operation by far).
- Requested Features. Leave a request in this thread and I'll give it a shot.
- To ArcaneDurandel/ArcanePariah for an introductory exploration of kinetic data, and for designing a kinetic wizard so I didn't have to write all 108 kinetic / apply / remove / remove all effects by hand.
- Various 2D platformer game dev tutorials and stack exchange threads. Particularly this one.
Jan 3, 2016Posted in: Data
A recent patch added the Quick Cast (not the same as Smart Cast) feature from Heroes of the Storm, which causes a targeted ability to be launched at the position of the cursor on hotkey press, rather than entering targeting mode.
Quick Cast is enabled under Game UI Data and can be set to Key Press DOWN or Key Press UP (for UP, targeting mode is enabled while the key is held down).
More info in this thread.
Dec 27, 2015Posted in: Data
Others have encountered this issue since 3.0 was released. I believe it's caused by changes to how .m3 models are interpreted in 3.0 (meanwhile the .m3 exported by WMV is using the previous .m3 format). This can be fixed (relatively easily) with 3ds max, TM's import script, and the SC2 Art Tools.
Dec 26, 2015Posted in: Data
Adding on to this, you could give the unit a secondary disabled weapon and have the instant ability disable the primary and enable the secondary, and reset the cooldown the of the secondary. Make sure to swap the weapons at the end of the secondary attack effect.
Dec 25, 2015Posted in: General Chat
1. If you click on the FILES tab (directly above the search bar) you can see all models, regardless of data entries.
2. What issues are you having with the search function? If it doesn't find what you've typed it, the results are not filtered. While there's no wildcard support, I've never had trouble finding anything in the cutscene editor.
Dec 25, 2015Posted in: General Chat
Unit Type is an unused field, and was most likely replaced by the Object Type field (Unit, Item, Projectile, Structure, etc).
Defines Default Values
Defines Default Values is an option when creating any type of data object (Unit, Ability, Effect, etc) and is used to create templates for a given data object type. Checking Defines Default Values adds the object to the list of default parents for that object type and allows you to use tokens in the entry's XML (which is a bit advanced and outside the scope of this explanation). Note that these template objects should not be directly used in the game.
Show Non-Default allows you to see all other objects of the same type in the Parent dropdown, effectively letting you set the parent to any object of the same type (as opposed to just those that define default values). Example: you could set a new unit's parent to Zealot and inherit base values from the zealot, rather than the default generic unit settings.
- To post a comment, please login or register a new account.