PDA

View Full Version : Divinus Arma's Guide to Open Beta Playtesting



khelvan
12-27-2005, 11:08
*********DIVINUS ARMA'S GUIDE TO OPEN BETA PLAYTESTING********

INTRODUCTION

The purpose of this guide is to outline general instructions for Europa Barbarorum playtesters. I will explain procedures that should be adopted by all EB beta playtesters, whether they do so part time, full time, or very rarely. The beta playtester is a critical component of the software development process. Without beta playtesters, the product will be filled with bugs and be derided by critics as unplayable, miserable, and worthless. EB as been over a year in the making. We must do all we can to ensure its success! Playtester: YOU are the front line.


OVERALL PROCEDURES

Bugs are elusive sons-of-bitches. The overall objective of playtesting is to eliminate unnecessary information from the bug description. This way, the talent who works on the specific area may be better able to pinpoint the source of the problem. We can aid them in this process by observing a few simple rules:

(1) Save at the beginning of every turn; never at the end. By saving at the beginning of a turn, you give yourself the chance to alter conditions specific to the bug. This means that you can change stuff in the game that may or may not cause the bug to occur. If you save at the end of a turn, then what can you change? Maybe the buildings you bought, but that’s about it. You need to be alter the environment of the game as much as possible, and saving at the beginning of the turn helps this!

(2) Always attempt to reproduce the bug at least once, twice to be really sure. How do we do this? Simple! If we saved our game at the beginning of a turn, then we can duplicate our actions to create the same bug.

(3) Once a bug is duplicated, attempt to avoid the bug. If you know that a certain type of behavior always creates a bug, then see what you can change in game that will NOT cause the bug. Use “bracketing” in your bug duplication process. Bracketing will be described later in this guide.

(4) Document, document, document. What good does bug finding do if you tell no one? You must document the bug and the surrounding conditions in order to give necessary information to the right people. Procedures for documenting are included later in this guide.

Now that I have covered the basic overall rules of beta playtesting (bug finding), lets get specific and focus on bracketing and documentation.

Bracketing

Bracketing is a procedure that has its roots in artillery. Basically, when you have a target but you don’t know the distance, you shoot far then short. So, I shoot at one hundred meters and miss. Then I shoot 20 meters and miss. On my next try, I shoot 90 meters and 30 meters. Do you see how this works? The next one will be 80 meters and 40 meters. Sooner or later, I am going to hit my target. It might be at 80, 70, 30, or 10 meters, etc. Who knows! We can apply bracketing to playtesting as well. Think of your bug as the target for artillery. You see the enemy. Now it’s time to bomb him!

Bracketing in playtesting involves a process of “heavy activity” versus “little activity” or “big moves” versus “little moves”. Once you see that a bug occurs, you have a target. Reload your game at the last save. Do the EXACT same thing you did last time. This even means trying to duplicate your battles. (Boring? Maybe. But you will get damn good with the practice!) If you are able to duplicate the bug by doing the same exact activity the you have just VERIFIED your bug. It’s there no doubt about it. Now let’s bracket and narrow it down to where the right folks can bomb it and kill it. Here is the process:

(1) Verify the bug through activity duplication. March your army to the same spot. Siege the same town. Buy the same units and buildings. Everything should be the same.

(2) Once the bug is verified, reload the game. Now begin bracketing.

(3) Start with a major activity difference. Don’t buy any units. Cancel all builds. Attack someone else or not at all. Do everything that you possibly can! Change faction heirs! Do NOTHING the same.

(4) Does the bug occur again even though you did everything different? If the bug does NOT occur agin, then you can pinpoint it! You can target closer to the bug and give the artillery better information before they bomb it. Does the bug occur again? Well, then you did your best. Provide all of the information you can on the bug tracker.

(5) If you are able to avoid the bug by changing the circumstances, then les continue bracketing. Do you remember your first activity that created the bug? Duplicate it. But change something very small. Attack from a different angle. Build something else. Just change one or two things. If you have a hunch, then act on it. For example, if you attempt to merge two non-starred fleets and they won’t, try moving them around first. Or attacking something first. Or merge fleets with less units. Or merge fleet with more units.

(6) Continue this process; big activity, little activity. Do it until you know the closest conditions that create the bug. Once you are satisfied that you are pretty close, update the bug tracker with your new find. Get a beer and pat yourself on the back.

“Hunch” Bracketing

Do you have a hunch as to what is causing your bug? Do you have an idea that maybe you already know what the problem is? The apply simple hunch bracketing. Hunch bracketing is a super-condensed version of bracketing. Simply reload your game, duplicate action, and verify the bug. Next, test your hunch by doing some simple bracketing on whatever it is you think may be causing the problem.

