HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Starfighter Map Ideas

03-09-2007, 05:06 AM#1
Dark.Revenant
I'm a little daunted by the task of making an arcade-like space-fighting map, as nobody has actually done it correctly before, but I'm willing to try.

Basically, the game would have a number of gametypes that include two teams. The first one to be made would be the classic Team Deathmatch. Oh, and everyone would use various space vehicles.

Before you start telling me how it's not going to work, let me explain. First off, arrow keys are my enemy, so I thought of a simple system that would completely obsolete arrow keys. Basically, each vehicle would have a turning score and a speed score. The speed score would be the maximum speed of the ship, and the turning score would be the speed at which the ship could turn. The ship would be controlled primarily by right clicks, with some simple guidelines:
1. The distance from the ship to where you click is how fast the ship will move.
2. The ship will constantly turn as fast as it can until it is pointing in the direction of where you clicked.
3. The ship will keep moving indefinitely unless the stop command is deliberately pressed.
I have yet to decide whether or not I should bother adding gradual acceleration, as the effect would be pretty negligible. It would also be more of a bother than a feature IMO.

The players would be able to freely choose from a various, but relatively small (5-6 ships) selection of vessels to use whenever they are near their base, and outfit them as they please. The outfits would not be free, unlike the ships themselves. Each ship, however, would have a weight/space limit to what weapons can be put on it, as each ship would have all six items slots unlocked. I would use lumber as the current free allocation space so that it would be easier for the player to gauge their space. The location of the weapon on the item card would decide where it would fire from and in which direction. For example, weapons placed in the top two spaces would fire directly forward, while an item on the left middle slot would fire from the port side of the ship. With this system, I would be free to vary the weapons widely while retaining good balance.

The weapons would also have an auto-regenerating charge limit, so that the player will have to "cool down" when firing a large volley and to prevent spamming.

Do you guys have any suggestions or warnings for me before I get too far into the map? I would like to know, because I am sort of worried that nobody has done this type of map before...


I have another question, though... If I have an action that goes like this: (This is freehand without World Editor - no copy/paste)
Trigger:
Set TempGroupA = All units of type Torpedo Projectile.
Collapse Unit Group - Pick every unit in TempGroupA and do (actions).
Collapse Actions
Unit - Move (Picked Unit) instantly to ((Position of (Picked Unit)) offset by 8.00 toward (Facing of (Picked Unit)) degrees).
Custom Script - Remove group udg_TempGroupA

And the unit "Torpedo Projectile" had the ability "Locust", would the trigger work properly? If not, how would I make it work properly?
03-09-2007, 05:12 AM#2
Pyrogasm
Quote:
Originally Posted by Dark.Revenant
I have another question, though... If I have an action that goes like this: (This is freehand without World Editor - no copy/paste)
Trigger:
Set TempGroupA = All units of type Torpedo Projectile.
Collapse Unit Group - Pick every unit in TempGroupA and do (actions).
Collapse Actions
Unit - Move (Picked Unit) instantly to ((Position of (Picked Unit)) offset by 8.00 toward (Facing of (Picked Unit)) degrees).
Custom Script - Remove group udg_TempGroupA

And the unit "Torpedo Projectile" had the ability "Locust", would the trigger work properly? If not, how would I make it work properly?
No, that would not work. You would have to add the "Torpedo Projectiles" to a group when they are created, and then loop through that group.
03-09-2007, 10:39 PM#3
Ammorth
That would work... but it would kill your map within a few minutes of running it from all the leaks.
03-09-2007, 10:54 PM#4
Dark.Revenant
Interesting... (+rep)

In that case, how would this action work (same specifics as before):
Trigger:
Unit Group - Pick every unit in (AllProjectilcesGroup) and do (actions).
Collapse Actions
Set TempGroupA = Units within 100.00 of (Picked Unit).
Collapse If (conditions) then do (actions) else do (actions).
Collapse Conditions (If)
Number of units in (TempGroupA) matching (Matching Unit) is in (AllPlayerShipsGroup)) is greater than or equal to one.
Collapse Actions (Then)
Unit - Do <Insert Stuff Here> to (every unit in (TempGroupA)).
Collapse Actions (Else)
Do Nothing
Custom Script - Remove group udg_TempGroupA

I know how to remove leaks quickly and efficiently. This is freehand typing so I don't want to bother typing EVERYTHING out.
03-09-2007, 11:23 PM#5
grim001
It sounds like this map could really benefit from my physics engine...

If you send me an IM (name is Ayck) I'll tell you about it.
03-09-2007, 11:38 PM#6
Ammorth
I would suggest writing your movement triggers in JASS as it will clear up leaks and improve performance greatly.
03-10-2007, 12:24 AM#7
Dark.Revenant
I cant do either of your suggestions without handing over the map completely, as I do not know JASS, nor will I learn (due to a lack of time). I am a good designer, but I don't "have it all" in terms of actually completing the map that I planned.
03-10-2007, 12:40 AM#8
Ammorth
I can write you a quick script if you want me to. Tell me what you want, the variables you have, and Ill write it in JASS.
03-10-2007, 03:08 AM#9
botanic
if the farther you click the faster you move then why not just always click far away then when you get closer use the slower close click? if that is what you want that is fine. Also tho it might be easier just to make a "faster" and "slower " ability that increases/decreases your movespeed.
03-10-2007, 05:43 AM#10
Ammorth
I think the best approach would be to click where you want the ship to end up and it will accelerate and decelerate appropriately to reach it's destination in optimal time. Sorta like the game Nexus.
03-10-2007, 03:43 PM#11
Dark.Revenant
That way would also be difficult to do an effective mobile deathmatch in. The whole design of the game practically requires the players to keep moving (you can fire while moving) and shoot either at the enemy or where you think the enemy will be in two seconds. This makes things like turning speed important because a ship that can turn faster than another ship will end up being shot less than that other ship.

