Colossal cave walkthrough11/13/2023 ![]() How do you test a change like this? Run a game with lots of output save all the output recompile run it again make sure the output hasn't changed.Īnd what's my favorite game to test with? Adventure, of course. It was an incredibly minor optimization to the I6 print statement. Again.Īs it happens, I had an I6 fix that was just itching for some tests. How about a command-line option? I whipped one up, dropped it in, problem solved. I have to be able to set deterministic mode with no help from the game at all. That's meant to cover all styles of I6 code: with and without debug commands, with and without I7 setup code, the lot. It's a very minor flaw, but as a developer it makes me itch.īesides, not everybody uses I7! I have a separate test suite for the I6 compiler. But this is still a bit of a sin, right? You're not quite testing the release version of the game. It compiles the "deterministic" switch into the game directly - it's built into the I7 templates. You want to test the compiler in both debug and non-debug mode, right? Your users (game authors) need both to be reliable!Īs it happens, the I7 test framework doesn't use the RANDOM debug command. Maybe you're not testing the game at all - you're testing the interpreter, using the game as a test case. If you're testing your game, it's still in development! But testing is complicated. So what if you want to test a release version of your game, rather than a development version? You can't type RANDOM in a released game the debug commands have been switched off. But this reminded me of another issue, which was that Inform's deterministic mode is a debug command. The quality of the RNG in your IF system is not anybody's first concern!) So we might make this more configurable in the future. It's not as random as the srandom() call, which is available on a lot of platforms even if not all of them. My plug-in is better for testing but not ideal for normal play. So David posted a small change request I merged it problem solved. The deterministic numbers you get from srandom() will be the same on a given machine, but no bets when you compare Linux and MacOS. It was a long time ago.)Įven better, the plug-in is guaranteed to work the same on every machine. ![]() (When I originally wrote the interpreter, not even all Unixes had it. Glulxe comes with a plug-in replacement, exactly for operating systems that don't have it. See, he was working on the Windows version of the test suite - which doesn't have srandom(). But you can see there's a whole chain of logic to support this apparently simple problem of "test the game".Ī few days ago, David Kinder sent me a message asking if he could tweak the Glulxe interpreter a bit. This invokes the Glulx opcode, which calls the glulx_setrandom() interpreter routine, which calls the srandom() Unix library function, which. In Inform, this feature is the RANDOM debug command: So the thief always appears on turn 87 (or whatever) - as long as you stick to the script in the first 86 moves. With this option, the dice come up the same way in every playthrough. To handle this, every major IF system provides a way to put the random-number generator in not-so-random mode. It's no good trying to verify a walkthrough if you can take a nasty knife to the knee at any moment. The thief in Zork the pirate and dwarves in Adventure. ![]() You want your test-tool to be able to check all that stuff, not just plain text. Some display images or complicated diagrams in the status line. For example, some IF games accept keystroke input or timed input. Now, when I say it's easy "in principle", what I mean is it's complicated. Inform 7 has a tool called intest which does basically the same thing. I have a little Python script which I like to use for this purpose. Shove a walkthrough in make sure the right text comes out. In particular, the very large set of unit tests which verify that nothing's broken this week. To answer this, let us swoosh over to the Inform 7 source repository. I have a walkthrough in a book (Schuette's Book of Adventure Games) that was published in 1984.ĭid Adventure need another walkthrough? Obviously not. The IF Archive has an Adventure walkthrough dating to 1992. Yes, the original Colossal Cave game, yes, the one with hundreds of maps and hint files available. Here's the least exciting IF news of the year: I just wrote a walkthrough for Adventure! ![]()
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |