HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

How do *you* debug a map

08-21-2003, 08:52 AM#1
Telperion01
Question says it all, what's your typical method for tracking down hard to find online bugs?
08-21-2003, 09:46 AM#2
Draco
I don't like anyone having a copy of my map(s) until they are finished. :D
08-21-2003, 09:52 AM#3
Telperion01
Ment multiplayer, since you can't tell if there's a disc/lag/etc bug if you never played it with anyone :gsmile:
08-21-2003, 09:53 AM#4
Dead-Inside
I'll start using playamarz clan next time I need to really test a map. "The Playas" are basicly a clan formed by playamarz to test his maps. And those are people who you can trust :).

Before, I tested it myself and then I run it on B.net (I didn't make ANY serious tries at making a "real" map even though I had the power to) with my best friend and then some random people who joined. I had to fix it about 9 games before it was really fixed, I mean everything... I wont do that again. BUT, if you want a public beta and test it with random people, you can add a lock that makes it only playable with you or one of your friend (or several) as host (Player 1) or any other slot.

Regards
Dead-Inside
08-21-2003, 11:38 AM#5
Pen²
Just one thing: PLAY IT OVER AND OVER AGAIN!

As long the map isn't finished to 50% i insert some easy bot-triggers helping me to find major bugs.
I also insert debug-triggers to check wether all scripts and triggers work correct.
Well sometimes u need to test it at bnet. If that happens i protect my maps and try it out.

(Those debug thingies are important, escpecially for rpgs. Everyone who makes rpgs should insert triggers like 'teleportation by command', 'invulnerability' and 'set level')
08-21-2003, 02:32 PM#6
Vexorian
Give the Comps an AI, so you can play with them, then If you find a bug, and don't know what is causing it, make a Text Message for all players after every trigger step.
08-21-2003, 03:16 PM#7
Shvegait
Just keeping trying things...

What's really annoying, is when all of a sudden a disc/split bug pops up exactly 1 minute into the game for no apparent reason... Then you try older versions of the map that used not to have the bug, and all of a sudden they do. I blame flaky BNet. :nono:
08-21-2003, 05:43 PM#8
Phil_123
the life cycle of the warcraft 3 mapper

1. have an map idea
2. start to make a map
3. make terrain, triggers, etc. (doesn't have to be complete, for example if you want your map to have 50 levels, you can release an incomplete version with only 10 levels done)
4. put a display text to all players: <trigger name here> into all triggers
5. make a leaderboard that displays all values in all variables that are used
6. play the game over and over again
7. remove all debug stuff
8. put something like this into map: "This map is protected to prevent 10-year-olds from stealing my map. For learners, ask me via e-mail/MSN/etc. on how XXX in my map is done.", protect and release map to public
9. get opinions, comments, suggestions of your map from people, apply them into your map if you think it's suitable
10. go to step 3. you will eventaully go to step 11.
11. get bored with developing map, release final version of map unprotected
12. go to step 1. you will eventaully go to step 13.
13. get bored with warcraft 3. stop making maps for warcraft 3.

Always remember: Do NOT get pissed off and discontinue your map immediately when someone cracks through your map protection and mods your map. You should be happy that someone liked your map so much that he/she spent time to crack the protection and mod it. If people likes something in a mod, add it into the next version of your map. Make sure you give credit.
08-21-2003, 07:28 PM#9
Zoizite
I usually do sorta what Vex does. If a trigger isn't working that I can't figure it out right away, I'll add a display text command after every line, printing to the screen the function, and the values of any variables it uses. This is so you can see if the variables are changing, and when, and you can also see if the trigger stops before it's supposed to.

I like the idea of showing the variables in a leaderboard, but unfortunately, couldn't do this, as 11th Hour has 180+ variables at the moment :/
08-21-2003, 07:39 PM#10
Zoizite
Forgot to attach, this is what I'm talking about. This was me trying to get my protector spell to work. I found out that moving regions with triggers is very buggy at best.
08-21-2003, 07:48 PM#11
Catalyst
Have an
if DEBUG = true then <multiple action>
at numerous points in my triggers wich displays what is running, the variables that have run, the number of loop iterations and other such things.

Some bugs are just stupid mistakes where you forget to modify variables when you copy and paste.
(i.e. you create units in a region in a loop, that face the center of the region, only you use the wrong integer in the face loop and they look around randomly) Just look through.

Anyway This way, if i turn DEBUG on, I get lots of text messages telling me that I have run X ammount of unit spawners creating Y units of type U... etc
08-21-2003, 07:55 PM#12
Catalyst
heh, anyone who tries to re-engineer my map is going to have fun....

my triggers make most people feel sick... even my programmer m8's...

so many embedded if then's and loops.

Easy to edit if you know how though ;)

Cata
08-21-2003, 10:17 PM#13
Pesmerga
I usually have a couple friends at the time of debugging so I ask them to beta test. Also, I put a text message at the beginning and end of each trigger with the text classifying the trigger, just so I know I can rule out any event/condition problems.
08-21-2003, 10:19 PM#14
desty
Rather than debugging the map after you've triggered it, try making bullet proof triggers, which check everything.

cheers,

desty
08-22-2003, 06:21 AM#15
Vraq
Every time I make a change, I test that specific feature.

Then, when I think I'm done... I play through the whole level making sure to accomplish every quest, defeat every enemy, etc. Make sure it all works right.

For finding bugs I myself miss, I use my friends as guinea pigs. ;) Load up my maps on my LAN and we play!

.
.
.

Once I think everything is as it should be, I release the map. And live off of feedback, making changes as necessary. =)