Staredit Network > Forums > SC2 Custom Maps > Topic: Third Person Shooter
Third Person Shooter
Apr 5 2011, 1:51 pm
By: LoveLess  

Apr 5 2011, 1:51 pm LoveLess Post #1

Let me show you how to hump without making love.

Now yeah, they have been done time and time again, but from what I hear there are always problems. Well I have touched in this area quite a lot ever since the first TPS (Third Person Shooter) was released for SC2 back in the closed beta. Now I was extremely excited to see it and from it, built my own TPS system and it worked... Decently. But it didn't have all the variables it needed and was rather linear. So I have been working on a newer and more flexible version, but it has been slowly degrading over time. I am looking for someone interested in learning this type of triggering and data editing to help me learn more, as well as themselves if they haven't already.

Currently what I have and don't have are as follows, the Green is completed/nearly done, Orange is Broken, Yellow is In-Progress and Red is started or non-existent.

Movement
Animations
Camera
Camera w/Movement
Camera w/Aiming
Firing
Sprint
Equip/Un-Equip
Grenade

Now each of these, are fully animated to give them a more gratifying effect when used. I have settled with the Spectre animation because of how versatile it's animations are, it has a Grenade Throw, a Holster Weapon, Equip Weapon, Walk and many other really good animations. I think this is because of when Blizzard did the animations in the Armory and the rest of the Campaign, they had to add in a lot of real nice animations to the unit.

Now my future plans is to make the entire animation process for the unit through triggers as smooth as possible, while making everything I listed above possible. After this, making fully computer controlled units with a level of difficulty would be next. Now considering I actually know how to design a decent AI, excluding the ability to detect terrain, this shouldn't be too hard of a stretch.

My first goal when it comes to actually applying all of this, is a typical zombie map. It would be a fun application to the series of ones already out there and besides, no true/hardcore zombie TPS has been made. After I have released that and regularly update it without any serious bugs, the next step would be a PVP application of the engine. If all goes well there, I would actually make a large scale war-style TPS with armies of individually automated units, each with their own series of triggers, conditions and actions for the best possible results in AI. Now I know it is easily possible to mass control units, but not many of them include the ability to detect what is around them for the tactical use of terrain.

Yes, my goals may be high, but hey. I got the time and will. Just a forewarning, I am horrible with the Data Editor and it frustrates me to no end. I am quite knowledgeable with triggers though and I refuse to learn syntax based trigger for SC2. I'll stick with the default way for now.

In the end, what I am essentially looking for is someone with knowledge of math and physics, to aid me in developing the systems used for projectiles, including 'bullets' and 'grenades.' I am pretty incompetent in this area. I am looking to design a system that from starting from your barrel, a 'bullet' would fly from it, to the target of your reticle. Then account for things like spread and accuracy, so your bullets would randomly fire along a pre-determined cone with the smallest point at your barrel, out. Then the first thing these bullets collide with, are hit and dealt damage. Now of course I will turn friendly fire off to prevent grief, but things like trucks, buildings and terrain, would limit your field of fire. Then grenades, would be given an arc depending on how they are thrown, so aiming higher would throw further until your aiming TOO high, so they would essentially rise and fall vertically. Maybe even account for how long before you let go, to determine it's arc and starting point even further, so throwing closer without re-adjusting your view is possible. I can do this triggering myself for the most part, I just need help determine the system, math and values used.

Next I am shitty with the Data Editor. I am sure that along the way, I will need to work in this even to exclude things like editing new units and such. I can create effects myself for the bullets to apply on the affected targets.

And lastly the Animation actions are confusing as all hell. I cant seem to make the models flow like they need to be. They simply break and don't do the actions correctly. I had it working before, but adding in a few recent animations, even using the same system, seems to have broke it. They are playing at the same time or anything, it just seems like they wont switch out. Any help figuring this out would be a lot of help.

Attachments:
third person shooter.SC2Map
Hits: 2 Size: 146.15kb

Post has been edited 1 time(s), last time on Apr 5 2011, 3:22 pm by LoveLess.



None.

Apr 5 2011, 5:16 pm LoveLess Post #2

Let me show you how to hump without making love.

