• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

> Dodgeball

Status
Not open for further replies.
Level 8
Joined
Feb 4, 2007
Messages
389
> Ultimate Dodgeball

Ultimate Dodgeball

The battle between the forces of Light and Dark continues...

Map name
Ultimate Dodgeball

Platform
Frozen Throne
(a modified version will be created for Reign of Chaos.)

Creator
Tky Productions (Just me)

BETA or Release
Not yet Available

Current Version
Pre-Release Beta Testing

Summary
A mini-game type map, featuring many new things, including a Save / Load function, which saves your score, gold, and items.

You and four teammates are placed in an arena, against another team of five. You may not pass the line in the middle of the court. The camera is angled from a bird's-eye-view, encompassing the whole arena, to make gameplay a little easier. Pick up a ball (if it's at rest) using your "Grab" ability (Hotkey [G]), and throw it using your "Throw" ability (Hotkey [T]). Hotkeys give you a significant advantage over players that don't use them, since it speeds up the time between picking up the ball, throwing it, and moving.

Features
- Save / Load Code, which is used to save your scores, items, and gold. (You get one gold for each round that you win, and minus one gold for each round that you lose.)
- Eleven unique heroes.
- An items shop, where you can buy many items to improve your hero's performance.
- An 'on-the-go' items shop, which is a chat-based system that allows you to buy items while playing.

Gameplay Modes will only be in later versions, and will not be included in Version 1

- Gameplay Modes: Choose between several different styles of Dodgeball.
>Jailball: When hit, your player moves to the back of the other team's side. You can move your player around in the back, and you are trying to get hit by a ball thrown by your team, so you can get back in. The team that jails all the other team wins.
>Freezeball: When hit, your player is frozen in its spot for one minute. The team that freezes all the players on the opposing team at the same time wins.
More modes will be added later on.

Progress
Terrain:
|||||||||| (100%)
Triggers:
|||||||||| (40%)
Balancing:
|||||||||| (100%)

Miscellaneous
I would like to credit:
AceHart, who's save-load code I based mine upon.
SDtielvdeo, for hours of devoted testing on all my maps.

Images

dodgeball-1.jpg

Minimap Preview Image

Now, before anyone says, "You already have 'Bandit Brawl'," I'd like to point out that I've discontinued it until I choose to take it up again.
 

Attachments

  • Ultimate_Dodgeball_Beta1b.w3x
    343.7 KB · Views: 123
Last edited:
Level 8
Joined
Feb 4, 2007
Messages
389
Update:
-I ran into a major conflict between the rounds and win and kill triggers. I'm completely redoing all of them, and they seem to be working alright, now.

-I decided on the name of "Ultimate Dodgeball."

-I'm waiting on a Dodgeball model from Xlightscreen. It'll be a fairly simple geosphere; red and spinning. :eek:

-I'm working on fixing the Hero selection system. I used the same concept as Blizzard did in "Azeroth Grand Prix." I'm having a bit of trouble, getting lost in all the variables and integers and arrays. I have it so you can pick the first two heroes, but beyond that it won't work.

-Multiboard was causing so much trouble that I removed it. I couldn't get the Save / Load code to input the info into the multiboard correctly.

-The Save / Load will now only save Items, Gold, and if I put different abilties in the map in the future, it will save abilities.
 
Level 8
Joined
Feb 4, 2007
Messages
389
This project looks excellent, I can't wait to see a beta or a playable version of any form :p Keep at it :)

Hey! A comment!

I'm going to upload the playable version in a moment.
Note: The New Round trigger is not functional. No gold will be awarded, you will have to re-host for a new game.

Also, if you happen to scroll out of the screen position, type "-debug" to fix it. I haven't thought of a logical way to fix that, yet, besides a text command.
 
Level 8
Joined
Feb 17, 2007
Messages
368
Ok here are my thoughts:

I dont like the fact that you cant see all the heroes lined up and choose one. I think you should keep that part the same like in the original dodgeball map. Second, the bird's eye view is too far back, it creates a detachment from the game and your hero. Third, insert some music or something to spice up the environment, and make the map daytime and lighter(put a lightray coming down for instance); the darkness is too boring. Fourth, I think the balls are a little too small; too much effort to grab them. Otherwise, not a bad effort; the save/load system idea sounds a little half-baked if you know what I mean. Take your time to fully realize it.
 
Level 8
Joined
Feb 4, 2007
Messages
389
Thanks for the feedback.

I dont like the fact that you cant see all the heroes lined up and choose one. I think you should keep that part the same like in the original dodgeball map.

I prefer to have it that way, so that more emphasis is placed upon the appearance of the hero. However, I will add in a preliminary camera-motion that slowly moves the camera over all the heroes before selection, so you can see them all.

