Author Topic: The Brawler Mod  (Read 18539 times)

Offline ptarth

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,166
  • I'm probably joking.
The Brawler Mod
« on: February 11, 2016, 05:44:24 pm »
The Brawler Mod

Misery, captain of things regarding to balance, is convinced that more bullet-hell is the path to success. I believe that it is because he is good at this game. I, on the other hand, am not good at this game. So, in order for me to get up out of bed every morning and not always be crying, I've started this mod to make the game more brawleresque.

Releases
Version 1 is attached to this post. Woohoo!
Just unzip it into your Starward Rogue directory.
Uninstallation instructions are in the zip.
If it scrambles your install, I have no idea how you accomplished that. Delete and reinstall would be the least technically challenging solution.

The Plan
I'm going to update this post with the changes as I plan them and implement them. Also, to encourage viewer participation I will narrate my adventurers in XML. At some point I might stream it.

(Can you imagine, Scene 123 hour 304, You see a motionless screen of text with a voice over pleading, "Why is this not loading, WHY? Where is the syntax error." This repeats for about 10 minutes. Followed by the glorious moment when of the changing of the </die> tag on line 2345 to <die/>. This would take place in glorious 420 resolution because I work on a potato powered computer.).

Current Planned Changes
  • Buy Misery defibrillator, if it isn't too late already.
  • Buy bucket to collect tears.
  • Add EnergyShards.
  • Add Energy Potions.
  • Drop health levels on all mechs.
  • Revamp energy items to be more overpowered.
  • Revamp consumables to be more overpowered and add multiple uses.
  • Revamp existing game entities and systems to be more brawleresque.
  • Add combo counter system
  • Modify speed
  • Increase Hyperbole!

Current Functional (or Mostly Functional) Changes
  • Add Shield regeneration in rooms.
  • Add Health regeneration between rooms.
  • Add Energy regeneration in rooms.
  • Create Brawler variants for each mech.
  • Increase Player hitbox

Progress: The Adventure

Day 1
  • Started project description thread.
  • Added awesome humor to thread.
  • Agonized over if project will split community
  • Agonized over spending time on project instead of finishing Reanimator Boss
  • Rickrolled Chris
  • First attempt to provide regenerating shields by using <modifier target="Self" type="InventoryChangePerSecond" related_item="Health" math="Add" magnitude="0.01"/> failed because InventoryItemType Enums are only: Energy, Keycard, Missile, Credit, HealthShard, ExperiencePoint.
  • Second attempt will use Modifiers to add Effect with duration flipping
  • Got distracted by wondering why the Keymaster and Keyprentice code doesn't work all of the time. It uses <effect timing="OnUse" targeting="Player" type="ChaneCurrentInventory" related_item="Keycard" magnitude="20" />, which I think should work.
  • Saw that gameentity items has a hitbox, which means I can increase it to do roomwide pickups of items.
  • Wrote thread instead of working on fixing brawler mechs
  • Added Bulletted Lists.
« Last Edit: February 11, 2016, 08:46:08 pm by ptarth »
Note: This post contains content that is meant to be whimsical. Any belittlement or trivialization of complex issues is only intended to lighten the mood and does not reflect upon the merit of those positions.

Offline Misery

  • Arcen Volunteer
  • Core Member Mark V
  • *****
  • Posts: 4,109
Re: The Brawler Mod
« Reply #1 on: February 11, 2016, 06:10:44 pm »
Misery, captain of things regarding to balance

Well there's something I never thought I'd hear...


Buy Misery defibrillator, if it isn't too late already.

what


Rickrolled Chris

Well, you're off to a good start then, I see.

Offline Hearteater

  • Core Member
  • *****
  • Posts: 2,334
Re: The Brawler Mod
« Reply #2 on: February 11, 2016, 06:12:17 pm »
What is Brawler to you? Because I don't see how your current mod changes do what I think of when I think of Brawler. In other words, what is the goal, without using the word "brawl" to describe it.