Alright well since this post, I have fixed the camera in regards to movement. It took a lot of research from SC2Mapster which is something I am not proud of, but whatever. Now that I have a working camera system in regards to movement, I will work on it further to make it perfect for my needs and then integrate in a 'zooming' feature that will increase your accuracy and get you a little closer to your character, yet slight above and over the shoulder, for a feeling that your concentrating on where your targeting without limiting your vision in the actual game. Think Gears of War.

Also for a little fun, I have added in some zombies and edited their animations to get a feel for what they will look like coming at you. Increased their size a bit too,they were REALLY small compared to a Spectre. Fucking behemoths man. I have also reduced their size and removed any sort of display for all the units there, giving it a much more cinematic look. I feel adding tooltips and such for certain units is a must, give you some kind of message without even having to add in crazy shit like UI, then fucking with where and when it's displayed. This was easier. It might even be possible to use this to display who's who, rather than player colors which I could use to display health/ammo.

Again, still looking for some help designing the bullet/projectile system. I have read the thing pretty through and through, but I am shitty at this kind of stuff. http://forums.sc2mapster.com/resources/tutorials/1626-trigger-how-to-target-with-mouselook-tracelines/

Attachments:
third person shooter.SC2Map
Hits: 2 Size: 160.05kb



None.

Apr 5 2011, 5:34 pm DevliN Post #3

OVERWATCH STATUS GO

Have you tried downloading some FPS maps to see how they do it? I tried following that traceline tutorial thoroughly and couldn't get it to work for my zombie shooter arcade game map thing.



\:devlin\: Currently Working On: \:devlin\:
My Overwatch addiction.

Apr 5 2011, 5:41 pm LoveLess Post #4

Let me show you how to hump without making love.

Quote from DevliN
Have you tried downloading some FPS maps to see how they do it? I tried following that traceline tutorial thoroughly and couldn't get it to work for my zombie shooter arcade game map thing.
All of the maps that seem to be using a 'perfected' shooting system, are the ones that are shown only in videos. A good example of this would be AC130K. Obviously the best system around, but the guy doesn't want anybody to have his engine. Even though he has apparently switched to FPS (First Person Shooter).

Once I finish up the zoom feature, I will start working on the firing system... If I can get a good system going, I will post the map here like I always do.



None.

Apr 5 2011, 6:26 pm Ahli Post #5

I do stuff and thingies... Try widening and reducing the number of small nooks and crannies to correct the problem.

Easy method to do the firing:
1. get the degree of your "hero" and the degree of shooting direction (z axis) [somehow with camera stuff]
2. create a local point directly in front of the hero and use a max range variable "i"
3. loop start: have a loop that runs as long as "i" > 0
4. check for a collision in the x,y dimensions
5. if you had a collision, check z dimension for a real collision
6. if it is a real collection, call a hit function and break the loop
7. if you are still in the loop, move the point a bit further with the hero's degree, raise "i" by that amount and calculate the height of the bullet at that point with your z axis degree
8. check for map/playing area boundaries or to high height
9. loop end

I guess that's not what real FPS games do. Probably you should find out how they do stuff and if you can port it into sc2. I guess they are storing all hittable objects (world itself consists out of many objects, too) and

You could add more into the hit function that it returns a hit? boolean that will trigger the break. That would be a possibility to create more accurate hitboxes than a single big one.

The max execution time might be a problem cause I don't know how far it checks. My own sight trace line for my diablo map checks only shorter distances with a 0.3 distance for walls. it's used for monster archer shooting and some spell casting checks.