Second, the bird's eye view is too far back, it creates a detachment from the game and your hero.

I've tried to fix that, but it's difficult to fit the whole arena in the view with it any closer. Perhaps I'll just make it smaller.

Third, insert some music or something to spice up the environment, and make the map daytime and lighter(put a lightray coming down for instance); the darkness is too boring.

Yes, I intend to put a pretty cover on it all when I officially release it. This is just essentially a demo of the gameplay.

Fourth, I think the balls are a little too small; too much effort to grab them.

This has been pointed out several times now, so I will change it.

Otherwise, not a bad effort; the save/load system idea sounds a little half-baked if you know what I mean. Take your time to fully realize it.

I don't understand what you mean with it. What else could I do with it? It's really just a little extra feature for the map, but if you have some ideas to improve its use, do tell. :)

Thanks again.
 
Level 8
Joined
Feb 4, 2007
Messages
389
Update: New beta version with several fixes.

Fixes / Changes:
· Improved Lighting
· Improved the camera distance
· Added in a camera motion that gives you a glimpse of all the heroes before you have to select
· Made balls larger with a larger selection scale
· Created a different lightning effect. I think it looks better.
· Changed the background on the Game Menu and Tooltips
· Changed the buttons in the Game Menu
· Fixed a mix-up with the selection system and icons.

Yet to Fix:
· New rounds trigger. I made some changes, but it seems now that it simply acreates a fatal error. Could you all test that out for me?
· Steal Item; it had not been giving the item back to the original owner. I tried to fix it but it seems now that it doesn't work at all. I removed it until I can fix it.




Beta Version 1b has been uploaded.
 
Level 9
Joined
Jul 27, 2006
Messages
652
Hmmm this looks realy good...
Like the idea of a save/load system... amazing how alot of map these days have them don't they?
But is there any chance of AI for those of us who dont have DSL at home?
Keep up the good work.

Excellent, well I eagerly await a playable version :)
Seconded :smile:
 
Level 32
Joined
Oct 23, 2006
Messages
5,291
I grabbed the map and looked at it briefly in WE: your map making and triggering are a formidable as ever, Tonks.

"G" and "T" are tricky keys to keep track of: any chance you'd consider another pair of hot keys (A and Z for example) providing that using them would not complicate anything else?
 
Level 9
Joined
Jul 27, 2006
Messages
652
"G" and "T" are tricky keys to keep track of: any chance you'd consider another pair of hot keys (A and Z for example) providing that using them would not complicate anything else?

Agreed you have to like turn your hand to use those keys right... on my keyboard anyway...

Why not put keys on the same line like "Q" and "W"?
 
Level 8
Joined
Feb 4, 2007
Messages
389
Hmmm this looks realy good...
Like the idea of a save/load system... amazing how alot of map these days have them don't they?
But is there any chance of AI for those of us who dont have DSL at home?
Keep up the good work.

I do not yet intend to add in AI systems, but I plan to do so in some form for this map. Not very soon, though.

I grabbed the map and looked at it briefly in WE: your map making and triggering are a formidable as ever, Tonks.

"G" and "T" are tricky keys to keep track of: any chance you'd consider another pair of hot keys (A and Z for example) providing that using them would not complicate anything else?
Agreed you have to like turn your hand to use those keys right... on my keyboard anyway...

Why not put keys on the same line like "Q" and "W"?

Since I see that it's a thought shared by quite a few people, I will change the hotkeys to [A] for Grab, and for Throw.

Thanks for the comments :)
 
Level 5
Joined
Jul 4, 2007
Messages
84
Nice Map!

A is attack, S is stop. You should just go with Q and W like suggested before me.


Edit, After looking at your map:
-put all the 'Add Event' actions into the initialization trigger.
-Instead of using many 'If's and 'skip remaining actions' try to 'Chain them up' so they form an Elseif chain.// eg: If (A) then (B) else If (C) then (D) In the TFT editor it is still easy to modify chained ifs and it really improves the script execution time of your map (in case the first if condition passes then the rest is skipped without having useless lines in the script)
-Reselect would run fine with 0.03 sec event
-You should make sounds like BOINK1 into 3D sound and attach them to the bouncing ball
-It is always suggested to use 0.03 instead of 0.01 events. to the human eye (as far as i know) there is no difference between units moving every 0.01 or 0.03 second.
-That PlayerCollisiontrigger simply scared me so no comments on that 1 it must be working fine :)
-set bj_wantDestroyGroup = true is reported to be buggy so use TempGroups (then remove them) instead.
-this part of the init
  • For each (Integer A) from 0 to (nPlayers / 2), do (Actions)
    • Loop - Actions
      • Set L = (Random point in SpawnArea <gen>)
      • Unit - Create 1 Ball for Neutral Passive at L facing Default building facing degrees
      • Cinematic - Ping minimap for (All players) at L for 1.00 seconds
      • Custom script: call RemoveLocation(udg_L)
      • Set L = (Random point in SpawnArea <gen>)
      • Unit - Create 1 Ball for Neutral Passive at L facing Default building facing degrees
      • Cinematic - Ping minimap for (All players) at L for 1.00 seconds
      • Custom script: call RemoveLocation(udg_L)
