• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Void's Project -- NEED EXPERIENCED CODERS

Status
Not open for further replies.
Level 36
Joined
Jul 1, 2007
Messages
6,677
THE VOID:
by VOID.

So, I'm back, and I'm making a map that I actually plan on finishing. For this to be accomplished, I need to make sure I have all the systems I need working. So like, I need some experienced coders to make systems for my project. By experienced, I mean really experienced (1+ years) working with jass/vjass in WC3 and as much experience as you can really have at this point in the SC2 beta. If you want to help, you should read the rest of this post describing the project and the systems I require, and make sure you can actually make them, and then PM me or reply in this thread with links to systems/maps you have coded before and a brief description of your coding experience. Chances are, I'll know who you are and be able to make the judgment right then and there, but I've been gone for a year so who knows.

Anyways, before I outline my project, let me give you some background (if you don't know me) to prove that I actually know what I'm doing. I've been modding WC3 since '07, here at Hive and at WC3C. I'm primarily a terrainer, and a pretty damn good one at that; I've won a few contests here, judged a million, and was terrain moderator before I left. I have a gallery in the terrain forum for those who care to see it. I also did the complete terrain remake for Karawasa's Element TD 4.0/4.1. Basically, all that's just to guarantee that, with fluid systems and some sexy models, this map WILL be kickass.

Now, for the map itself:
This will be a 3rd-person shooter map in which you pilot one of four ships in a city. I plan on creating a futuristic, "dance-themed" atmosphere, and I have a set of appropriate music chosen already. This map will be fast-paced, action-filled, with tons of explosions. The gameplay will be 2-12 player free-for-all, and the object of the game is to kill a certain amount of opponents. It's a fairly simple concept, it will be well-made, and the complexity will (like any other shooter) come not from the gameplay itself but from the strategy.

I will be in need of several systems, so I'll just list them here. Before you read, please note:

  • Variables such as X, Y, Z etc are obviously not the same X, Y, and Z each time I use them, unless I use them in the same sentence/bullet point w/e. The reason I put variables is because I really want to emphasize that, for balance reasons, the numbers for each system should be EASILY CUSTOMIZABLE BY A CODING NOOB LIKE ME.
  • Please make use of comments, put the constants at the beginning, etc. I have very little experience with coding, and I'll have a lot of trouble tweaking your system if I don't know what does what.
  • BE INTUITIVE. I'm not spelling out everything I expect in the descriptions below, they're just there to give you a more or less detailed idea of what I'm looking for. Please try your best to make the interface fluid and user-friendly.
  • All systems will be made on a single map which I will then copy everything onto the map that has my terrain on it (which I haven't finished).

This would be a fairly simple system that will loop a playlist of about 8 imported songs on "shuffle" while you play the game. When your ship dies, the music should stop, and restart on a new song when you respawn. The music can also be turned off by typing "-music off" in chat, and "-music on" to turn it back on.

Since the music stops when a player dies, it should be designed to play separately for each player, so it isn't stopping and starting all the time. Likewise, when a player turns the music off, it will only turn it off for that player.

The music also stops at the end of each round.


This system will track kills and put them on a scoreboard. When a player gets (n-1)*3 kills where n = the number of players in the game, that player wins the round.

This system will also bring up a menu to change ships when you die, and also respawn your ship after 10 seconds.

There will be a 30 second delay before the game starts, during which players will be able to choose which ship they want to play as. The selection menu should give some details about each ship's special abilities.

There will be 4 ships:
Terminator, Annihilator, Incinerator and Seeker.


This will be the movement system for each player's ship. Controls will be bound to the arrow-keys and the left-side of the keyboard.

Up Arrow = Accelerate* forward velocity at X units/sec2
Down Arrow = Accelerate* forward velocity at -X/2 units/sec2
Right Arrow = Turn right at Y deg/sec
Left Arrow = Turn left at Y deg/sec
Q = Accelerate* vertical velocity at Z units/sec2
C = Accelerate* vertical velocity at -Z units/sec2

*Accelerate does NOT mean go forward. If you don't know what acceleration is or how to code it, don't bother trying to make this system.

Spacebar = "Warp" button, increases forward velocity dramatically for a second or two. You know what to do. (see energy system for something else about warping)

Each ship should have separate, customizable acceleration rates, maximum velocities and turn rates.


This will just be a simple camera that will follow your ship as you move, and turn when you turn your ship. Basically like any other 3rd-person camera, but make sure it's done as nicely as possible. I don't want a crude camera system. The camera movement should be fluid and smooth.

Another thing: When you get closer to the ground, the camera should level out to become (eventually) parallel to the ground. I need it to be that way because I will be having tunnels on the map.


This one's relatively simple. You crash into another ship, you blow up. You crash into the ground, you blow up. You crash into a building, you blow up.

The last one's the most complicated; I need a pseudo-3D-pathing system which will allow me to create sexy looking buildings that you can crash into, but they will also have tunnels and such through them, so I don't want you blowing up unless you actually hit something solid, and likewise I don't want you going through walls.


Each ship has X shield and Y HP. Shields should regenerate after you've avoided damage for Z seconds.

Projectiles should move at a base velocity of X with an acceleration rate of Y (this will probably be negative) and will have infinite range (unless they hit something). Obviously, they come out of the front of the ship. Projectiles should also have a collision radius to determine... collisions... and that should be Z.

W = Shoot a plasma cannon in front of you. This shot does 1 damage to any enemy ship it hits. Cooldown = X seconds, holding down W will fire a shot every X seconds.
E = Drop a bomb on the ground that will blow up anything in a column above it after an X second delay (does >9000 damage). Cooldown = Y seconds.
R = Use your ship's special power.

Each ship will have 100 energy points ("ammo") and will regenerate 10 every second. Firing a normal shot will take 10 energy points. Warping costs 30 energy.

Special powers:
Annihilator -- Hold down R to fire your laz0r in front of you, doing X damage per second to enemies in its path. Costs Y energy per second and disables other abilities until you release R. Cancels when you run out of energy.
Terminator -- Every 3 seconds, your next shot will turn into a mega shot that has X times the collision radius and does Y damage. (passive)
Incinerator -- Press R to shoot a cone of flame in front of you that does X damage to any enemy in Y range in front of you (CONE SHAPED, like cone of cold in WoW). Costs Z energy.
Seeker -- Press R to fire a homing rocket that will follow the nearest ship in front of you (can be dodged, think missile pods in halo 3) and do X damage. Costs Y energy.



That's all for now, until I think of more, or someone tells me I need something more. If you're interested in coding, send me a PM or post here.

its not actually called the void, durr, idk what to call this thing
 
Last edited:
Level 36
Joined
Jul 1, 2007
Messages
6,677
That might be nice. All I would want on the interface would be a scoreboard and, I guess, some buttons like that.

God, I really need to find some tutorials though... I haven't even figured out how to make the unit I want yet xD

The terrain's coming along nicely, though.. that's one thing I can still do rofl
 
Level 36
Joined
Jul 1, 2007
Messages
6,677
I actually need a couple models... so if anyone could make me:

A cube. No texture (white), so I can tint it any color I want.
A cylinder, same as above.
A semi-transparent cube that I can tint, also should have a slight glow effect on it.

The entire terrain will be made out of these.
 
Level 8
Joined
Jun 20, 2004
Messages
229
Reading through your OP, it looks like you have this pretty well planned out, but you should keep in mind that anything involving Keys/Mouse/Camera may not work well online for some time if at all. It is still just a BETA, but for the moment simply hosting a map involving anything that may require key detection as well as mouse detection and in some parts camera smoothness runs VERY different once online even as the host with no other players present. There is simply something not right with the way code runs differently once online. Hopefully it will be improved by release, but as this can make or break your project, I thought I might warn you... As a few of my planned projects have been put on halt due to anomalies whilst playing online.
 
  • Like
Reactions: HFR
Level 10
Joined
Jul 1, 2008
Messages
453
Will do dude, currently we're working on melee stuff (so melee maps, 1v1, 2v2, 3v3, ect) but probably early - mid summer so ya we'll send you some details in a bit. :thumbs_up:

Edit: about your project, I'll ask our gui coders what they can do.
 
Level 3
Joined
Jul 13, 2005
Messages
33
Everything there looks very simple to code with the sole exception of having pathable holes in buildings. It'd be possible but the only way I can think of doing it would be extremely complicated (checking your height, manually scripting which heights at what locale would result in a collision. Sounds simple but would be very lengthy work).
 
Level 36
Joined
Jul 1, 2007
Messages
6,677
Yeah it is pretty simple to code. The reason I want people who know what they're doing is so that things will be easy for me (the noob) to modify and balance in whatever way I want. I've had a lot of problems with less experienced coders because they never seem to understand how to make things easy to read :p
 
Level 11
Joined
Aug 1, 2009
Messages
963
Everything there looks very simple to code with the sole exception of having pathable holes in buildings. It'd be possible but the only way I can think of doing it would be extremely complicated (checking your height, manually scripting which heights at what locale would result in a collision. Sounds simple but would be very lengthy work).
Actually, a better way to do that would be having a 3 dimensional line formula and then checking if the ship is within (r - s) distance of the line, with r being the radius of the hole and s being the collision radius of the ship.

This would work for straight line pathable holes, tbh making anything more than that would be much more complicated and difficult.
 
Level 3
Joined
Jul 13, 2005
Messages
33
Actually, a better way to do that would be having a 3 dimensional line formula and then checking if the ship is within (r - s) distance of the line, with r being the radius of the hole and s being the collision radius of the ship.

This would work for straight line pathable holes, tbh making anything more than that would be much more complicated and difficult.

It'd also only work for tubular holes. Though, doubt it'd be too difficult to modify to work for rectangles!

It's still basically the same though; every hole would need custom script.
 
Level 3
Joined
Jul 13, 2005
Messages
33
I really don't get how you would avoid needing to make a custom set of triggers for every hole.

The only other solution I could think would be to put invisible units around the edges of every hole and have a trigger check the distance between the player and those units every 0.0 seconds. This might be a little laggier than the other option.
 
Level 11
Joined
Aug 1, 2009
Messages
963
Each building would have the holes tied to it via variables. Generally, the buildings would merely be considered rectangular prisms for this, and then if any player "hit" the building it would check if they actually hit it or if they were going through a hole.

Basically, with my method, each hole would simply be a 3 dimensional line with a radius value. A rectangular hole would be a 3 dimensional line, but with an X/Y value which would check the distance from the hole in each dimension seperately.
 
Level 3
Joined
Jul 13, 2005
Messages
33
That's pretty much exactly what I said earlier. You'd still have to do that for each and every hole in the game, which is what I meant by each hole requiring custom script.

Anyway ontopic, I will do a simple WASD movement + QC height and acceleration trigger for you and modularize it so it is easily implemented if you like. When I have time. Does it really need to be Q and C for height? Seems it'd be easier to use Q and E to me, but hey, not my map.
 
Last edited:
Level 11
Joined
Aug 1, 2009
Messages
963
Essentially, all one person would need to enter is where the entrance/exit to the hole is and its radius, along with what building it belongs to. While yes, this would require custom script to set variables and such, doesn't seem to be much of a problem. Additionally, since there are likely to be duplicates of buildings, you would only need custom script for each type of building.

Alternatively, you could have 3D points to mark the entrances/exits of holes, allowing for someone to easily change exactly how each hole works. But meh.


I would code a quick system to show you how it would work, but I don't have any buildings with holes, :\
 
Level 36
Joined
Jul 1, 2007
Messages
6,677
I was thinking creating a set of different invisible destructibles (or some kind of SC2 equivalent), each with a sort of struct attached to it that contains dimensions (H/L/W), and whenever a unit comes near the destructible it would do some kind of calculation with the dimensions to find out whether or not the unit is hitting it or not, and then stop the unit's movement if it is (and blow it up).

The reason I think you could do it with destructibles is that I would be building each structure individually out of square blocks; I wouldn't use huge models for each building.
 
Last edited:
Status
Not open for further replies.
Top