For Brawler to work, I'd assume something like the following:
1) Hitbox on player goes back to larger size, because you aren't supposed to be able to dodge shots as easily.
2) Likewise, player mech speed reduced ~10%. Sprint reduced even further? No walking?
3) Health on players goes up, at least x2, so you can absorb all the damage you'll be taking. Likewise, less health shards are needed to gain +1 max hp.
4) Non-boss mob health goes WAY up, and goes up even more every floor. Base hp x(1.5 + floor#).
5) Boss health goes up, base hp x(1 + 0.5*floor#).
6) Killing an enemy gives you a 10 second window to kill another to count toward your kill chain. You get bonuses based on how many kills you get. 3 kills regens back 1 shield, 5 kills drops credits, 10 kills give extra XP, 15 kills drops a key, etc. Move fast and you can carry your chain between rooms.

But regen in rooms is bad. It slows the game down. A brawler doesn't involve sneaking around and waiting. You get in their and blow stuff up damnit! None of this "wait, 2 more hp!"

Offline ptarth

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,166
  • I'm probably joking.
Re: The Brawler Mod
« Reply #3 on: February 11, 2016, 06:25:21 pm »
Day 1A.
  • Tried to implement regenerating shield and heath via modifiers and effects, but was distracted by the system method.
  • Net effect of system implementation
