Cool Nova Hacks

@coraxus, on Nov 23 2007, 05:15 PM, said in Cool Nova Hacks:

Realistic bays like the super carrier usually houses all kinds of fighters. I assume the reason why EV has to have certain kind of bays for each fighter is due to the limit of the game engine at one time. But with Nova, you can now have one bay that houses all kinds of fighters. First, create a bay, and in the onpurchase bit field, grant invisible 0 ton bays that pertains to various fighters. Finally, to really limit the number of fighters one can have, you can add a ton or two on the fighters themselves.

Not to toot my own horn, but this was solved while trying to create a system to swap fighter loadouts.

As already stated, launching a fighter does indeed free up mass allowing you to purchase indefinitely.
The solution is to have multiple bays that carry one fighter each, and buying a fighter actually buys the fighter and its bay. Replacing a destroyed fighter becomes a bit sticky, but doable. (Requires a outfit that scraps allocated fighter space that belongs to a dead fighter)
The main difficulty was preventing exploitation, and so the solution got a bit complex. It's not what you would call light-weight, but not outrageous either.

Briefly, this method allowed the following:

  1. a way have all your different fighters fit in one large bay.
  2. a way to hold fighters based on fighter mass, not an arbitrary fixed bay size. And also prevents abuse by launching fighters to free up mass.
  3. a way to change the weapon loadouts of fighters in your bay, to perform different combat roles.
  4. ability to introduce prerequisites to make certain fighter or loadouts available or not. (Bay upgrades, certain weapons on hand, etc.)

Original discussion here.

Actually, point 2 is out of date. Fighters can be held based on mass AND a max number of fighters per particular bay type, if desired.
So you could do it where the bay can accommodate as many fighters as your ship can carry, in addition to makeing different bay sizes.
Such as, a minimal bay that can hold two fighters of any (or particular) types. Or a large bay that can hold up to ten fighters, etc. You can mix and match bays to increase your max.

Note: I have to update where the samples are hosted as the old spot is defunct.
I might make a new example as I seem to recall my final implementation was a bit more streamlined and advanced than the sample plug.

Couldn't you set the bay to have multiple ammo types so that it launches multiple types of fighters at the same time? Then you could set the reload to be low enough that it simulates multiple bays all launching at the same time.

@gavin83209, on Mar 9 2008, 04:42 PM, said in Cool Nova Hacks:

Couldn't you set the bay to have multiple ammo types so that it launches multiple types of fighters at the same time? Then you could set the reload to be low enough that it simulates multiple bays all launching at the same time.

No.

@jacabyte, on May 23 2007, 06:39 PM, said in Cool Nova Hacks:

I'm wondering if it's possible to have weapons pass through ships, causing damage as they go through, have them come out the other side and go through more ships, basically causing damage to or destroying multiple ships with one shot. Anybody who has played Ares should know what I'm talking about.

I think I found a way to make this possible.

First, you'll want a shot that subs into itself fairly rapidly. (This will depend on how often you want to apply damage)
Then, you want the shot to explode at the end of each stage as it subs. Use blast radius to inflict damage. Range will be the product of count and how many recursive subs are allowed.

The key is to make the weapon sprite with a blank mask (all black). With no active mask area, the shot can't hit anything.
Since it can't hit anything, nothing will prevent the subs from repeatedly firing.

However, since the shot 'technicaly' doesn't impact the enemies you're going to have to jump through some hoops to make sure they know they are being attacked.
You'll need to make it a guided munition, 0 turning if you don't want it to turn. And you'll need to make it a turret to require the player to target something to shoot. Otherwise they can fire the guided shot 'dumb' and cause the enemies to not react.
So, you'll need an initial weap to be turreted, that subs after 1 frame into the main homing weap that subs into itself.

Also, since the shot will be invisible, you'll need to use smoke or particles to show where it is.

That said, there are a number of cool effects that come to mind using this technique.
You can have a weapon trace out specific patterns, damaging everything in its path. Generate different area effects, or even a ring around your ship.

@desprez, on Mar 23 2008, 05:41 AM, said in Cool Nova Hacks:

I think I found a way to make this possible.

First, you'll want a shot that subs into itself fairly rapidly. (This will depend on how often you want to apply damage)
Then, you want the shot to explode at the end of each stage as it subs. Use blast radius to inflict damage. Range will be the product of count and how many recursive subs are allowed.

