Expanded weapon modding

All other topics around Descent and D2X-XL

Moderators: Frustikus, simX, Aus-RED-5

User avatar
Wasabi Master
Posts: 29
Joined: Mon Apr 06, 2009 4:05 pm
Location: Outside of known civilization.

Expanded weapon modding

Postby Wasabi Master » Sat Jun 20, 2009 10:22 pm

This is just an idea that has been bouncing around in my head, and if you have any more ideas or comments, please post it.

I was thinking of an expanded version of the database that the ham file contains for the weapons. For those who haven't even looked at the ham file, these are the more useful attributes that can be changed: power (by difficulty), speed (by difficulty), firing speed, lifetime, energy usage, ammo usage, blast radius, the irritating flash, "children" (what comes out of the explosion, like the smart blobs out of the smart missile), homing ability (not sure if this is a switch or it's sensitivity/ turning speed), bouncing ability (0-none 1-infinite[like proxy bomb] 2-2 bounces[like phoenix cannon]), and the visual and audio aspects of the weapon. There are limitations though to this, primarily the style of the weapon cannot be changed, like the spreadfire can only shoot in it's 3 way fashion, and the specific gun points that it uses.

What I was thinking was making the database include a few extras. Here's a my ideas:

1) Controlling the number of "children" it produces. Instead of having a constant 7 or 8, have a value that can be set between 1 and like 20 (can't overload the poor computer ya' know! :D )

2) Having the weapon's power dissipate with time.

3) Control over the firing style. Like the gun points used, the ability to alternate between gun points (possibly giving the player the control to link up the weapons), the ability to charge up manually like the fusion or automatically like the omega but it's power be proportionate to the charge it would have, the degree of inaccuracy like the vulcan and gauss, and the spread style maybe expanding so that the spread isn't just in a straight line thus allowing for a more shotgun style weapon.

4) Adding some weapon effects like burning (slowly damaging more), freezing (stunning and if it you're hit with a concussive blast or a mass weapon, it's damage is magnified and breaks you free), and electrocuting (instant subsystem hit no matter how many shields)

5) Adding a sniper type weapon mode that you can only fire when you're zoomed in. You can only zoom in when you're perfectly still (ship wiggle excluded). But the power and speed are like doubled or tripled.

Alright I'm done, now it's your turn. :D
Laptop specs: runs Supreme Commander ~5 fps
HP Pavillion 6815
CPU: AMD turion 64 X2 @ 2 GHz
Memory: 3GB RAM; 160 GB HDD
GPU: nVidia Geforce 7150M (GARBAGE I know)
OS: Windows Vista (Worse than the "GPU")
User avatar
Kaizerwolf
Posts: 390
Joined: Tue Dec 25, 2007 4:37 pm

Postby Kaizerwolf » Sat Jun 20, 2009 10:54 pm

A time bomb of sorts? I'm thinking that could be particularly useful for those who like sneaking around with cloaks.
What if, in 30 years, you're considered for the highest office in the land and get denied because some sneak found that misspelled post of yours about how "Nickledon" sucked and ruins your political career by exposing it?- poxpower
User avatar
Wasabi Master
Posts: 29
Joined: Mon Apr 06, 2009 4:05 pm
Location: Outside of known civilization.

Postby Wasabi Master » Sat Jun 20, 2009 11:06 pm

Are you talking about a time bomb that you can control "the length of the fuse" so to speak in game? Because if not then that should be possible already by making the proxy's lifetime like 5 seconds and increasing it's power and blast radius.

Although that does give me an idea, make a motion sensor type bomb that will explode when an object passes within it's blast range. OH! :shock: Got another status effect, cloak cancellation :D .
Laptop specs: runs Supreme Commander ~5 fps

HP Pavillion 6815

CPU: AMD turion 64 X2 @ 2 GHz

Memory: 3GB RAM; 160 GB HDD

GPU: nVidia Geforce 7150M (GARBAGE I know)

OS: Windows Vista (Worse than the "GPU")
User avatar
Kaizerwolf
Posts: 390
Joined: Tue Dec 25, 2007 4:37 pm

Postby Kaizerwolf » Sun Jun 21, 2009 1:50 am

Motion sensors would be kinda cool, sorta like a trip bomb. However, robots only really follow you around in the higher difficulties...

How about quad plasma? :P
What if, in 30 years, you're considered for the highest office in the land and get denied because some sneak found that misspelled post of yours about how "Nickledon" sucked and ruins your political career by exposing it?- poxpower
User avatar
Wasabi Master
Posts: 29
Joined: Mon Apr 06, 2009 4:05 pm
Location: Outside of known civilization.