For example, you just verified that if you siege Syracuse, you will get a crash when you end your turn. Now reload and don’t siege Syracuse. No CTD? Great! Can you narrow it down further? Is it your unit composition? Your lack of units? The siege equipment you brought with you? Does anything change in the enemy camp? Send in a spy and see what happens. Do what you need to do to see if you can really pinpoint your hunch.
Hunch Bracketing is simply acting on a hunch rather than going hog wild with full bracketing. It is likely the most common type of bracketing you will use.

Depth Bracketing

So. You verified your bug, but no matter what you do it still pops up? You cannot avoid it, so you cannot bracket and pinpoint. What now? I recommend the depth bracket as PREPARATION:

(1) Save your game as step 1. Play the turn. End the turn. No bug? Great!

(2) Your turn starts. Save the Game as step 2. Play the turn. End the turn. Did a bug occur? Then try bracketing. If you are unable to pinpoint, then go back to save “step 1”. Now bracket there and go to the next turn. Can you avoid the bug by changing things in the save prior?

(3) Create a step 3 save and conduct the same activity.

(4) When you get to turn four, then save the turn as step 1. When you survive (by survive, I mean no bugs) to step five, then save the turn as step 2. When you survive to step six, save it as step 3. After turn seven…yep, back to save “step one”. Now what I mean buy depth bracketing is simply how far back in time you wish to prepare for a bug. 2 turns? 3 turns? Really, you can save every turn independently and have several hundred turns in “depth” that you can bracket!

(5) Are you confused? You can save at any depth. One step bracketing would be just overwriting your save after every turn. You can do 2 step, 3 step, 8 step, 40 step, etc. Here is a simple example of saving your game in “depth 4 bracketing”:
a. Load a brand new game. It starts and you see the campaign map. “Ooohhh”, you say. “Pretty”. Before doing anything else, SAVE THE GAME as “step 1”. Now do whatever. Go find some bad guys. Build a house. Nominate a new heir. Whatever, Good job. End the turn.
b. As soon as your second turn starts, SAVE THE GAME as “step 2”. Do whatever. Fight some rebels. Siege a town. Buy a tavern. Good job. End the turn.
c. Your third turn starts and: SAVE THE GAME as “step 3”. Play your turn. Buy some units. Whatever, whatever. End the turn.
d. Your fourth turn starts and… yep SAVE THE GAME as “step 4”. Play the turn. End the turn.
e. Your fifth turn starts and… this is only depth four bracketing, so… SAVE THE GAME as overwritten back to “Step1”. Does this make sense? If this were depth five bracketing, you would save it as “step 5”. What if this was Depth two bracketing? Well, then turn 2 would have been saved as step 2; turn 3 would have been saved (overwritten) as step 1, turn 4 would be saved (overwritten) as step 2, and this turn, turn five, would have been saved as……… yep: “step 1”. Good job.

(6) How to use depth bracketing. An example:
a. Turn 25. You are using step 2 bracketing, so this new turn would be saved as…”Step 1” (turn 1 = step 1, turn 2 = step 2, turn 3 = step 1, turn 4 = step 2, turn 5 = step 1, etc.).
b. So you have saved your turn and you are ready to play. You have three provinces, each garrisoned with one very basic unit and one family member. You also have a full stack of very basic units and three family members. You decide to move North, and order your stack to do so. The army begins to move and then… stops? What? In an open field? The notification scroll appears on the left side: “Your army is blocked an unable to move further, yada yada”. But wait: There is no settlement. There is no army of any kind. There is nothing but an open field! What the heck? Could this be a bug? Sure. So you attempt to duplicate it. You reload the game from Step 1 (cause you saved it BEFORE your turn, right?). You try the same EXACT activity: moving your army North… and THERE IT IS AGAIN! “Blocked”. Damn. You have a verified bug!
c. Now what? Now you bracket. Reload the game. You go South. That’s very different. South you march… with success. No bug if you go this way… Good. Reload again. Do a minor change in activity. Go North one step at a time. You do so… and there it is again! “Blocked”. What the hell? You have a pretty damn good idea of where this bug is.
d. Now let’s put our depth bracketing to use! Reload it at “step 2”, which would have been the previous turn. You try a major activity and march an army to the south. You go to the next turn and march you army back up to North where… it runs into the same “blocked” spot?!?!
e. Now reload again at “Step 2” You try something minor by marching an army directly to that same spot (only a turn early)…. With success? What the hell is going on? I’ll tell you. You just found the source of the bug as close as you can possibly get by using Depth 2 bracketing. Good job.

