| In P4-P6, you as the Adventure Game KIT Developer are expected to build the system using all the tools in Squeak. But you are developing for an Adventure Game Developer who will use your Kit to build something like the HomeWorld adventure game. Your user-developer (game-builder) may not know Squeak, definitely doesn't know how to use a browser, and plans on just typing in a file of code. That's your model of a user. In P7, YOU are that user. Make the game builder's life as easy as possible in P6, because that life becomes yours in P7. Mark Guzdial |
| Turn hardware acceleration on, perhaps? What version Squeak are you using? Mark Guzdial |
| Oh, I understand. Here's a suggestion: Load everything at first (put up an hourglass cursor) and hide what you don't want to show. Mark Guzdial |
| Only half credit is available for each point of the game if it's text only. Mark Guzdial |
| You won't get P6 before P7 is due. But I encourage you to actually MEET WITH YOUR TA and ask them if the Wonderland interaction is okay. (I can't believe how people are avoiding their TAs, even when it's required to get your grade! We're thinking of making meeting with your TA a requirement next semester.) You could also come see me – I'm sitting here in the DARTS Lab now at office hours with no one here. Or you can ask here. I thought that the Wonderland specs were pretty clear in P6, e.g., rooms are unique, when something is taken it disappears, etc. But I'd be happy to answer any questions here! Mark Guzdial |
| Sure – why not? Mark Guzdial |
| That works. As long as it's possible to see the interaction. Mark Guzdial |
| Take a look at the example in the textbook on creating a SqueakMovie – you can ask the World to update itself, which gives the current animation a chance, before you move on. You could do that between commands, even those taken by external actors. Mark Guzdial |
| Yes, the Troll would count as one, but that's pretty boring. Be imaginative! Mark Guzdial |
| Jared, yes, that's a limitation, but let's think about it before we label it, shall we? The number of literals is stored in the header of the method. You want that header as small as possible, you're going to want a lot of them, and Squeak wants to run in small memory devices like WinCE. So you leave a byte for counting literals. (We actually discussed this in class – methods compile to bytecodes, and there's one byte for referencing the literal frame.) So there's a limitation of 256. If you hit that limit, you're not writing well-written code, IMNSHO. Break up your workspace code into methods! As I said in class, we're going to call a particular class method – you can DO ANYTHING YOU WANT IN THAT CLASS METHOD, ESPECIALLY CALL OTHER METHODS! Mark Guzdial |
| USE MORE THAN ONE CLASS METHOD!!! I answered this one in class three weeks ago. (Yes, Professor Guzdial is annoyed. When less than 1/3 of the class shows up each lecture, you have NO right to complain when you don't know what got discussed in class.) Mark Guzdial |
| That IS the "official" way, Jon, as I said at the time in class. Mark Guzdial |
| My apologies sir. I was in class that day, and even mentioned the problem during that period. If you wish to berate me tomorrow about not understanding the Milestone instructions, I will be in my usual seat, fourth row, far right (from your point of view). Jonathan Shaver |
| Workspace code can call other methods, too – in fact, that's always what it does, right? "All computation is triggered by methods." The point of the BF/IT statement was that you may not create any additional classes – pretend that you're a programmer who knows virtually no Squeak, and maybe not O-O, but is building a game with your API. Mark Guzdial |
| A different "set" without changing walls/ceiling/floor would still constitute a "room" to me – we can be flexible with the definition of a "room." But since changing the ground color is so easy, that should probably change with each room. Think of yourself as a director – it's okay to be minimalist, but think about what best conveys the "scene" to the user/viewer. (BTW, Robert – what browser are you using? After you edited, all these extra LF's showed up in the page.) Mark Guzdial |
| It's perfectly reasonable to have verbs that are only understood by some objects. Not all messages are polymorphic, right? Mark Guzdial |