Works-in-Progress: Brags and Bummers

See earlier discussions in this thread about creativity.

If you have too many ideas, maybe it would help to write them all down and then later sort them for inclusion into different games at a later date.

This is sort of a bummer, I suppose. I’ve recently started to feel that T3s library is getting in the way of what I want to accomplish in my WIP (it’s not a puzzle game). T3 is awesome for the purpose of world simulation. However, I only need a small portion of that simulation power for my WIP. I also discovered that the effects of T3s extensive simulation power conflicts with my goals, which are much more focused on narration than simulation. The result is a lot of extra coding and deep diving into the lib in order to circumvent built-in features that is at cross-purpose with what I want.

This is a little discouraging, and I have started to wonder if T3 really is the best language for my project. This far into the process of learning TADS3 I don’t think I want to start learning yet another new language, but I’ll probably give serious thought to T2 or Inform6 for my next. Anybody else have similar experiences, and/or related ideas or suggestions?

Mri

World simulation power? No, I want narrative power.

I don’t know what everybody else uses to code, but I have been using Notepad++, which supports multiple tabs. In one tab I have my actual game code, and in another I have a pile of scrap notes. For me the coding process takes a lot longer than the writing and/or the brainstorming, so sometimes I’ll be coding a long section and have a great idea pop into my head, like “Oh, you could use THIS to do THAT over THERE!”. I then jot that down over in the note file, so I don’t lose that thought. Being slightly ADD, I tend to jump back and forth between different aspects of a project (even technical and non-technical) more than a lot of people, but when I do sometimes I forget what I was working on. A little file full of notes doesn’t hurt.

Even when I am working on a traditional novel, I do the same thing.

Notepad++ rocks! It’s my editor of choice for Windows, but mostly I use MacVim or Gvim. For Inform I use the IDE, but I often slip up and start typing vi commands, filling the source window up with ‘jjkkjkkk’ or similar garbage.

In Inform, I write myself a lot of notes in comments. A good deal of coding consists of cutting and pasting things from those comments.

I’ve been a BBEdit/TextWrangler user on the Mac for a very, very long time (I do everything textual with that software - program, wordpro – even type emails with it sometimes). I’m not entirely sure I’m comfortable with Inform 7’s managed IDE yet. At a point when I become more fluent with the language, I could easily see myself returning to TextWrangler and cutting/pasting into the IDE. In fact, I’d love it if I could just point Inform 7 at a text file to compile (which I am not entirely sure yet that I can or cannot do because I haven’t tried – I still need the training wheels).

Paul.

At a point when handling of indentation becomes a little more robust in the IDE, I can see myself doing something similar.

I don’t understand this comment. If you use tabs in TextWrangler, they will transparently paste into the IDE. I use an external editor all the time to do regex replacements and other things that the IDE isn’t good at.

Or are you saying you’d like to use spaces in TextWrangler, then paste into the IDE to see them automatically converted into tabs?

–Erik

I’m saying I don’t want to have to worry about where the text came from. (And by “similar,” I meant “with vi.” I used to love BBEdit, but I can’t justify paying for TextWrangler when MacVim is awesome and free.)

I have vi set up to replace all tabs with spaces. It works best with Python that way, and it’s good in general because there’s no guessing how many spaces are in a tab stop. If I copy from the IDE and then paste into an editor, and back again, maybe it will work. But what if I forget that the text came from an email or a web page? If I have to think about it, I’m more likely to just stay in the IDE.

Actually, I really like the IDE with the index and the skein. I’ve had some weird behavior with the skein, but I’m determined to use it more because I like testing.

Probably my least favorite aspect of the IDE is how slow it is when you have unbalanced brackets. If you open a comment, it formats the entire rest of the document as a comment, which can completely freeze up the interface for long enough to type 2 or 3 sentences. Maybe pasting would be faster than typing, but it’s another thing I haven’t felt like messing with. I do occasionally open up extensions in vi, though, because it’s sometimes easier to read them that way.

By the way, does anyone have an I6/I7 module for vi? It would be nice to have some syntax coloring.

TextWrangler is free.

(I jump back and forth somewhat arbitrarily between TextWrangler and Emacs. But in I7, I’ve only used the IDE.)

I see. TextWrangler is free, actually.

Yes, the Mac IDE definitely needs improvement there (not sure how the others fare). I use TextExpander to auto-close quotation marks and brackets to avoid this problem. If the IDE’s rendering speed can’t be improved, autoclosed quotations/brackets would be the next best thing.

I made an I7 syntax-coloring module for TextMate. I’m not sure it’s absolutely complete, but it uses TextMate’s Inform bundle to color I6 inclusions as well.

That is annoying, I agree. The way I’ve dealt with it so far is to type the close comment bracket, first, arrow back one, then type the rest.

Paul.

Vim comes with I6 syntax highlighting out of the box: vimdoc.sourceforge.net/htmldoc/s … inform.vim

A new brag: Following my discussion with Ron Newcomb about avoiding nested “if” statements, I created my first rulebook! Instead of a big complicated tree of “ifs”, I created a few definitions and used them in conditions for a number of rules.

[code]There is an alert animal called an old yellow dog. “A wretched old yellow dog is [state of the dog].”

Behavior of the dog is a rulebook. The behavior of the dog has default success.

To say state of the dog:
say “[run paragraph on]”;
follow behavior of the dog;
[/code]

There were some tricky spots. I wanted to call it “What the dog is doing,” but the compiler didn’t like having a rulebook with “is” in the title and tried to interpret it as a definition of something called “what the dog”. I tried “the dog’s behavior”, but calling a rule “the dog’s behavior when…” produced another error because a rule can’t be introduced with “the”.

I continue to be mystified by line break inconsistencies. When to use “run paragraph on”, etc. Some of my rules seem to need it, others don’t. Trial and error is the only reliable solution.

I still haven’t made a rulebook, but I want to look into it. It helps to have these real-world examples, no matter how simple they are. Actually, simpler is better. Often they make me say “Geez, that’s what they meant.”

In my game I managed to eliminate “You can’t go that way” messages. Using regions and regions within regions helped a lot. I also managed to create a test that checks for all exits.

Bummer:

“I’ll just make a simple story,” I thought to myself, a few weeks ago. “I’ll ease myself back into programming.”

Ha! Ha!

Brags: I get excited about my ideas.
Bummer: I end up making everything WAY over-complicated and then have to make that tough decision: to cut out stuff, or to implement the hell out of everything.

My game code got too big to compile as Z8/zblorb so I had to go with Glulxe/gblorb. I feel like it’s an even more major project, now.

(edited to add word)

Have spent much of this weekend agonizing over the subdivisions of items. Gets particularly nasty when you come up with plausible-seeming reasons for implementing dozens upon dozens of incorporated items, and iterating across them.

Brag: In my current WIP, I figured out a gorgeous way to implement something in I7. (Rather than using spaghettified statements to figure out which list I want to look at, I can simply declare a list as a property of a value and then go look up the list automatically.) Hooray!

Bummer: I figured this out after implementing it the ugly way 5 other places in my code. Darn it!

Brag: I’ve gotten my first IF game “The Z-Machine Matter” to a working prototype level of the opening scene along with help text, cover art, hints, user manual etc. That was fun!

Bummer: But, I’ve just taken a new job and I’m not sure if I’ll have the time to complete this any time soon. But I have a week off over Christmas, so I’m sure the family won’t mind if I sneak off and program for several days. :wink:

And here’s a link to the cover art
z-machine-matter.com/2010/12/cover-art.html
–Zack
z-machine-matter.com