Postby Wasabi Master » Sun Jun 21, 2009 5:03 pm

Good idea.

Maybe adding something that can control the characteristics that makes each weapon unique. Some of these can already be modified, namely the homing, bouncing, that blinding flash, the persistence the fusion has, and whether it's a mass or energy weapon.

However, the leveling up on the laser and the quad upgrade, the spread pattern of the spreadfire and helix, the lightning of the omega, the guiding part of the guided missile, and the shake the whole level that the earthshakers have, are unmodifiable.

I'm thinking that this improvement should allow the modder to have full access to all the weapon's stats, thus allowing for a gun that starts out just like the spreadfire, but as you level up the weapon (like you do the laser) it gets more bells and whistles. Take the following as an example:

level 1: 1 centered emitter firing a 3 bolt spread rotating 90 degrees with each shot
level 2: same as level 1 except the rotation is now at 45 degrees
level 3: same as level 2 except there are now 2 emitters placed at the wingtips and they rotate in opposite directions
level 4: same as level 3 except the rotation is now at 22.5 degrees
level 5: same as level 4 except there are 4 bolts in the spread
level 6: same as level 5 except there are 5 bolts

This weapon would gradually go from the spreadfire to a double helix cannon. Although a double helix would be kind of cool if it were implemented like the triple fusion, and the quad plasma could work the same way. hint, hint :lol:
Laptop specs: runs Supreme Commander ~5 fps

HP Pavillion 6815

CPU: AMD turion 64 X2 @ 2 GHz

Memory: 3GB RAM; 160 GB HDD

GPU: nVidia Geforce 7150M (GARBAGE I know)

OS: Windows Vista (Worse than the "GPU")
Sirius
Posts: 1990
Joined: Tue Sep 25, 2007 10:29 pm
Location: Bellevue, WA
Contact:

Postby Sirius » Sun Jun 21, 2009 7:36 pm

My thoughts on a double helix cannon: "hilariously overpowered".

Hence, if you do it, I'm going to want to see it.
Thraka
Posts: 50
Joined: Fri Apr 18, 2008 6:07 pm

Postby Thraka » Mon Jun 22, 2009 2:56 am

Another neat weapon would be a net\web kind of thing. You could shoot the wall, and maybe the other side of the wall and a web would appear. If a bot or other player ran through it, they would get tangled. Maybe the effect would be something close to the way they explode when killed. They spin wildly out of control and end up facing some other direction. During this time, engines and weapons are 'shorted' and cannot be used.
Sirius
Posts: 1990
Joined: Tue Sep 25, 2007 10:29 pm
Location: Bellevue, WA
Contact:

Postby Sirius » Mon Jun 22, 2009 3:47 pm

What if there's nothing behind the wall though?
User avatar
Weyrman
D2X-XL Expert
D2X-XL Expert
Posts: 579
Joined: Tue Sep 25, 2007 7:47 pm
Location: Brisbane Australia
Contact:

Postby Weyrman » Mon Jun 22, 2009 9:02 pm

I think he means the wall across from it. ie the wall on either side of the tunnel. :)
-SYSTEM SPECS-
MBoard:"GigaByte Z68X-UD3H-B3" Motherboard
CPU: Intel i7 E2600 3.40GHz
RAM: 8GB DDR3 2133MHZ
HD: WDC 10EARX 1TB SATA
Video: GigaByte 1G ATI 4890
Monitor: Asus VS428 LCD 24"
Sound: Onboard - now with connected 5.1 sound system
OS: Windows 7 x64 Home Premium
User avatar
Wasabi Master
Posts: 29
Joined: Mon Apr 06, 2009 4:05 pm
Location: Outside of known civilization.

Postby Wasabi Master » Sat Jun 27, 2009 12:25 am

I've been giving this some thought as to how it could be coded (hence the late reply). I think it can be done. Of course that's coming from a total newbie in the field of programming, let alone C/C++.

Personally, I'd like to toy around with d2x-xl's code and try out some ideas presented here, but I can't seem to get VC++ 2008 express to load the entire solution. It can't find "d2xgl.vcproj". I've looked around for this, and I know it's not in the source code for d2x as found on icculus.org. Please help.
Laptop specs: runs Supreme Commander ~5 fps

HP Pavillion 6815