Depth Bracketing can be pretty intensive and is a good precaution. Think of it as bracketing preparation. You are simply rewinding the clock enough in order to change more in the environment to target a bug. For open beta playtesters, Depth 2 bracketing is very generous.


PERFECT SPY AND CONTROL FACTION Courtesy of Simetrical

Open the EB directory and go to data\scripts\show_me\EBBS_SCRIPT.txt.

Near the very beginning, you will find:



;VII) Allied rebel cities
;VIII) Reforms


; Note for self

Replace this with:


Code:
;VII) Allied rebel cities
;VIII) Reforms

console_command toggle_fow ; omit this line if you play with fog of war off
console_command toggle_perfect_spy
console_command control [FACTION]

; Note for self

[FACTION] corresponds to the faction whose turn the game crashes on. If, for instance, the game crashes as soon as the Eleutheroi turn starts, the line should read "console_command control slave". The list of internal faction names is as follows:
Romani = seleucid
Yuezhi = pontus
Arverni = scythia
Makedonia = macedon
Ptolemaioi = numidia
Arche Seleukideia = romans_julii
Qarthadastim = egypt
Pahlava = parthia
Pontos = carthage
Aedui = gauls
Sweboz = germans
Casse = britons
Hayasdan = romans_scipii
Getia = dacia
Koinon Hellenon = greek_cities
Baktria = romans_brutii
Sauromatae = armenia
Iberia = spain
Epeiros = thrace
Eleutheroi = slave
Now start up EB and load your saved game. Your turn should immediately end, and the game should progress until you get to the faction that's causing the problem. If it crashes before you get there, you picked the wrong faction—go back to ebbs_script.txt and change the faction to the one before the one you chose and reload the save. Once you get the right faction, you should be in control of the troublemaker.

Now start fiddling. Move around your armies, do stuff. Eventually, something or other you do should cause the game to crash. If not, well, you tried. Either way, give yourself a pat on the back and remove the three added lines from ebbs_script.txt so you can play normally.

Now come back here and make your report. Do all the details: say which save you examined, exactly what steps you took. This will help us figure out what went wrong.


DOCUMENTATION

Now that we have a general idea how to playtest, we need to have a good understanding of how to document our findings. After all, what good can we do if we find a bug but we cannot communicate to the EB talent how we found it? It is absolutely critical that we provide a “roadmap” to the appropriate teams, so that they may duplicate the bug and kill it. Communication is the key to success and that means we need to break the information down in a way that can easily be digested by the talent who will fix the bug.

We would be grateful if you apply the following format in reporting a bug to us in the relevant threads:

Definitions
This section provides a brief list of definitions to help clarify the rest of your report. If you think the reader may have a hard time figuring out what something is, just provide a brief description. For example, what is an icon window? I should provide a brief definition just to clarify exactly what I am talking about. This may be faster than posting a picture.

Creation/Duplication
This is how/where the bug/error may be found within the game. This should be a short summary explaining how you ran into the bug. Explain if you were able to duplicate the bug using bracketing.

Description
This is a description of the bug. Just explain what is wrong. Pretty simple.

EXAMPLE 1:

Definitions
None.

Creation/Duplication
Acquire the "Bardic Rhetorician" ancillary.

Description
The definition for the ancillary and his benefits appears in duplicate.

EXAMPLE 2:

Definitions
Banner: The faction banner that is located in the faction description.
Icon Window: The brief description that appears when a player mouses over the
faction Icon on the right side of the screen.

Creation/Duplication
Begin a new imperial campaign. You are taken to the faction selection screen.

Description
The following errors in the user interface are present:
Pahlav: Reads "Parthians" in Icon Window.
Hayasdan: Reads "Armenians" in Icon Window.
Getai: Reads "Dacians" in Icon Window.
Sweboz: Reads "Germanics" in Icon Window. No banner in description.
Casse: No banner in description.
Aedui: No banner in description.
Rome: No banner.


Thank you again for assisting us in making Europa Barbaroum the total conversion modification for Rome: Total War that we all hope to play. Please paste your questions and comments about this guide within this thread. A new thread will be created just for bug reports.

Europa Barbarorum

khelvan
03-06-2006, 10:37
Here is another step to take when dealing with a persistent CTD. Please try to reproduce it using the neutered traits file I have attached in this post (http://www.twcenter.net/forums/showpost.php?p=835308&postcount=17).

Thanks!