Arcen Games

General Category => Starward Rogue => Starward Rogue Mods & Modding => Topic started by: Cinth on January 24, 2016, 03:22:31 pm

Title: Adventures in modding
Post by: Cinth on January 24, 2016, 03:22:31 pm
So I've taken it upon my self to make an attempt at modding.  I'm making a Mech.  Well, I've made the Mech.  I have weapons attached and systems on it that work.  Hell, I've even played with it.

Of course it's a hack job of stuff Mission I think) made (don't tell him).  What I'm stuck on is figuring out how to make the bullet patterns I want for the Mech (so it isn't so much just a hack job).

I'm stuck and the wiki isn't of much help (needs better examples and some how to). 
Title: Re: Adventures in modding
Post by: Misery on January 24, 2016, 03:24:31 pm
What exactly are you trying to get it to do?

There is at least plenty of already existing bullet thingies to look through.  Though I'll admit that anything *I* make is typically a bit of a mess, so I dunno how helpful that is.
Title: Re: Adventures in modding
Post by: ptarth on January 24, 2016, 03:29:47 pm
Yep. Just tell us what you are thinking and we can give you something to start from.
Title: Re: Adventures in modding
Post by: Cinth on January 24, 2016, 03:31:21 pm
Finding a specific case in all that mess?  Yeah, though Centrifuge or Warden might have something I can use there.

What  I'm looking to do:

Take Rain Canon's pattern and have the shots the pattern made, make the pattern again (lots of shots flying around).  I'd need somewhere to adjust the damage the shots do at each level. 

Yes, I'm crazy and want a veritable mess of shots on the screen.
Title: Re: Adventures in modding
Post by: Misery on January 24, 2016, 03:38:26 pm
Oh, that's not hard to do.

One way to do it, or the way I would do it, is to have the rain cannon work by doing a basic spread (defined in the system, not in the bullet patterns) upon death of the first shot. The shots it releases all have another system attached to them (alot of my later bosses such as Vestige use this), and when THEY die, the new system, which also fires off a spread, then activates, firing additional bouncing shots. 

Cenrifuge uses an extremely similar idea for it's repeatedly splitting shots.  It has a bit of additional code to it, but that was just because I needed specific parts of the pattern going in specific directions, not just in a general spread. 
Title: Re: Adventures in modding
Post by: Cinth on January 24, 2016, 03:40:23 pm
So basically have the system base one pattern and the other out of patterns?  I could use the same patternvars for this?
Title: Re: Adventures in modding
Post by: ptarth on January 24, 2016, 03:47:21 pm
Guide to Weapon Modding
Code: [Select]
  <bullet_pattern name="RainCannonPattern"> -- defines the pattern and names it
    <bullet speed="1200" angle="0" shot_type="HexishellEmblazonedYellow"> --defines a new bullet with a speed (how fast it goes), angle (what direction it goes), and shot_type (color, hitbox).
       <wait time="0.35" /> --wait for 350 miliseconds
        <spawn> -- create a new bullet patttern
          <bullet_pattern> --specify the new bullet_pattern to use
            $CircleRung_Terrain A=0 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0 SCALE=0.66 --use a predefined bullet pattern CircleRung_Terrain with the variables listed. I'll talk about this below.
            $CircleRung_Terrain A=15 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.001 SCALE=0.66
            $CircleRung_Terrain A=30 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.002 SCALE=0.66
            $CircleRung_Terrain A=45 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.003 SCALE=0.66
            $CircleRung_Terrain A=60 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.004 SCALE=0.66
            $CircleRung_Terrain A=75 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.005 SCALE=0.66
            $CircleRung_Terrain A=90 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.006 SCALE=0.66
            $CircleRung_Terrain A=105 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.007 SCALE=0.66
            $CircleRung_Terrain A=120 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.008 SCALE=0.66
            $CircleRung_Terrain A=135 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.009 SCALE=0.66
            $CircleRung_Terrain A=150 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.01 SCALE=0.66
            $CircleRung_Terrain A=165 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.011 SCALE=0.66
            $CircleRung_Terrain A=180 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.012 SCALE=0.66
            $CircleRung_Terrain A=195 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.013 SCALE=0.66
            $CircleRung_Terrain A=210 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.014 SCALE=0.66
            $CircleRung_Terrain A=225 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.015 SCALE=0.66
            $CircleRung_Terrain A=240 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.016 SCALE=0.66
            $CircleRung_Terrain A=255 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.017 SCALE=0.66
            $CircleRung_Terrain A=270 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.018 SCALE=0.66
            $CircleRung_Terrain A=285 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.019 SCALE=0.66
            $CircleRung_Terrain A=300 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.02 SCALE=0.66
            $CircleRung_Terrain A=315 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.021 SCALE=0.66
            $CircleRung_Terrain A=330 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.022 SCALE=0.66
            $CircleRung_Terrain A=345 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.023 SCALE=0.66
          </bullet_pattern> --close the bullet pattern
         </spawn> --close the spawn
        <die sounds_to_pick_from_when_action_starts="AnyWeapons/HeavyElectricEnergy1,AnyWeapons/HeavyElectricEnergy2"/> --add a sound effect to killing things
    </bullet> -- close the bullet
  </bullet_pattern> -- close the bullet pattern