edit:
Oh and if you want to have bullet tracers shown, you just add an ability and order the unit to use it onto the object or the point. I've just watched that tech demo and I'm sure he is doing that because in the end of the video he is shooting monsters and his bullets go to the sides directly onto the monster. And I would guess the monster bullet and the ground impact bullet are 2 different abilities (because you wouldn't create an impact effect on the ground where the unit stands).

Post has been edited 1 time(s), last time on Apr 5 2011, 6:36 pm by Ahli.




Apr 5 2011, 6:37 pm LoveLess Post #6

Let me show you how to hump without making love.

Quote from Ahli
Easy method to do the firing:
1. get the degree of your "hero" and the degree of shooting direction (z axis) [somehow with camera stuff]
2. create a local point directly in front of the hero and use a max range variable "i"
3. loop start: have a loop that runs as long as "i" > 0
4. check for a collision in the x,y dimensions
5. if you had a collision, check z dimension for a real collision
6. if it is a real collection, call a hit function and break the loop
7. if you are still in the loop, move the point a bit further with the hero's degree, raise "i" by that amount and calculate the height of the bullet at that point with your z axis degree
8. check for map/playing area boundaries or to high height
9. loop end

I guess that's not what real FPS games do. Probably you should find out how they do stuff and if you can port it into sc2. I guess they are storing all hittable objects (world itself consists out of many objects, too) and

You could add more into the hit function that it returns a hit? boolean that will trigger the break. That would be a possibility to create more accurate hitboxes than a single big one.

The max execution time might be a problem cause I don't know how far it checks. My own sight trace line for my diablo map checks only shorter distances with a 0.3 distance for walls. it's used for monster archer shooting and some spell casting checks.
Well for now, I can cheat and make the terrain just a Z level by having it all flat. Then add in things like sandbags, vehicles and fences, which should all be detectable because they are units. Then again, bullets will of course go through fences because I feel like letting them. Anyway, I have been fooling around with zombies for a bit just because I got tired of working with all these angles and values for a bit. Super fast, super slow and just outright nasty looking ones by attaching other units onto them. I think that people are crazy adding in things like zerglings to 'Zombie' maps. Just modify the hell out of the infested Civilians and you have yourself some awesome looking zombies.

Anyway, the next map update will just be once I finish the firing system. It's going to take a little longer than the simple cameras though... Wooooooooooooooooooooooooooo.



None.

Apr 5 2011, 8:23 pm Jack Post #7

>be faceless void >mfw I have no face

For the animations playing at the same time, in the actors for the unit I believe you need events such as:
If WeaponStop.(nameoftheweapon).AttackStop
Then Animation Clear (nameoftheanimationtoclear)
And the same sort of thing for if unit movement stops.



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

Apr 5 2011, 8:45 pm LoveLess Post #8

Let me show you how to hump without making love.

Quote from Jack
For the animations playing at the same time, in the actors for the unit I believe you need events such as:
If WeaponStop.(nameoftheweapon).AttackStop
Then Animation Clear (nameoftheanimationtoclear)
And the same sort of thing for if unit movement stops.
Screenshot pl0x.



None.

Apr 5 2011, 10:00 pm Jack Post #9

>be faceless void >mfw I have no face

Quote from LoveLess
Quote from Jack
For the animations playing at the same time, in the actors for the unit I believe you need events such as:
If WeaponStop.(nameoftheweapon).AttackStop
Then Animation Clear (nameoftheanimationtoclear)
And the same sort of thing for if unit movement stops.
Screenshot pl0x.

I believe that's the WeaponStop.nameoftheweapon.AttackStop part. In this case, it uses Any instead of a specific weapon.

As for unit movement, try this:
See where it says UnitMovementUpdate.*.Walk? Then it clears the fidget animation, which is the unit idle animation. I think if you have an attack animation playing the unit will either finish the animation and then move, or try move while still attacking.

EDIT wait nvm, if the attack is canceled by the unit being ordered to move, it should stop the attack, clear the attack animation, then start the walk animation automatically.

Post has been edited 1 time(s), last time on Apr 5 2011, 10:07 pm by Jack.



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

Apr 29 2011, 7:53 pm Dungeon-Master Post #10



I am horrible for mapping with Galaxy editor, but...
Quote from LoveLess
Think Gears of War.

I jizzed in my pants.

So, good luck!



None.

Apr 30 2011, 1:25 pm LoveLess Post #11

Let me show you how to hump without making love.

Quote from Dungeon-Master
I am horrible for mapping with Galaxy editor, but...
Quote from LoveLess
Think Gears of War.

I jizzed in my pants.

So, good luck!
Haha, yeah. I'm still working on it but since I'm relatively mathematically retarded, the shooting system is a bitch.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:41 am]
v9bettel -- Nice
[01:39 am]
Ultraviolet -- no u elky skeleton guy, I'll use em better
[10:50 pm]
Vrael -- Ultraviolet
Ultraviolet shouted: How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
hey cut it out I'm getting all the minerals
[10:11 pm]
Ultraviolet -- :P
[10:11 pm]
Ultraviolet -- How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
[2024-4-17. : 11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[2024-4-17. : 3:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
Please log in to shout.


Members Online: Roy, Orman