I appreciate your offer to do the scripts for me, but it might be redundant because I will undoubtedly want to change it sometime in the future. However, I would love a place to start. I don't care which variables you use, as long as you tell me what they are when you finish. The specifics are in a nutshell:

• Allow the system to be entirely variable-based. I would appreciate it if you could make as many variables as possible have an array size of 12 so that I can give one to each player. Also, if at all possible, make the system expandable so I can give the two homing weapons a gradual turn rather than a sharp change of direction when they move.
• Speaking of projectiles, I would like you to code-in a way to let the projectiles move in a straight line in the direction of its facing. Perhaps you should call for all units in a single non-arrayed group of projectiles. Give a 20-spaced array variable for the speed of the weapon, and code it so that I merely have to change the variable in GUI to make the weapon faster or slower. All speeds should be in units per second.
• This next part is very important. If the projectile has the classification "suicidal", then that projectile is a freefall projectile. Freefall projectiles will have a starting speed based off its weapon speed in the big speed variable, but the weapon will automatically have the ship's CURRENT VELOCITY added to it. The best way to do this would probably be making a custom value for the projectile. This will be easy to do for front and back facing weapons, but the side-facing weapons will be slightly tricky. Perhaps you should use trigonometry and make a special custom value and change the facing angle of the projectile when it is spawned.
• If you can, please code the click commands and make the commands happen from a far-away unit that the player has selected rather than the ship. Add a variable for that unit and add two arrayed variables that I can put the "distance-from-ship-to-click" divisor in and put the "max speed" in. This is because I will have six ships that all have a different max speed.
• If you want to, let the ships accelerate. You don't have to, but it would look nicer if you did. For simplicity I will request that if you do, please let all the ships accelerate at the same rate of 80 units per second per second.
• The ships absolutely HAVE TO "bank" when turning. Unless the ship is stopped, the ship absolutely must make a gradual turn. The turning speed in degrees per second should be in an arrayed variable.
• Please add a system that allows homing weapons. Homing weapons should have the classification of undead, so factor that in. They will always home in to the closest enemy ship from the projectile.
• Allow it to be a stand-alone system. I would like to expect that if I artificially create a unit facing the direction in which it will fire in GUI and add it to the master projectiles unit group, it will start moving in the expected direction. I also would like to not have to touch your JASS script. I am JASS illiterate, so I would be stuck without such a variables list.
• Please tell me how your system works and what all the variables you made do. I can't tell what it does by looking at it, no more so than if I look at a paragraph written in Russian and can't tell what it is saying.

If you make a system for my map, I will be very thankful and will promptly put you in the credits. If you don't, I will understand, and I will try to make a clunky GUI version of the system I outlined.
03-10-2007, 06:20 PM#12
grim001
The system you want is my physics engine, but it's 80% done and you need JASS (or at least custom script) and Gimoire or WEHelper to use it. Contact me (AIM SN: Ayck) if you want, but I don't expect anyone is going to create such a complex system specifically for you, they might as well make the entire map on their own.
03-10-2007, 07:11 PM#13
Dark.Revenant
Quote:
Originally Posted by grim001
The system you want is my physics engine, but it's 80% done and you need ... Gimoire or WEHelper to use it.

I am on a power Mac (2x G4 processors), so I can't run Windows programs. I will just do this in GUI unless someone want to co-create the map with me.
03-10-2007, 07:50 PM#14
Ammorth
I don't mind doing math calculations and stuff and I'll see what I can do.

If I do finish it, I will make it as user-friendly as possible (GUI input).

Bank while turning is something that the models you use will have to do. Turning will be gradual and able to be changed, depending on the ship.

Trig is not a problem for me, so your missile functions should be simple enough.

I'm not going to commit to it right away, but if I get a chance, I'll start working on it.
03-11-2007, 04:03 AM#15
Dark.Revenant
Quote:
Originally Posted by Ammorth
Bank while turning is something that the models you use will have to do. Turning will be gradual and able to be changed, depending on the ship.
What I meant by banking is gradual turning. Obviously, there would be no practical need to have a ship tilt on the fuselage axis if it's in space, so I by no means would ask that of you.

Quote:
Trig is not a problem for me, so your missile functions should be simple enough.
I'm also great at trig, but all the trig I've tried in GUI hasn't worked so far...

Quote:
I'm not going to commit to it right away, but if I get a chance, I'll start working on it.
Thank you very very much! Even a rough working model would be quite helpful, as my attempt at GUI works in theory, but NOT in practice.