Code: [Select]
    <var name="CircleRung_Terrain">  --create a bullet variable definition
    <bullet angle="0" speed="0" shot_type="Invisible" damage_mult="0" never_collides_with_terrain="false"> --start with a bullet definition, shot_type in
      <wait time="[DELAY]"/>
      <die />
      <spawn>
        <bullet_pattern>
          <bullet angle="[A]" speed="[SPEED]" shot_type="[SHOT_TYPE]" damage_mult="0.5" never_collides_with_terrain="false">
            <wait time="[TIME]"/>
            <die />
          </bullet>
        </bullet_pattern>
      </spawn>
    </bullet>
  </var>

WIP saving, hold wait.


Wait, what? I need to figure out what's going on here, because this is just weird. Just a minute.
Okay. I figured out how the code works. But I'm not sure why. If someone else wants to finish this off go for it. Otherwise I'll just skip to the answer below.
Title: Re: Adventures in modding
Post by: Misery on January 24, 2016, 03:50:31 pm
There's a variety of ways to do it, really.   It just depends on what works best for you.

The way I'm thinking of wouldnt use the bullet_pattern or bullet_vars files at all.  Just the enemy and system files.  But, the lack of actual bullet code could make it a little confusing to figure out the method of making it work.  It took awhile for me to grasp the ideas there.   The boss Vestige really is the best example of this.  At least I think it's Vestige.  If I recall correctly, that boss doesnt use the patterns/vars files whatsoever.

Or, you can do it in the manner that Ptarth is showing, which is more of a traditional way, and which may be less confusing. 

Really, the whole system is VERY open-ended.  There's so many ways to approach it.
Title: Re: Adventures in modding
Post by: Cinth on January 24, 2016, 04:06:52 pm
Laugh at this... Everything I have done so far has been done in notepad :D

ptarth:  I've gotten that much and actually have a functional rain canon on the mech (as a regular weapon not an ammo).  I kinda get what's going on with the normal setup there, it's how to get a pattern form a pattern  :-\
Title: Re: Adventures in modding
Post by: Cinth on January 24, 2016, 04:25:03 pm
Fusillade has given me an idea to try.  Off to the grindstone...
Title: Re: Adventures in modding
Post by: ptarth on January 24, 2016, 04:37:11 pm
The answer, but without fancy words, because that takes forever.

Code: [Select]
    <var name="NewCircleRung_Terrain">
          <bullet angle="[A]" speed="[SPEED]" shot_type="[SHOT_TYPE]" damage_mult="0.5" never_collides_with_terrain="false">
            <wait time="[TIME]"/>
<spawn>
  <bullet_pattern>
