What is the most efficient way to test a game as you go along? I know there is the play test button but is there a way to test just parts of the game without having to play through the whole thing? An example would be such as just testing an event or boss fight to make sure that one small piece worked.
Most Efficient Way To Test Game
● ARCHIVED · READ-ONLY
-
-
Place your characters starting position at the part you want to start at, you can flip switches and change variables if need be by pressing F9, furthermore you can get a script to skip the title screen, or scripts to skip cut scenes, or long events.
To test fights, use the battle test feature in the troops tab. You can set each characters equipment and level before the battle test. -
The way I did it in my game (Recurrence, in sig, which is open world) was by having an event in the main map that turns on a bunch of "test" switches. If I skip the intro map, then the event notices I don't have the correct items -- which means I never have to manually change anything, other than my starting position. In my menu I have a teleporter so I can jump around the world, and a "shop" so I can give myself any items for free. So if I want to test something, I'll just start myself there, give myself the necessary items, and check it out.
This works because my game is mostly on one huge map. I think there are scripts that will start you with certain items (and it's easy to write something like that). Here's some code I copied from somewhere here (sorry, forget who):
Code:$game_party.gain_gold(99999)$data_items.each { |i|next if i.nil? or i.name == ""$game_party.gain_item(i, 99)}Of course, if you want you can change $data_items to $data_weapons or something else and the amount you want. -
The most efficient way is to get a hundred tester to do the work ;-)
Other than that, you can make a temporary event on the first map that allows you to skip to later maps and get additional levels - but that way, there won't be a balance test - this would be only a funtional test. -
It's very simple, change the starting point as needed, and create shortcut events to turn on switches, give you items ect as needed, to easily test out any features that need testing.
The speed inwhich you can setup shortcut events in the editor, and then jump into playtest mode, makes testing multiple outcomes/various versions of a event insanely fast.
Basically, just about as fast as you can think something up, you can change something, and retest it, It's really that easy :) -
If you hold down the Control key during playtest, I think you turn off all random encounters and can walk through walls if needed.
As for items, you can make a Developer Wand which allows teleportation, grants items, etc. Of course, you'd need to implement, say, the teleport function, but if it aids in playtesting, it's a good idea. Some other things that might be very useful:
- Add Gold
- Add XP
(If you are using a time script) - Set Time
Personally, I keep a current save game which I advance as I make more of the game. -
Automate your testing.
I am not aware of any "good" automated testing for RM though. -
This is just my personal tool. But it helped me much when I want to test my game
http://www.rpgmakervxace.net/topic/24034-debug-frameskip/ -
Thank you all for your advice, it's greatly appreciated :) How would I go about making these shortcut events?
-
You would create an Event, and in the event, use the Set Switch, Set Variable, and any other states you want, to give your party what you need. Then call Transfer Player to put the party where you want to test.
Basically, assemble a custom, one-off Event which sets everything up. -
Thank you all for your advice, it's greatly appreciated :) How would I go about making these shortcut events?
It's nothing special, you just make a event that turns on any switch, adds party members, give items, ect, what ever is needed to test the event or feature. -
Another debug tool that should be useful
http://yanflychannel.wordpress.com/rmvxa/utility-scripts/debug-extension/
It's allow you to make a 'game cheat' by pressing shortcut like ALT + F7 and it will run a specific common event -
Create an empty mapThank you all for your advice, it's greatly appreciated :) How would I go about making these shortcut events?
Call it "test map"
Create all your events on that map
If you make another test event, copy it over to your test map
Now you've got a collection of test events ready to use and you can accumulate more over-time. -
Me, I just make a debug room, and have warps, that automatically flip certain switches in the database so I don't have to do the actual story, and take my character directly to specific locations. I test battles in the debug room, and have all the items in my game in a separate room.
-
Create an empty map
Call it "test map"
Create all your events on that map
If you make another test event, copy it over to your test map
Now you've got a collection of test events ready to use and you can accumulate more over-time.
Why? Just use the map, that the event belongs to. Even if It's an event hub, as long as you flip the correct switches or whatnot, it will be fine. There's no need to make a "test" map to house duplicates of your events. -
I make a testmap if only I want to test a certain script function
-
I keep multiple Save files going as I'm working on the game so I'm always at around the part I'm working on. If I need to fix switches, variables, or other stuff, I can always hit F9 to adjust them or add a temporary NPC to fix things when I talk to them. This allows me to know the relative power that the player would be at at a particular point in a game.
The only problem I might run into is if I make adjustments or add scripts later on, as that can sometimes completely screw things up and make save files no longer work.
I'll also add debug items to the player to make things easier to test, like an item that 1-shots everything or makes your party invincible so that I don't have to go through random battles or refight fights I know that are fully tested, while still making sure the party is adaquately leveled. I have had to restart playing through a game I'm testing before, and that's when these items really come in handy. -
I develop the game in the sequence the player will play it, and I test as I go, creating several save files - one will be the tested/fixed version at the last "checkpoint" (part of the game I am happy is working), and I might have a few for the current area I'm working on and testing. That way if something doesn't work, I've got a file I can restore so I don't have to play from too far back, but I still have all the team members at their appropriate levels and with appropriate equipment and items, and all the switches, variables and self switches set correctly for this point in the game.
Setting a starting spot is good if you just want to do a basic test, but unless you have EVERYTHING set the way the player will have it when they go through that part, there's always the possibility that you'll miss something.
And when you're all done - either a single small part, a complete area, or the whole game, play it yourself over and over. Do what you SHOULD do, but also do all the things that you SHOULDN'T do (THIS is what takes the longest time).
And then see how many testers you can get hold of who will do the same.
I really don't know if there IS an "efficient" way to test. If it's fast, it's not thorough. If it's thorough, it's DEFINITELY not fast. And it's the thorough type that needs to be done. -
I usually make a list and put everything that I see wrong down with a checkbox next to it. It makes it easier and less stressful to see it laid out. Then I go back after playing and fix it all... and save often in case if something is a game breaker!
-
If you have a single test case that will cover a dozen maps (eg: flipping a set of switches/variables), are you just going to duplicate your event across each map?Why? Just use the map, that the event belongs to. Even if It's an event hub, as long as you flip the correct switches or whatnot, it will be fine. There's no need to make a "test" map to house duplicates of your events.
I'd rather use Reference events and keep the actual tests in a single place.
Plus, I really don't want to have debug events lying around. It just makes it messy to clean up.