The key is to make the weapon sprite with a blank mask (all black). With no active mask area, the shot can't hit anything.
Since it can't hit anything, nothing will prevent the subs from repeatedly firing.

However, since the shot 'technicaly' doesn't impact the enemies you're going to have to jump through some hoops to make sure they know they are being attacked.
You'll need to make it a guided munition, 0 turning if you don't want it to turn. And you'll need to make it a turret to require the player to target something to shoot. Otherwise they can fire the guided shot 'dumb' and cause the enemies to not react.
So, you'll need an initial weap to be turreted, that subs after 1 frame into the main homing weap that subs into itself.

Also, since the shot will be invisible, you'll need to use smoke or particles to show where it is.

That said, there are a number of cool effects that come to mind using this technique.
You can have a weapon trace out specific patterns, damaging everything in its path. Generate different area effects, or even a ring around your ship.

:blink: By God, I think that just might work...

But there's just a few things, if the shot is a guided munition, won't PD turrets fire upon it and their shots pass straight through it? Also, during the shot's flight, it will be exploding in mid space before it strikes the ship. But still, I like the idea.

When I scrap up the spare time to toy with this new idea, I'm going to have the player ship fire a shot that can be seen on the screen. Once that initial shot hits the target, it'll submunition into an invisible shot that behaves just as you described. For now, it'll just travel in a straight line, but I might toy with the idea of having it "circle around" for another blow.

@jacabyte, on Mar 27 2008, 02:44 AM, said in Cool Nova Hacks:

:blink: By God, I think that just might work...

But there's just a few things, if the shot is a guided munition, won't PD turrets fire upon it and their shots pass straight through it? Also, during the shot's flight, it will be exploding in mid space before it strikes the ship. But still, I like the idea.

When I scrap up the spare time to toy with this new idea, I'm going to have the player ship fire a shot that can be seen on the screen. Once that initial shot hits the target, it'll submunition into an invisible shot that behaves just as you described. For now, it'll just travel in a straight line, but I might toy with the idea of having it "circle around" for another blow.

First, the visible shot must NOT make contact with the ship. Make prox bigger than (shot speed + max target speed) / 100
Second, make the homing reound immune to PD, that way PD won't fire.
Third, you can make it not detonate at end of life, only via prox (probably need at least a count of 2)
Also, making a visible shot might eliminate some of the non-mask aggro problems. This area needs some testing.

May be Windows dependent:
a bug with the way invalid characters are handled in descs. See the characters marked "error" here. They wouldn't cause a crash, but instead replaced the rest of the text with something pulled out of memory - I recognized a few Strings that the game uses, both from STR# 130 and from the pilot (it looked like Glory, part of my ship name - I was using the default names to get test all those characters)

Ramming weapons.
(Triggered weapons, that is. i.e. You choose to ram, as opposed to always running into stuff)

While ramming weapons work fine, they need a few tricks to get the AI to use them properly.

  1. The AI tends to fire them late, missing most opportunities to inflict damage.
    To fix this, have the weapon sub into an invisible, damage-less weap with a range of 40-ish. This makes the AI fire early.

  2. The AI cannot mine effectively with 0 range weapons and the above doesn't fix this. The reason is that the AI 'latches-on' to a position roughly 100 pixels from the asteroid it is trying to mine, and refuses to budge. (And blast radius will not help)
    Give the weapon some negative recoil to counter-act the positioning routine. When trying this, I originally though I was going to have to use two 'mining drills', one for the AI and one for the player. This is un-needed because the player is not affected by negative recoil. (Strangely, the AI will fire the ramming weapon early in mining scenarios even without the subs for extra range trick.)

I might also add, that this is one of the few cases where the AI being affected by negative recoil and the player being immune is actually useful.

EDIT: As it turns out, testing seems to have revealed that the distance the AI wants to be from the asteroid before it will fire at it is controlled by the ships turn rate field, and has nothing to do with weapon range.
At turning 100, the AI has to be dead center of the asteroid before it will fire, and out to 150 pixels range as turn rate decreases to 5. Above 100 turning = fail.
So I guess the negative recoil is useful when you don't want to change the ships turning speed.

This post has been edited by Desprez : 19 September 2009 - 12:08 AM

QUOTE (Desprez @ Mar 23 2008, 11:41 AM) <{POST_SNAPBACK}>

I think I found a way to make this possible.