contains an useless duplicate. you probably wanted to use SpawnArea_Copy <gen> in the second part of it.
-i don't think removing two point leaks worths the effort. i only remove memory leaks in triggers what have the event 'every 0.03 sec' every leaked point should not waste more than 20 byte of memory, so even leaking a couple thousand points has no real effect.
-The save feature is very easily hackable, just by modifying the map and putting an action in what gives you 200 gold. I suggest protecting your map. - or at least adding some kind of anti-cheat what checks every player's gold every 5th second and if it isn't 0 (or the value the player loaded) +-10 then kick the player from the game. //and of course ban gold amounts larger than 10000 because i don't think anyone would have that much free time :)
-Don't ask why i started with the very bottom trigger and went up, i don't know why did i do it that way.

Another edit explaining my elseif:
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] Equal to Berserk
    • Then - Actions
      • Set HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] = Berserk
      • Camera - Lock camera target for (Owner of (Triggering unit)) to Panda 0040 <gen>, offset by (0.00, 0.00) using Default rotation
      • Unit - Add HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
    • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] Equal to Dwarves
        • Then - Actions
          • Set HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] = Berserk
          • Camera - Lock camera target for (Owner of (Triggering unit)) to Panda 0040 <gen>, offset by (0.00, 0.00) using Default rotation
          • Unit - Add HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] Equal to Ice T
            • Then - Actions
              • Set HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] = Dwarves
              • Camera - Lock camera target for (Owner of (Triggering unit)) to Dwarves 0037 <gen>, offset by (0.00, 0.00) using Default rotation
              • Unit - Add HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] Equal to Muskles
                • Then - Actions
                  • Set HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] = Ice T
                  • Camera - Lock camera target for (Owner of (Triggering unit)) to Ice T 0036 <gen>, offset by (0.00, 0.00) using Default rotation
                  • Unit - Add HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] Equal to Berserk
                    • Then - Actions
                      • Set HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] = Muskles
                      • Camera - Lock camera target for (Owner of (Triggering unit)) to Muskles 0039 <gen>, offset by (0.00, 0.00) using Default rotation
                      • Unit - Add HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] Equal to Fatty
                        • Then - Actions
                          • Set HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] = Berserk
                          • Camera - Lock camera target for (Owner of (Triggering unit)) to Troll 0041 <gen>, offset by (0.00, 0.00) using Default rotation
                          • Unit - Add HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] Equal to Tinker
                            • Then - Actions
                              • Set HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] = Fatty
                              • Camera - Lock camera target for (Owner of (Triggering unit)) to Fatty 0038 <gen>, offset by (0.00, 0.00) using Default rotation
                              • Unit - Add HeroSelectAbil[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                            • Else - Actions
-anyone know how could i make this display as 'Hidden Information, click here to reveal'
Another edit after i've played your map:
-having 1000 charges is ugly, write 0 for infinite charges
-yep the ball model isnt nice :p
-the ball what i've picked up is not 'updating it's position fast enough' its flashing or something.
-tooltips need some work
i would make it auto pickup on right click (event unit is issued an order targeting a unit condition order equal to patrol //thats the order when you right click a unit (i think :p) action order triggering unit to cast pick up on target unit of issued order)
-i would like a side camera more. (not overview but from the back of your side)
 
Last edited:
Level 9
Joined
Jul 27, 2006
Messages
652
Guys,
Unfortunatly, Tonkz has stopped modding Wc3 and i doubt he will finish this map.
 
Level 5
Joined
Jul 4, 2007
Messages
84
I cant edit my post anymore for some reason so additional notes will be here:

  • Set SaveLoad_Items[(Player number of (Owner of (Triggering unit)))] = (Item-type of (Item being manipulated))
That wont work for sure. Just convert the items into gold before saving, then have the player re-buy his item.
  • Set TempItem = (Item carried by (Picked unit) in slot 1)
we didn't pick any unit...
  • Game - Display to (Player group((Triggering player))) for 60.00 seconds the text: Code
for this to work you need to create a variable called Code and of type string.
I hope i won't find anything else :)

Guys,
Unfortunatly, Tonkz has stopped modding Wc3 and i doubt he will finish this map.
ah... my bad, you think he would let me apply the changes i listed? -nvm im not gona do it -.- im busy with my own map what i should have had been working on instead of browsing this site :)
 
Last edited:
Status
Not open for further replies.
Top