- Joined
- Apr 9, 2004
- Messages
- 502
It's not often that i'll ask but i figure JASS is the only way to make the system i'm requiring for an upcoming project.
Here's the basic outline:
I'm going to attempt to make a full 3d map. It's going to be like a hero arena, but the difference is that all heroes are aircraft. Basically you control one of X amounts of aircraft available to all players. Each aircraft have an attack ability, a defensive mechanism and a special attack ability. Now here's where it gets interesting. In this map, aircraft don't move simply in 2 dimensions, height will become just as equal a factor as the x/t directions on the 2d plain. As such, aircraft will be fighting in a full 3d arena, a small cubelike area in which they duel each other. As such, a custom engine is required since they don't have a way to determing collision based on height as of yet. Also, missiles and othetr things will also travel in 3d, meaning i'll need a custom engine for detecting 3d collision.
Now this is where the JASSing comes in. Since we can have up to 12 players playing, that's a lot of projectiles traveling at one time, and i need a way to keep track of them all. I'm assusming this can be done in JASS with use of locals because each missile and moving object have many custom values; here's a list:
Allows the missiles to have customized and tirggered:
-Speed
-Damage
-Angle deviation (meaning the degree to which the missile will shoot off course when fired)
-Max travel distance
-Sphere of detection
-Max angle change rate
-"Homing sphere" (determines how far away they have to be before they will track an aircraft
-Speed loss (this is affected by various things for each aircraft; some missiles lose speed while homing, some lose it as they travel a distance, and some under other circumstances)
-If they home onto a target, the missiles each need a variable to track and store that target, less it be redefined
-Missiles must also lose sight of a tracked target if that target goes outside their "Homing sphere"
I also need an engine that keeps track of aircraft statistics all of which are:
Speed
-Health
-Armor
-Angle change rate (determines how fast they can change directions)
Other miscelanious stuff to consider:
-Buffs affecting:
-aircraft speed
-aircraft control
-aircraft life
-aircraft armor
-etc.
Just to give you an idea, here's an example of a possible flying unit:
Dwarven Gyrocopter:
Health: 325
Armor Value: 5 (max 9, min 0) Each point of armor will reduce the damage dealt by 5%
Speed: 550
Turning acceleration rate: 0.01 increase/.01 seconds
Max turning rate: Max: 0.45 degrees/.01 seconds. (this means how quickly the aircraft will turn)
Regular Attack: Gatling Gun: 15 damage; 600 missile distance; .10 second attack cooldown, 2000 Speed (0 speed loss); up to 15 degree missile deviancy (meaning that it can be off from where you're facing by up to 15 degrees); 0 Homing detection; 50 missile detection sphere; 0 damage radius.
Attack Sideffect: Each time the aircraft is hit, makes it harder to maneuver, lowering thr maximum turn rate by 20% (this means the aircraft will turn and raise/lower 20% slower, making it harder to evade. Effect lasts 5 seconds.
Special attack: Homing Mortar: 100 direct + 45 radius damage; 3000 missile distance; 40 second attack cooldown, 750 Speed (loses 200 speed when homing); up to 0 degree missile deviancy; 300 Homing detection; 135 missile detection sphere. 500 damage radius.
Special sideffect: Pierces through armor boosting effects and deals full dmaage to first target, regular fire dmaage to all targets in range.
Now i have the basic math down for the movement, but i need an experienced JASSer to render it multiinstanceable. If anyone has any drive or want to help out, please send me a pm. For those of you who wish to see my current work in progress, check out my submitted maps. it has the basic movement function and works right now with firing 1 missile at a time.
Here's the basic outline:
I'm going to attempt to make a full 3d map. It's going to be like a hero arena, but the difference is that all heroes are aircraft. Basically you control one of X amounts of aircraft available to all players. Each aircraft have an attack ability, a defensive mechanism and a special attack ability. Now here's where it gets interesting. In this map, aircraft don't move simply in 2 dimensions, height will become just as equal a factor as the x/t directions on the 2d plain. As such, aircraft will be fighting in a full 3d arena, a small cubelike area in which they duel each other. As such, a custom engine is required since they don't have a way to determing collision based on height as of yet. Also, missiles and othetr things will also travel in 3d, meaning i'll need a custom engine for detecting 3d collision.
Now this is where the JASSing comes in. Since we can have up to 12 players playing, that's a lot of projectiles traveling at one time, and i need a way to keep track of them all. I'm assusming this can be done in JASS with use of locals because each missile and moving object have many custom values; here's a list:
Allows the missiles to have customized and tirggered:
-Speed
-Damage
-Angle deviation (meaning the degree to which the missile will shoot off course when fired)
-Max travel distance
-Sphere of detection
-Max angle change rate
-"Homing sphere" (determines how far away they have to be before they will track an aircraft
-Speed loss (this is affected by various things for each aircraft; some missiles lose speed while homing, some lose it as they travel a distance, and some under other circumstances)
-If they home onto a target, the missiles each need a variable to track and store that target, less it be redefined
-Missiles must also lose sight of a tracked target if that target goes outside their "Homing sphere"
I also need an engine that keeps track of aircraft statistics all of which are:
Speed
-Health
-Armor
-Angle change rate (determines how fast they can change directions)
Other miscelanious stuff to consider:
-Buffs affecting:
-aircraft speed
-aircraft control
-aircraft life
-aircraft armor
-etc.
Just to give you an idea, here's an example of a possible flying unit:
Dwarven Gyrocopter:
Health: 325
Armor Value: 5 (max 9, min 0) Each point of armor will reduce the damage dealt by 5%
Speed: 550
Turning acceleration rate: 0.01 increase/.01 seconds
Max turning rate: Max: 0.45 degrees/.01 seconds. (this means how quickly the aircraft will turn)
Regular Attack: Gatling Gun: 15 damage; 600 missile distance; .10 second attack cooldown, 2000 Speed (0 speed loss); up to 15 degree missile deviancy (meaning that it can be off from where you're facing by up to 15 degrees); 0 Homing detection; 50 missile detection sphere; 0 damage radius.
Attack Sideffect: Each time the aircraft is hit, makes it harder to maneuver, lowering thr maximum turn rate by 20% (this means the aircraft will turn and raise/lower 20% slower, making it harder to evade. Effect lasts 5 seconds.
Special attack: Homing Mortar: 100 direct + 45 radius damage; 3000 missile distance; 40 second attack cooldown, 750 Speed (loses 200 speed when homing); up to 0 degree missile deviancy; 300 Homing detection; 135 missile detection sphere. 500 damage radius.
Special sideffect: Pierces through armor boosting effects and deals full dmaage to first target, regular fire dmaage to all targets in range.
Now i have the basic math down for the movement, but i need an experienced JASSer to render it multiinstanceable. If anyone has any drive or want to help out, please send me a pm. For those of you who wish to see my current work in progress, check out my submitted maps. it has the basic movement function and works right now with firing 1 missile at a time.