First, you'll want a shot that subs into itself fairly rapidly. (This will depend on how often you want to apply damage)
Then, you want the shot to explode at the end of each stage as it subs. Use blast radius to inflict damage. Range will be the product of count and how many recursive subs are allowed.

The key is to make the weapon sprite with a blank mask (all black). With no active mask area, the shot can't hit anything.
Since it can't hit anything, nothing will prevent the subs from repeatedly firing.

However, since the shot 'technicaly' doesn't impact the enemies you're going to have to jump through some hoops to make sure they know they are being attacked.
You'll need to make it a guided munition, 0 turning if you don't want it to turn. And you'll need to make it a turret to require the player to target something to shoot. Otherwise they can fire the guided shot 'dumb' and cause the enemies to not react.
So, you'll need an initial weap to be turreted, that subs after 1 frame into the main homing weap that subs into itself.

Also, since the shot will be invisible, you'll need to use smoke or particles to show where it is.

That said, there are a number of cool effects that come to mind using this technique.
You can have a weapon trace out specific patterns, damaging everything in its path. Generate different area effects, or even a ring around your ship.

The discussion about this is very old, but it turns out you don't need to use a 'mask-less' weapon sprite. Prox Saftey works just fine to make the shot pass through stuff. Related, with regards to asteroids, you can make the the shot damage (and not pass through) asteroids, or pass through them (and not damage them) but not both.

How to give ships very high top speed, yet let them jump into the system at a slower speed.

A number of people have mentioned the ridiculousness of "top speeds" in space. This has lead to the concept of TCs built with every ship having an insanely high top speed, say, 2000. The biggest problem with this has been hyperspace; whenever you jump into a system, you enter going at your top speed - so ships like the Leviathan blow past the system center and spend a long time turning around.

Quick version:
Cron to start a mission every day, and give player an outfit.
Outfit: top speed reducer, inertial dampener
Mission: destroy a "timer ship" - invisible, 0 armor, death delay 60, remove outfit and abort itself onshipdone

Long version:
Cron: 0 pre and 0 post holdoff, on start g128 s128 (give outfit 128, start mission 128)
Dude: timer ship
ship: timer ship: invisible, 0 armor, death delay 60 (for 2 seconds. Adjust to taste, but I've found it works better above 10 frames)
mission 128: Remove jump speed reducer - ship count 1, ship system -6 (wherever you are), Timer ship dude, goal: destroy all ships
On ship done: d128, a128 (destroy the outfit, abort the mission)
outf: jump speed reducer: speed mod -1500 (adjust to taste), and inertial dampener.

That last bit seems to be very important. When you jump in, your ship decelerates from 2000 to whatever, and depending on your settings, drifts a bit to the right or left. The effect isn't half bad, actually.

I've attached an example plug, coded in Windows. In it, the Shuttle is modified to have very high speed. Mac users will have to convert. Compressed with Stuff-it, .zip format. Alternatively, you can download it uncompressed here: http://www.megaupload.com/?d=H3643WUQ

Enjoy!

EDIT: Qaanol pointed out that Mac Nova also requires a shan, so the example plug will crash without one. Also, he found a way to achieve this without the cron. {Link}

Attached File(s)

This post has been edited by n64mon : 20 February 2010 - 12:17 AM

I was bored, so I went through this topic and collected all links which have been posted since the last edit of the first post. Can a mod please add the following to the initial post?

Quote

Changing the size of Mac Nova's windowed mode
Changing WinNova's font
Using a weapon to allow an inertialess ship to fly sideways. Also, retrothrusters and variable-thrust afterburners
Exceeding hardcoded nova resource limits
Configurable carried fighters and limiting fighter capacity by mass. Also preventing the "launch and buy more fighters" bug.
Holding extra ammunition in the cargo bay
Visibly rotating turrets
Multi-Oxxx NCB tests
Single use time-limited outfits and in-space "powerups"
Invisible spobs
Flying backwards, alternate method
Flying a carried escort, then docking and switching back to the original ship
Turrets with both PD and active modes, "pulse" offensive shields, changing missile behaviour with both launchers and ammunition type
Notes on rotating syst resources
In-flight adjustment of ship characteristics

Note: Any cool nova hacks which were posted in this thread directly, rather than their own topic, are not linked in this post.

Done. I've also hidden various posts along the way that were part of the discussion ongoing at the time, but didn't actually contain any Cool Nova Hacks.