$NewCircleRungShot_Terrain A=0 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=15 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=30 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=45 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=60 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=75 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=90 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=105 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=120 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=135 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=150 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 CALE=0.66
$NewCircleRungShot_Terrain A=165 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=180 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=195 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=210 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=225 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=240 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=255 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=270 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=285 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=300 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=315 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=330 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
$NewCircleRungShot_Terrain A=345 SHOT_TYPE="[SHOT_TYPE2]" SPEED=100 TIME=1 SCALE=0.66
</bullet_pattern>
</spawn>
            <die />
  </bullet>
  </var>
 
   <var name="NewCircleRungShot_Terrain">
          <bullet angle="[A]" speed="[SPEED]" shot_type="[SHOT_TYPE2]" damage_mult="0.5" never_collides_with_terrain="false">
            <wait time="[TIME]"/>
            <die />
          </bullet>
  </var>

  <bullet_pattern name="NewRainCannonPattern">
    <bullet speed="1200" angle="0" shot_type="HexishellEmblazonedYellow">
       <wait time="0.35" />
        <spawn>
          <bullet_pattern>
            $NewCircleRung_Terrain A=0 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0 SCALE=0.66 SHOT_TYPE2=SpikeRed
            $NewCircleRung_Terrain A=15 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.001 SCALE=0.66  SHOT_TYPE2=SpikeGreen
            $NewCircleRung_Terrain A=30 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.002 SCALE=0.66  SHOT_TYPE2=SpikeBlue
            $NewCircleRung_Terrain A=45 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.003 SCALE=0.66  SHOT_TYPE2=SpikeRed
            $NewCircleRung_Terrain A=60 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.004 SCALE=0.66  SHOT_TYPE2=SpikeGreen
            $NewCircleRung_Terrain A=75 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.005 SCALE=0.66  SHOT_TYPE2=SpikeBlue
            $NewCircleRung_Terrain A=90 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.006 SCALE=0.66  SHOT_TYPE2=SpikeRed
            $NewCircleRung_Terrain A=105 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.007 SCALE=0.66  SHOT_TYPE2=SpikeGreen
            $NewCircleRung_Terrain A=120 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.008 SCALE=0.66  SHOT_TYPE2=SpikeBlue
            $NewCircleRung_Terrain A=135 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.009 SCALE=0.66 SHOT_TYPE2=SpikeRed
            $NewCircleRung_Terrain A=150 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.01 SCALE=0.66 SHOT_TYPE2=SpikeGreen
            $NewCircleRung_Terrain A=165 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.011 SCALE=0.66 SHOT_TYPE2=SpikeBlue
            $NewCircleRung_Terrain A=180 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.012 SCALE=0.66 SHOT_TYPE2=SpikeRed
            $NewCircleRung_Terrain A=195 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.013 SCALE=0.66 SHOT_TYPE2=SpikeGreen
            $NewCircleRung_Terrain A=210 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.014 SCALE=0.66 SHOT_TYPE2=SpikeBlue
            $NewCircleRung_Terrain A=225 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.015 SCALE=0.66 SHOT_TYPE2=SpikeRed
            $NewCircleRung_Terrain A=240 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.016 SCALE=0.66 SHOT_TYPE2=SpikeGreen
            $NewCircleRung_Terrain A=255 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.017 SCALE=0.66 SHOT_TYPE2=SpikeBlue
            $NewCircleRung_Terrain A=270 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.018 SCALE=0.66 SHOT_TYPE2=SpikeRed
            $NewCircleRung_Terrain A=285 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.019 SCALE=0.66 SHOT_TYPE2=SpikeGreen
            $NewCircleRung_Terrain A=300 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.02 SCALE=0.66 SHOT_TYPE2=SpikeBlue
            $NewCircleRung_Terrain A=315 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.021 SCALE=0.66 SHOT_TYPE2=SpikeRed
            $NewCircleRung_Terrain A=330 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.022 SCALE=0.66 SHOT_TYPE2=SpikeGreen
            $NewCircleRung_Terrain A=345 SHOT_TYPE=SpikeYellow SPEED=800 TIME=1 DELAY=0.023 SCALE=0.66 SHOT_TYPE2=SpikeBlue
          </bullet_pattern>
         </spawn>
        <die sounds_to_pick_from_when_action_starts="AnyWeapons/HeavyElectricEnergy1,AnyWeapons/HeavyElectricEnergy2"/>
    </bullet>
  </bullet_pattern>


DELAY doesn't really do anything. I'm not sure why it is there.
Title: Re: Adventures in modding
Post by: Cinth on January 24, 2016, 04:39:26 pm
The delay does do something.  It causes the shots to spawn sequentially instead of all at once.
Title: Re: Adventures in modding
Post by: Misery on January 24, 2016, 04:47:30 pm
Laugh at this... Everything I have done so far has been done in notepad :D

ptarth:  I've gotten that much and actually have a functional rain canon on the mech (as a regular weapon not an ammo).  I kinda get what's going on with the normal setup there, it's how to get a pattern form a pattern  :-\

Notepad.

What.

How.... why.... why?
Title: Re: Adventures in modding
Post by: Cinth on January 24, 2016, 04:52:04 pm
Notepad.

What.

How.... why.... why?