Code: [Select]
Steamworks Init     2/11/2016 10:11:59 AM
Steamworks IsRunning: True     2/11/2016 10:11:59 AM
GameInit (0 - 2/11/2016 10:11:59 AM)     2/11/2016 10:12:02 AM
ArcenXML::ArcenLoadRootElement(), error opening file D:/Steam/steamapps/common/Starward Rogue/RuntimeData/Configuration/GameEntity/a_Ptarth_Brawler_PlayerHulls.xml:System.Xml.XmlException: 'system' is expected file:///D:/Steam/steamapps/common/Starward Rogue/RuntimeData/Configuration/GameEntity/a_Ptarth_Brawler_PlayerHulls.xml Line 105, position 6.
  at Mono.Xml2.XmlTextReader.Expect (System.String expected) [0x00000] in <filename unknown>:0
  at Mono.Xml2.XmlTextReader.ReadEndTag () [0x00000] in <filename unknown>:0
  at Mono.Xml2.XmlTextReader.ReadContent () [0x00000] in <filename unknown>:0
  at Mono.Xml2.XmlTextReader.Read () [0x00000] in <filename unknown>:0
  at System.Xml.XmlTextReader.Read () [0x00000] in <filename unknown>:0
  at Mono.Xml.EntityResolvingXmlReader.Read () [0x00000] in <filename unknown>:0
  at Mono.Xml.Schema.XsdValidatingReader.Read () [0x00000] in <filename unknown>:0
  at System.Xml.XmlValidatingReader.Read () [0x00000] in <filename unknown>:0
  at System.Xml.XmlDocument.ReadNodeCore (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
  at System.Xml.XmlDocument.ReadNodeCore (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
  at System.Xml.XmlDocument.ReadNodeCore (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
  at System.Xml.XmlDocument.ReadNodeCore (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
  at System.Xml.XmlDocument.ReadNodeCore (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
  at System.Xml.XmlDocument.ReadNodeCore (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
  at System.Xml.XmlDocument.ReadNode (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
  at System.Xml.XmlDocument.Load (System.Xml.XmlReader xmlReader) [0x00000] in <filename unknown>:0
  at System.Xml.XmlDocument.Load (System.String filename) [0x00000] in <filename unknown>:0
  at ArcenXML.ArcenLoadRootElement (System.String Filepath) [0x00000] in <filename unknown>:0

   at System.Environment.get_StackTrace()
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Boolean IncludeStackTrace, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, Verbosity Verbosity)
   at ArcenXML.ArcenLoadRootElement(System.String Filepath)
   at ArcenXML.ImportIntoDynamicTable(.ArcenDynamicTable`1 Table, System.String SourceFileNameWithoutExtension, .XmlDynamicTableImportRowProcessor`1 Processor, Boolean IsPostInitReParse)
   at ArcenXML.ImportIntoDynamicTable_XMLDirectory(.ArcenDynamicTable`1 Table, .XmlDynamicTableImportRowProcessor`1 Processor, Boolean IsPostInitReParse)
   at ArcenDynamicTable`1.Initialize(Boolean IsPostInitReParse)
   at Game.GameForm_Load()
   at Game.ContinueInitializeGame()
   at Game.ContinueMultiStageProcess()
   at ArcenMainCameraImplementations.MainUpdateLogic()
   at MainCameraLogic.Update()

2/11/2016 10:12:03 AM
Errors in reading GameEntityTypeDataTable
Error in ArcenXML.ImportIntoDynamicTable while reading D:/Steam/steamapps/common/Starward Rogue/RuntimeData/Configuration/GameEntity/a_Ptarth_Brawler_PlayerHulls.xml: System.ArgumentNullException: Argument cannot be null.
Parameter name: key
  at System.Collections.Generic.Dictionary`2[System.Xml.XmlElement,ArcenXMLElement].ContainsKey (System.Xml.XmlElement key) [0x00000] in <filename unknown>:0
  at ArcenXMLElement.GetFor (System.Xml.XmlElement Element) [0x00000] in <filename unknown>:0
  at ArcenXML.ImportIntoDynamicTable[GameEntityTypeData] (.ArcenDynamicTable`1 Table, System.String SourceFileNameWithoutExtension, .XmlDynamicTableImportRowProcessor`1 Processor, Boolean IsPostInitReParse) [0x00000] in <filename unknown>:0

  at System.Collections.Generic.Dictionary`2[System.Xml.XmlElement,ArcenXMLElement].ContainsKey (System.Xml.XmlElement key) [0x00000] in <filename unknown>:0
  at ArcenXMLElement.GetFor (System.Xml.XmlElement Element) [0x00000] in <filename unknown>:0
  at ArcenXML.ImportIntoDynamicTable[GameEntityTypeData] (.ArcenDynamicTable`1 Table, System.String SourceFileNameWithoutExtension, .XmlDynamicTableImportRowProcessor`1 Processor, Boolean IsPostInitReParse) [0x00000] in <filename unknown>:0      2/11/2016 10:12:05 AM
Warning, unrequested attributes found in XML content; writing details (which may be very large) to (game directory)/RuntimeData/UnrequestedXMLAttributes.txt     2/11/2016 10:12:05 AM
GameInit (1 - 2/11/2016 10:12:05 AM)     2/11/2016 10:12:05 AM
Version: 1.013     2/11/2016 10:12:05 AM
sound file count: 510     2/11/2016 10:12:05 AM
sound loading finished     2/11/2016 10:12:05 AM
GameInit (2 - 2/11/2016 10:12:05 AM)     2/11/2016 10:12:16 AM
GameInit (3 - 2/11/2016 10:12:16 AM) 
  • Spent time looking up Rune Factory, DS to TV conversions, and other game recommendations
  • Saw Hearteater made some great suggestions, so of whom I had forgotten to add to my previous list of desired changes.
  • Revised initial thread.
  • Cleaned up formatting tags.




What is Brawler to you?

I want a game that is more to my desired flavor. Something like Shadows of Mystara, Teenage Mutant Ninja Turtles, and Dungeon Fighter Online.

Quote
Hitbox on player goes back to larger size

I completely forgot this one. Yes. Definitely! Thank you!

Quote
2) Likewise, player mech speed reduced ~10%. Sprint reduced even further? No walking?
Hmm.. Not sure. Sprint/Run is a standard action in later revisions of the games. I'm okay with it right now. Perhaps lowering speed would be okay, I'm not sure and it depends on how the game feels once I get the first batch of changes down. But your point is well taken.

Quote
3) Health on players goes up, at least x2, so you can absorb all the damage you'll be taking. Likewise, less health shards are needed to gain +1 max hp.
Hmm... Not sure about this. Regenerating shields and life will take care of part of this, along with the current health drops system.  "Pulling back" in the middle of a fight to regen should function. If you have large health bars then you'd never die. With the retreat to catch your breath system, you are fine, unless you take too much damage in a short period of time.

Quote
4) Non-boss mob health goes WAY up, and goes up even more every floor. Base hp x(1.5 + floor#).
They do already actually. I can scale it further, but I'd need to see how the game feels first.

Quote
5) Boss health goes up, base hp x(1 + 0.5*floor#).
They do already actually. I can scale it further, but I'd need to see how the game feels first.

Quote
6) Killing an enemy gives you a 10 second window to kill another to count toward your kill chain. You get bonuses based on how many kills you get. 3 kills regens back 1 shield, 5 kills drops credits, 10 kills give extra XP, 15 kills drops a key, etc. Move fast and you can carry your chain between rooms.
Hmm... I dunno. I think I could see how that could be implemented, but it isn't in my main line of thought now. If this starts working and you think it still would be nice, I could still do it. I'll put it down as future option.

Quote
But regen in rooms is bad. It slows the game down. A brawler doesn't involve sneaking around and waiting. You get in their and blow stuff up damnit! None of this "wait, 2 more hp!"

Hmm. I'm not convinced. I play too much of a game called DFO. It is a RPG/Brawler/Beat'em up/FreetoPlay/MMO/with robots/with clowns/with turtles. It has passive regen and potions and a combo system. Regen is okay. Again though, we'll see. More importantly, once I have it functioning, I can set it so that people can try for themselves with and without it.
« Last Edit: February 11, 2016, 06:29:03 pm by ptarth »
Note: This post contains content that is meant to be whimsical. Any belittlement or trivialization of complex issues is only intended to lighten the mood and does not reflect upon the merit of those positions.

Offline Misery

  • Arcen Volunteer
  • Core Member Mark V
  • *****
  • Posts: 4,109
Re: The Brawler Mod
« Reply #4 on: February 11, 2016, 07:51:47 pm »
Just as a note:  Increasing the size of the hitbox on the player mech will make some patterns basically undodgable.   Particularly as I've started altering a few to account for the smaller one.  Some of them were tuned a bit weird at first because of the bizarre hitbox size.  The game will be mostly doable on Normal, but on Hard mode it's going to be an issue (Terminus's final attack, for example, probably isnt dodgable at all with that, Staccato's hard mode attack is NEARLY undodgable with it in some formations).

And I'll again point out, as he did, the "regen is bad" bit.  For nearly all players, it *will* just slow down the game as they stand behind blocks waiting a bunch.  Not just HP regen, but energy or shields will do the same.  And "brawling" doesnt involve standing around, that's for sure.  You'll end up just giving people the opposite of what they think a brawler game should be.  Everyone knows you dont regen in a brawler.  You break a phone booth and then eat the hamburger that it just dropped on the ground while ninjas continue to leap around the screen.  THAT is how you heal in a brawler.  It makes such a wonderful lack of sense.

Additional bullet-point for you:  Replace health item images with hamburgers.


Other than that, it'll be interesting to see what happens with this.

And now I'm off to go hit items with virtual hammers to attempt to get them all balancey. 

Offline ptarth

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,166
  • I'm probably joking.
Re: The Brawler Mod
« Reply #5 on: February 11, 2016, 08:10:50 pm »
Just as a note:  Increasing the size of the hitbox on the player mech will make some patterns basically undodgable.   

1. I don't want to play a game where my ability to dodge into a 12.5 pixel wide gap is required.
2. Brawlers are okay with you taking hits, it is expected, so that's okay!

Quote
...hamburgers...
Additional bullet-point for you:  Replace health item images with hamburgers.

And you think I won't....


Update 1B
  • She lives!
  • or is it She is ALIVE!? I'm not sure.
  • Anyway, regen step is completed and functional. Currently set at 5 seconds for shields at 15 seconds for health. The regen is based on absolute clock time as opposed to when you took your last damage, so you will get instances of taking damage immediately followed by a shield regen. If the idea works out then I can switch to a fancier system method.
  • Hitboxes were upped to 11. I think that's what they were, but I'm not sure. It looks about right. The head of the mech isn't square. Perhaps I'll increase it to total body size instead.
  • Note to Reader: Start game, choose New Run. Enable Temp Dev Mode. Press L to open the Dev menu. I keep forgetting this.
  • Something I did caused energy systems to spawn on top of my head instead of on my left shoulder. I couldn't reproduce it.
  • I'll add the code to the remainder of the mechs and post that here next.

Note: This post contains content that is meant to be whimsical. Any belittlement or trivialization of complex issues is only intended to lighten the mood and does not reflect upon the merit of those positions.

Offline ptarth

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,166
  • I'm probably joking.
Re: The Brawler Mod
« Reply #6 on: February 11, 2016, 08:46:40 pm »
First version is now live and attached to original post.
Note: This post contains content that is meant to be whimsical. Any belittlement or trivialization of complex issues is only intended to lighten the mood and does not reflect upon the merit of those positions.

Offline chemical_art

  • Core Member Mark IV
  • *****
  • Posts: 3,952
  • Fabulous
Re: The Brawler Mod
« Reply #7 on: February 11, 2016, 09:58:06 pm »
Had a lot of fun for half an hour playing this. Thanks!



Life is short. Have fun.

Offline Misery

  • Arcen Volunteer
  • Core Member Mark V
  • *****
  • Posts: 4,109
Re: The Brawler Mod
« Reply #8 on: February 11, 2016, 10:13:49 pm »

Quote
...hamburgers...
Additional bullet-point for you:  Replace health item images with hamburgers.

And you think I won't....


Considering the various things you've often shown in your devious designs of submitted stuffs so far....

I figure you really just might do it.

Offline chemical_art

  • Core Member Mark IV
  • *****
  • Posts: 3,952
  • Fabulous
Re: The Brawler Mod
« Reply #9 on: February 11, 2016, 10:42:26 pm »
Life is short. Have fun.

Offline Misery

  • Arcen Volunteer
  • Core Member Mark V
  • *****
  • Posts: 4,109
Re: The Brawler Mod
« Reply #10 on: February 11, 2016, 10:55:26 pm »
*looks at screenshot*


Offline ptarth

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,166
  • I'm probably joking.
Re: The Brawler Mod
« Reply #11 on: February 11, 2016, 11:08:16 pm »
Quote from: Misery
My work here is done.
Great. Let's roll everything into the mainline and call it a day.
 :P
Note: This post contains content that is meant to be whimsical. Any belittlement or trivialization of complex issues is only intended to lighten the mood and does not reflect upon the merit of those positions.

Offline nas1m

  • Master Member
  • *****
  • Posts: 1,268
Re: The Brawler Mod
« Reply #12 on: February 13, 2016, 08:47:45 pm »
Sounds cool (I love Teenage Mutant Hero Turtles :D). Looking forward to try this out!
Craving some more color and variety in your next Bionic run? Grab a boost and a couple of custom floors!

Offline ptarth

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,166
  • I'm probably joking.
Re: The Brawler Mod
« Reply #13 on: February 14, 2016, 01:50:49 am »
The prototype is fully playable. The next step is just balance, polishing some things, and then modifying existing content. If the entire premise of the mod interests you then the prototype is sufficient to see if you actually do want to use it.
Note: This post contains content that is meant to be whimsical. Any belittlement or trivialization of complex issues is only intended to lighten the mood and does not reflect upon the merit of those positions.