HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

SW:SA

06-22-2014, 02:34 AM#1
Anitarf
Click image for larger version

Name:	SWSA_preview.jpg
Views:	38
Size:	53.3 KB
ID:	51049 This was not originally my project, I first came into contact with it way back when I joined clan WEnW. The map was made in GUI at the time and iNfraNe and I took it upon ourselves to first convert it to JASS and later to recode it in JASS. The latter never got completely finished. The original thread for the map can be found here.

Now, almost a decade later, I remembered this project and was surprised when I noticed that I never recoded it in vJass like I did all my other projects at one time or another (some of them more than once :) ). So I figured I'd do that now. Well, technically it's not really a vJass recode since I'm using zinc now, but whatever.

What works so far:
  • Object movement and arrow key controls.
  • More responsive movement to quick keystrokes.
  • Object-terrain collision detection.
  • Object-object collision detection.
  • Particle-object collision detection.
  • Improved particle-object collision detection.
  • Fighter lasers.
  • Improved fighter lasers.
  • Fighter combat speed toggle.
  • More flexible terrain collision detection.
  • Full 3D movement.
  • Laser sounds.
  • Enemy AI Turrets.
  • LoS checks for AI.
  • Objects taking damage.
  • Fighter respawning.
  • Other fighter abilities.
  • Randomised terrain.
  • Basic infinite terrain.

To do list:
  • Enemy AI fighters.
  • Trench run.
  • Advanced randomised terrain.
  • Advanced infinite terrain.

If you've got the time and feel like running WC3 again (you do still have it installed, right?), feel free to give the map a try.

Edit: I have recodedmodified the movement engine so that it now supports proper 3D movement. Before, the fighter would rotate around the global z and local y axis, now it always rotates around its local axes (pitch&roll). I am keeping the old version attached so you can see the difference.
Attached Images
File type: jpgSWSA_preview.jpg (53.3 KB)
Attached Files
File type: w3xsw4.w3x (387.2 KB)
File type: w3xsw5.w3x (953.4 KB)
File type: w3xsw6.w3x (968.4 KB)
06-23-2014, 03:41 PM#2
Kyrbi0
Quote:
Originally Posted by Anitarf
I've been working on this project again for the past couple of weeks. Since I'll be going on vacation now and won't be able to continue working on it for the next week, I figured now would be a good time to post it.

This was not originally my project, I originally came into contact with it way back when I joined clan WEnW. The map was made in GUI at the time and iNfraNe and I took it upon ourselves to first convert it to JASS and later to recode it in JASS. The latter never got completely finished.

Now, almost a decade later, I remembered this project and was surprised when I noticed that I never recoded it in vJass like I did all my other projects at one time or another (some of them more than once :) ). So I figured I'd do that now.
So wait, you can finish projects from other people... But not your own. : ) Kudos. Well, if that's the case, I've got a few things for you to look at... :P

Quote:
Originally Posted by Anitarf
If you've got the time and feel like running WC3 again (you do still have it installed, right?) ...
Forever and always.
08-11-2014, 12:12 PM#3
Anitarf
Okay, new version!

I've added terrain collision detection. When you get close to the ground, debug special effects will appear showing your collision points. Unfortunately, they don't always match the model perfectly because the model geometry is a bit off-centre compared to the model origin. I tried offsetting the collision points to compensate but the head bone on the model around which it rotates is also offset so I'd need to add some global offsets in addition to the local ones.

I would much rather find someone to modify the model for me so that both the model geometry and the head bone are centred on the model origin, then I wouldn't need to bother with special offsets. Anyone willing to help?
08-12-2014, 08:54 PM#4
Kyrbi0
I could take it over to THW; that seems like a simple enough request, and there are loads of willing people over there.
08-12-2014, 08:56 PM#5
Rao Dao Zao
Quote:
Originally Posted by Anitarf
I would much rather find someone to modify the model for me so that both the model geometry and the head bone are centred on the model origin, then I wouldn't need to bother with special offsets. Anyone willing to help?

Give me just a few days...
08-12-2014, 11:49 PM#6
Fledermaus
YOU TOLD ME YOU DIDN'T DO WC3 ANYMORE! YOU SON OF A BITCH!!!
08-13-2014, 12:26 AM#7
Anitarf


I ended up adding model offsets to the code anyway for other reasons, so I was able to compensate for the off-centred model in the end, there's no need to edit it any more. Still, thanks a lot for the offers - you can still help, by trying the map :).

Also, thinking about it, I could use more terrain models with different heights, right now I only have one block 512 units high so if I want to go higher I have to do it in steps, otherwise there'd be a hole under the terrain. A 1024 units high block would be useful, while 1536 is probably not necessary.

I've added a bunch more stuff, my original feature list is now almost complete. I've added object collisions and lasers, there's a large box in the middle of the canyon where you can test those (it looks like terrain, but it's actually an object).

I've then added support for 2 players, so if you have a LAN setup you can actually test this with a friend already. If you are alone, you can use a computer as the second player and the second fighter will fly in circles for some dynamic target practice.

Even with the fighters scaled up (I originally intended for them to be half this size), it's really hard to hit anything with lasers. Gameplay will require some tweaking. :)
08-13-2014, 07:03 PM#8
Anitarf
Another update.

I have improved particle-object collision detection. Before, fast particles like lasers could go through a small object like a fighter without triggering a collision, I've fixed that now by making particles check multiple points along their path when doing a detailed object collision check. Even with smaller fighters, I find it easier to hit the target practice fighter than I did before. I suspect that removing the cooldown on the laser ability might also have something to do with this. :)

I've also implemented the combat speed ability, just press "s" to go faster. :)
08-25-2014, 07:56 PM#9
Anitarf
Another update.