Because you can edit xml in notepad and it was what I had until about 2 hours ago.  Now I'm looking at a rainbow puke colored word processor...
Title: Re: Adventures in modding
Post by: Misery on January 24, 2016, 04:55:40 pm
What about something like Visual Studio?  That's what I've been using; it's been really great for it. 

I'd been using Notepad++ before that (I have NO idea why they called it that, but it's an XML-specific editor), that one is pretty decent, but not as good as VS.
Title: Re: Adventures in modding
Post by: ptarth on January 24, 2016, 05:08:09 pm
The delay does do something.  It causes the shots to spawn sequentially instead of all at once.

They spawn sequentially anyway, just really close in time. The delays are on the order of milliseconds which is faster than humans can process. I understand what it does, but not the reasoning behind adding it.
Title: Re: Adventures in modding
Post by: nas1m on January 24, 2016, 05:09:12 pm
What about something like Visual Studio?  That's what I've been using; it's been really great for it. 

I'd been using Notepad++ before that (I have NO idea why they called it that, but it's an XML-specific editor), that one is pretty decent, but not as good as VS.
Easy. It's likely a hommage to C++, which is to C what Notepad++ is to Notepad ;).
Title: Re: Adventures in modding
Post by: Cinth on January 24, 2016, 05:10:58 pm
I don't normally dabble in this stuff.  I just play games and generally become a happy camper.  Most stuff I would edit in XML for other games would be simple changes that can be handled in notepad.

My laptop has notepad++, and several programming tools (C++ and Java) I used in college.  I generally go brain dead when faced with this stuff ;)
Title: Re: Adventures in modding
Post by: Cinth on January 24, 2016, 05:14:36 pm
Anyway, the thing I'm writing in now to try (because it looks like it will be simpler) is to use "system_to_attach_to_shot".

I'm going to mod up the vars to have that add the new system which should allow me to paste the second pattern in.
Title: Re: Adventures in modding
Post by: Misery on January 24, 2016, 05:18:06 pm
Yeah, that's basically the bit I was talking about.  That's how the later bosses work.  It's just.... much faster to write up, if you can figure out how to get it to do the thing you want.   That's the tough part.  But if done right you can get complicated effects without having to go into the patterns or vars stuff at all.
Title: Re: Adventures in modding
Post by: Cinth on January 24, 2016, 05:21:57 pm
I'm trying to use as much preexisting stuff as I can.  This part was something I needed to solve from scratch (it was in the wiki though, I should have read it more slowly).

So if this works, the only part of it that would be new (as far as the weapon and patterns) would be the system I just wrote in. 
Title: Re: Adventures in modding
Post by: Cinth on January 25, 2016, 04:32:21 am
Thanks ptarth, that solution looks pretty close to the overall effect I want, just a bit to tweaking to get it just right.

I tried using add system in the vars and it just didn't work, even though it should have.  Probably just me messing up somewhere.


Anyway, his guy is celebrating (ss).
Title: Re: Adventures in modding
Post by: ptarth on January 25, 2016, 04:44:01 am
Depends which system you added to which one. If you did it wrong it would probably chain and cause infinite explosions. I'd need to see the code to see what happened.
Title: Re: Adventures in modding
Post by: Cinth on January 25, 2016, 05:16:42 am
Basically I added "add system to shot" to the original vars and the system was set to look like a single shot of the rain canons burst with a second pattern added on.  I might have messed it up, sure.  But what you handed me works like a charm for the moment.  I've got to get the size of all the sub-shots down a bit and the damage modifier down some too.


System
      <system name="FlakSubmunition"
                        category="Weapon"
                        firing_timing="AllTheTime"
                        targeting_logic="Direct"
                        attack_power="3"
                        shot_type="FangsPurple"
                        shots_per_salvo="1"
                        damage_type="Ballistic"
                        special_bullet_patterns="FlakSubmunitionPattern"
                        only_fires_on_death="true"
                        time_to_live="2"
                        shot_speed="1200"
                              >
            <modifier target="MyShots" type="RicochetsOffTerrain"/>
      </system>

Vars
            <var name="CircleRungSM_Terrain">
                  <bullet angle="0" speed="0" shot_type="Invisible" damage_mult="0" never_collides_with_terrain="false">
                        <wait time="[DELAY]"/>
                        <die />
                        <spawn>
                              <bullet_pattern>
                                    <bullet angle="[A]" speed="[SPEED]" shot_type="[SHOT_TYPE]" damage_mult="0.5" never_collides_with_terrain="false" system_to_attach_to_shot="[SYSTEM]">
                                          <wait time="[TIME]"/>
                                          <die />
                                    </bullet>
                              </bullet_pattern>
                        </spawn>
                  </bullet>
            </var>
Title: Re: Adventures in modding
Post by: Cinth on January 25, 2016, 06:02:55 am
Now we are getting places.  Gameplay testing!  Shot sizes are pretty close to where I want them for the patterned bursts :)
Title: Re: Adventures in modding
Post by: Misery on January 25, 2016, 07:39:19 am
I'm curious, are you intending on submitting this for possible inclusion into the game?  I may have already asked this and forgot, but I ask again!

Only thing to watch out for is possible slowdown from a weapon like that.... that's alot of tiny bullets! 
Title: Re: Adventures in modding
Post by: Cinth on January 25, 2016, 07:54:52 am
Maybe.  It depends on a lot.

Right now I think I have at most 3 bursts on screen at once, and my frames haven't dropped below 40 in play testing.


I think some of your bosses have more shots on screen than I do ;)
Title: Re: Adventures in modding
Post by: Misery on January 25, 2016, 08:45:17 am
Maybe.  It depends on a lot.

Right now I think I have at most 3 bursts on screen at once, and my frames haven't dropped below 40 in play testing.


I think some of your bosses have more shots on screen than I do ;)

Hmm, from discussions with Chris, I've found that hitting 40 might actually be an issue.

Well, what's your usual FPS in-game?  Like, when you're just playing in average rooms with an average mech?  I'm curious to know how far it goes down if you really spam that thing VS how it normally is.

With alot of the bosses, including something like Centrifuge with it's extreme bullet count, they're actually using bullets that have no true collision on them.  The game doesnt have to process any possible terrain interactions (aside from bullets hitting the boundary of the room, if I recall correctly), and the bullets tend to just keep going when they otherwise wouldnt.  It was put in because alot of bosses were actually causing issues on some systems.   Obviously this isnt doable for all attack types (like Mirror) so I had to remove it for some, but most are still using it in some form. Basically Chris went in and did a variety of things with stuff like that to keep them functional yet reduce the draining effects they were having.  Like how Crystal Mother's purple laser things were changed; they function the same but now use far less bullets than before.

Huge amounts of bouncing shots can be an issue, which may need to be looked at.  Chris actually may have some ideas on how you can keep the drain to a minimum while still retaining all the function, if it turns out that it's a bit much.
Title: Re: Adventures in modding
Post by: Cinth on January 25, 2016, 09:13:29 am
I'm gonna drop the reload to 2rpm and balance from there and possibly take the bounce form the smallest fragments.

I managed to hit 30 FPS with the thing that reduces damage for reload.  My usual FPS? It varies a lot actually usually floating in the low-mid 100s until it gets crazy. 



I remember the stuff with bosses... I wasn't happy that the boss room hiding spots went away with that  change (I pretty much rage quit against a boss and played something else for about a week).
Title: Re: Adventures in modding
Post by: Misery on January 25, 2016, 11:29:39 am
Oh, the "system to attach to shot" thing:  It goes in the system itself, actually.  That's why it doesnt work, and it's why some of the bosses dont use the vars or patterns file whatsoever, because they're just able to attach systems to shots within the systems file alone.

However, if the system you're using this on has a bullet pattern of it's own, it will override this.  The bullets it fires, the systems attached to them can have patterns.
Title: Re: Adventures in modding
Post by: Cinth on January 25, 2016, 11:51:49 am
Oh, the "system to attach to shot" thing:  It goes in the system itself, actually.  That's why it doesnt work, and it's why some of the bosses dont use the vars or patterns file whatsoever, because they're just able to attach systems to shots within the systems file alone.

However, if the system you're using this on has a bullet pattern of it's own, it will override this.  The bullets it fires, the systems attached to them can have patterns.

That's how Palisade works, yes (some of it)?  I just messed up my implementation.  It's cool though since I have something that works.

Speaking of which...  I had to drop the rate of fire to 1.  Anything faster than about .6 starts to hit frame rate to much.  And playing around with it, I think the attachments are hilariously OP.  It makes trying to keep a balanced progression to this thing very hard.  I'm seriously considering locking in one of the passive systems as an attachment and controlling growth through a better leveling scheme.