CPU: AMD turion 64 X2 @ 2 GHz

Memory: 3GB RAM; 160 GB HDD

GPU: nVidia Geforce 7150M (GARBAGE I know)

OS: Windows Vista (Worse than the "GPU")
Sirius
Posts: 1990
Joined: Tue Sep 25, 2007 10:29 pm
Location: Bellevue, WA
Contact:

Postby Sirius » Sat Jun 27, 2009 4:19 am

It looks to me like that file is out of date. Try opening (root)\VisualC\d2x-xl.sln instead; you might have more luck.
User avatar
Wasabi Master
Posts: 29
Joined: Mon Apr 06, 2009 4:05 pm
Location: Outside of known civilization.

Postby Wasabi Master » Sat Jun 27, 2009 11:53 am

Didn't work. It's now asking for like 5 more files dealing with SDL and libogg/vorbis.

I found this thread http://www.descent2.de/forum/viewtopic.php?t=1018&sid=8a4beecf2f6c8ad5e783246d5958623e. I can't look at it now, but I will try to this afternoon. Unless some kind soul will look through it and write up a shorter version of how to set it up. :lol:
Laptop specs: runs Supreme Commander ~5 fps

HP Pavillion 6815

CPU: AMD turion 64 X2 @ 2 GHz

Memory: 3GB RAM; 160 GB HDD

GPU: nVidia Geforce 7150M (GARBAGE I know)

OS: Windows Vista (Worse than the "GPU")
User avatar
darkflamewolf
Posts: 690
Joined: Sat Aug 23, 2008 9:14 pm
Location: Minot, ND

Postby darkflamewolf » Sat Jun 27, 2009 7:58 pm

well you are free to look at the Lost Levels ham file that I made a long while back. I customized a lot of weapons back then and some were doing the ideas you were suggesting already.
User avatar
Wasabi Master
Posts: 29
Joined: Mon Apr 06, 2009 4:05 pm
Location: Outside of known civilization.

Postby Wasabi Master » Sun Jun 28, 2009 3:14 am

A few years ago I made my own HAM file mods. 3 plus some testers to be exact. Back then I wanted to get away from being bound to having just the fusion cannon be the only weapon that could be charged, and the earthshaker from shaking the whole level, among some other things...

I've looked what you've done, and it's a good mod utilizing a lot of the properties that can be modded. But please note, the ideas in this thread are for expanding the number of properties for a weapon.

My hope is this idea will contribute toward the whole "freescent" idea. I just hope that creating a new weapons database file for D2X-XL to use is a step in the right direction. To achieve that goal, I hope that the underlining concepts and beginnings to this new datatbase will be placed in D2X-XL's code. I will attempt to do it myself, but I'm a rusty newbie in the programming world. In the mean time, I will create a listing and post the properties that can be currently modified (with descriptions) as well as some ideas for properties that will allow weapons like what been suggested here (again with descriptions). I'll have to do that at another time though, cause it's time for bed. :P
Laptop specs: runs Supreme Commander ~5 fps

HP Pavillion 6815

CPU: AMD turion 64 X2 @ 2 GHz

Memory: 3GB RAM; 160 GB HDD

GPU: nVidia Geforce 7150M (GARBAGE I know)

OS: Windows Vista (Worse than the "GPU")
User avatar
Wasabi Master
Posts: 29
Joined: Mon Apr 06, 2009 4:05 pm
Location: Outside of known civilization.

Postby Wasabi Master » Sun Jun 28, 2009 11:04 pm

Ok, here are the lists that I said I would make. I apologize if the length if this post is too long.

Current database (listed in the order used in the ham file)