This time, it's mostly just back-end improvements, I've made the terrain grid engine more flexible so you can now fly under blocks, which will allow me to make tunnels in the future. I really could use terrain blocks of different heights now, I only have 512 so far but could use all multiples of 256 up to 1024 or even more. Furthermore, blocks of different length would allow for some simple optimisation in situations where multiple terrain tiles of the same type follow each other in a row. Having a 512 units wide version of each block could nearly halve the number of destructibles needed.

I have also added a minor improvement to the particle-terrain collision detection that ensures lasers always explode on the surface of the terrain rather than inside it, making their hits more noticeable.
10-16-2014, 02:26 AM#10
Yrth
very cool!!

firing the lasers is great. i know its space but you should consider adding a sfx. its the only thing missing and you know its missing. that sound when you hit the 'f' key? disappointment and bitterness.

i see what you mean about the off center thing. its good at times and noticeable at times. i know this might be because of your dynamic fix, but i think the most jarring part is the twitch

its excessively weird to me that the camera sits behind your plane but then, if youre actively turning, completes a small circular orbit around god fucking knows what. in tight corners, this adds to the action -- making it seem like youre cooler than you actually are, but big sweeping turns and you just feel like maybe that last drink was too much. im being nice, its awful in big spaces. but that would be totally fine in a single player map -- you just need to turn it on in some situations and turn it off (i think cam right behind + very fast tracking is good for this kind of game. you want laggy realism, put some HUD overlay dummy units on the screen and go to town with targeting)
also, some positions on the camera track make the inherent model off-center-ness more noticeable

flying under units works amazingly well. i tried to figure out how you were doing it going through Object but i got lost somewhere around TerrainGrid. was i headed the right direction?
all-in-all i like how flying feels. the slow reaction time is a realistic design choice, but i think its much harder to make fun

i also submit that it is not possible to kill the enemy plane :) :p
this would be a great co-op map.
12-29-2014, 03:15 PM#11
iNfraNe
ahhh I remember this! So cool! Sadly, it's almost impossible to hit the computer, just flying in circles :P We need the homing missiles back! :D
12-29-2014, 04:17 PM#12
Anitarf
:)

Sorry Yrth for not replying sooner. October was all sorts of chaos at work and after that I didn't get back to WE due to computer issues. I remember reading your post before, re-reading it now I still don't know what the hell your camera was doing. It seems to work just fine for me, so I just can't picture in my head what the camera is doing wrong for you.

I've had some problems that one time when I tested the map with Rao in multiplayer, but those weren't camera issues either, it was a problem with the fighter orientation. Not sure what the cause is (as I said earlier, computer issues, couldn't test more than that one time with Rao), maybe it is related to me forgetting to disable fog of war for player 2.

Good to hear from you, iNf! Yeah, homing missiles are the next step. Although, like I mentioned in the first post, I'm leaning more towards singleplayer now, especially after my multiplayer test with Rao (he was the host, so I could feel the lag. The lag was strong with me).

I've had some ideas for how to make a fun singleplayer map. I could make it a canyon run where flying steadily through the canyon would increase your lock on the target exhaust vent - when the lock would complete, you could fire a proton torpedo and finish the map. To make things interesting, there'd be turrets along the canyon that would make such a steady flight through it suicidal, so you'd first have to take out the power generators for those turrets which would be placed in various hard to reach places. Add some AI tie fighters and you'd have a pretty fun map, I think.
12-29-2014, 04:29 PM#13
iNfraNe
Singleplayer does sound alot better in these days, yea. I remember that it was seriously difficult multiplayer with the lag. Heck, it's seriously difficult offline versus a predictable target.

I hope it'll get somewhere soon :) The collision detection seems to be great here!

It's sad that we don't have 3d orientation stuff (or... do we?) so you could do barrelrolls (and that's the way you would turn, instead of this weird unnatural turning). Although... this might actually be unnatural in space, seeing how it would be a vacuum, so the wings actually don't do anything..

Another idea, since you've got these attackspeed SFX, perhaps it would make sense to also have the "normal" speed SFX, and if they would turn on/off depending on if you're turning, or going up/down.

Anyway... Nostalgia!
12-29-2014, 04:53 PM#14
Anitarf
I've thought about proper 3D orientation a lot. However, the current method for facing is incompatible, I think. I haven't fully tested it, but the way I remember it is that locking a bone's facing overrides all child bones and sets their rotation to 0. For example, if you take a Death Knight and lock his chest to some target, then his hands will no longer animate, so no attack or spell animations for the hands. At least, this is how I remember it, I'm pretty sure I once tried making a Death Knight attack to the side by locking his chest bone and it didn't work. So, using the current method of bone-locking to define pitch and yaw angles and then adding roll animations to a child bone wouldn't work.

What I haven't tried yet is what happens if you add roll animations to a parent of the locked bone, rather than the child. It's possible that that wouldn't help, in case the bone locking is done in a global system no matter how the bone is rotated. However, if the bone locking is done from the bone's current frame of reference, then this would be doable, we'd just need to apply the rotations in a less intuitive order (roll first).
Edit: I was wrong, animations of child bones still work when the parent bone is locked.

Showing turning with engine SFX is a good idea. Unfortunately, the current control system is not correct no matter how you look at it. It's not that the fighters turn instead of rolling; when they're going up, they still roll. That's because what they're actually doing when you press the left/right arrow keys is change their global yaw angle, regardless of their pitch.

There is one other possible way to implement proper rolling: 1st person camera. If there's no fighter, there's no problem. :)
12-29-2014, 05:45 PM#15
iNfraNe
Quote:
Originally Posted by Anitarf
There is one other possible way to implement proper rolling: 1st person camera. If there's no fighter, there's no problem. :)
Except of course, for the enemy fighters..