Render type: -1= nothing is rendered; 1= 2D still image; 2= 3D polymodel; 3= 2D animation
Persistent: 0= stops on hitting a robot/player; 1= doesn’t stop when it hits (like the fusion)
Outer model number: Outer polymodel identification number
Inner model number: used to create the multicolored lasers
Flash vclip: Muzzle flash animation
Robot hit vclip
Flash sound: Weapon firing sound
Wall hit vclip
Fire count: Number of projectiles emitted per shot (works well on the missiles)
Robot hit sound
Ammo usage: This is modified in game (the vulcan for instance is by default 1)
Weapon vclip: Animation clip for the weapon blob (i.e. the plasma ball)
Wall hit sound
Destroyable: Determines if this weapon can be shot down (I.e. the bombs)
Matter: 0= energy based (can bounce off force fields); 1= matter based
Bounce: 0 = none; 1= unlimited bounces; 2= 2 bounces only (i.e. phoenx)
Homing flag
Speedvar: Variance below top speed allowed (I haven’t tested this)
Flags: Don’t know of any use for this
Flash: Blinding factor (negative values make for some interesting results)
Afterburner size: Fake smoke trail the mercury and shaker missiles used
Children: Identification number for what gets spawned from this weapon
Energy usage
Fire wait: Delay between shots
Multi damage scale: Multiplayer damage reducing value (I haven‘t tested this)
Bitmap: Image used on render type 1
Blob vclip size
Flash vclip size
Impact vclip size
Strength: Damage of weapon defined by difficulty
Speed: Top speed defined by difficulty
Mass: The higher this is the more a robot gets knocked back (also works in reverse)
Drag: Slowing rate used in the bombs
Thrust: Opposite to drag I suppose (I haven‘t tested this)
Po_len_to_width_ratio: Polymodel length to width ratio(I‘m not sure if this is used)
Light: Amount of light cast
Lifetime: In seconds
Damage radius
Picture: According to the header files, the image displayed in the cockpit displays
Hires picture

Proposed additions (in no particular order :D )

Needs some form of identification for D2X-XL to determine which weapon slot this is bound to

Weapon slot: The hotkey that this weapon would be bound to.

A simple way of handling this would be using the number keys across the top of most keyboards as a start. So for the default weapons, 1 would be the laser. 2 the vulcan on through 10. Instead of 10 being the Mega, 0 would be it and 10 would be the Shaker. The idea is that 0-9 would be first set, 10-19 would be the second set. So 12 would be the Gauss and so on. This system could allow for more primaries than secondaries and vice versa. Also this could support up to 100 different weapons although I’d love to see anyone say (and mean it) that 100 weapons aren’t enough.

Level number: This would need to be in addition to the weapon slot.

Add to render type: 4= render as a lightning stream

Max ammo: Mostly used for missiles. -1= unlimited (for energy weapons); 0= use vulcan ammo
Number of children: I think the default is 6 or 7
Dissipate flag: Simple way to calculate: initial strength divided by lifetime = decay rate
Burning effect: I think like the square root of the strength, hit 5 times in 10 seconds
Freezing effect: Going to need some sort of visual cue for this. But missile damage would be increased on a frozen object and it would break the ice. A “missile” would need 2 qualifiers, matter weapon and have a damage radius. A vulcan round, matter but no damage radius, would just break the ice.
Electrocuting effect: Always damages a subsystem (critically perhaps?).
Decloaking effect: 0= no effect; anything more on a player would knock that many seconds off the cloak time. I personally was thinking that this could decloak a robot for the same amount of time.
Sniping mode flag: Sniping mode would like double the power of the weapon. The drawback would be about 1-2 second to zoom in or out and while zoomed in, you cannot move, but you can rotate.
Gun points used: Defined by gunpoint (there are 10 total on the pyro)
Chargeable: 0= not able to charge; 1= manual (fusion’s style); 2= auto (omega’s style); 3= auto with proportionate power (50% charge would mean ½ strength)
Charge sets lifetime: This is for setting the fuse length for a grenade not creating an overpower weapon that dissipates with time. Also this would disable the charge’s ability to increase strength.
Accuracy: 100= perfect aim; less would be like if your targeting was messed up.
Motion sensor flag: Rather than having to hit the weapon, it’ll blow when something passes within like ½ it’s damage radius
Spread flag: Whether shots will spread out as they move
Spread blob number: Up to like 8
Spread rotation rate: The Helix rotates a total of 16 times before it makes a complete revolution. 0 could be for random values that would be needed for a shotgun style weapon.
Level up flag: Upgradeable through a level system like the lasers
Number of levels: Top out at like 10 (mostly because of an internal element limit)
Spew casings flag: Render casings falling off your ship as the weapon fires.
Guidable flag: Act like a guided missile.
Shaking factor: 0= none; more increases the power; 100= level Tokyo with this
Lightning flag: Behave like the omega
Number of lightnings: Up to like 10
Laptop specs: runs Supreme Commander ~5 fps

HP Pavillion 6815

CPU: AMD turion 64 X2 @ 2 GHz

Memory: 3GB RAM; 160 GB HDD

GPU: nVidia Geforce 7150M (GARBAGE I know)

OS: Windows Vista (Worse than the "GPU")

Return to “General Discussions”

Who is online

Users browsing this forum: No registered users and 7 guests