First off: Make a backup! Then, make another backup! I just read a post over at the Yahoo AIF Archive about an author whose system crashed, thus losing two games he was in the process of creating. I had an experience like this when I was creating "Dexter Dixon". I had just finished the game and released it to my beta-testers. I was cleaning up my files and accidentally deleted one of my modules. Of course, I had no backup. Fortunately, the module was mostly just room and item descriptions. So, I fired up my compiled copy of the game and spent an frantic week copying room and item descriptions from my compiled game into a new module. I still don't think I got everything. Now, I have two backups of everything. I copy it to floppy disk when I finish working on a section, and keep another copy on another computer.
Second, Stephen Covey makes a lot of money on his 7-Habits. Why? Because they work! The one in particular I'm thinking of is "Begin with the end in mind" (Habit #2). When I started my latest game, "The Backlot", I had 90% of the game laid out within a couple of days. What was I missing? Why, the ending, of course. Sure, I knew Lynn wanted the Orb, but I couldn't come up with a workable reason for why she needed to go to our world. (At least, not one in keeping with her megalomaniacal personality.) That put production on hold for many months while I tried to come up with something. (BTW, I still think that part is a little contrived, but it was the best I could come up with. )
Third: Don't be afraid to scrap parts that don't work. In both "Dexter Dixon" and "The Backlot" I had originally designed interactions with other characters that I ultimately scrapped because they just didn't work. In "Dexter", it was your ex-girlfriend, who happened to be Joe the bartender's sister. Even removing the familial relationship, I just couldn't plausibly work her into the story. In "Backlot", it was the woman who captures Susan. Originally, there was supposed to be some sort of conversion of her from Lynn's side to yours. But every scenario I came up with seemed to be a variation of Lara Croft and Tapper in "The Sun Obelisk" or the female guard in NewKid's trailer "The Wraith". I also had originally set it up so that if you joined Lynn (gave her the Orb of Levart), then you and she would have a scene with Susan. Logically, Susan would object, after all Lynn abducted her and tied her to the rack. So, it involved non-consensual sex with Susan. I started writing it, and then decided that wasn't the sort of thing I was even interested in writing. And, Lynn and Susan's personalities weren't the type to get involved with each other any other way. I regretfully had to scrap it.
Sure. The first game I tried to write, the game no one has ever seen, was a monster where anybone could do anything to anybody. I think I got one character to one and a half characters into that game and stalled. It was, of course, The Game That Was Too Big To Write and it's a game most writers will begin and then need to abandon, else they'll never write anything.
Take home lesson: Think smaller. You don't have to think small, but do think smaller. Until you actually finish a project, you won't have a feel for what you can finish, but a reasonable game size is one with a handfull of PCs, and a dozen to a couple dozen rooms.
The game I finally wrote was Rogue Cop, which initially was nothing more than the TADS translation of Safe Sex. By the time I was almost finished with the original project, I hated the male lead and hated the game of Safe Sex. So Rogue Cop is a deliberate attempt to completely subvert the whole idea of Safe Sex, and central to it was to change the little girl from a victim to someone more calculating, exceptionally precocious for her age (In this, if Heretik's critricism is to be taken as gospel, I failed. However, the RC sex is often regarded as yummy, so it weren't *all* bad ;) ).
Mistakes? I needed more help than I knew, and had I taken in a veteran "game hacker" into the project at the 2/3 point, the game would have ended up sounder and most of the flames that resulted over a verb omission wouldn't have happened. I went to open beta too early, though I was lucky and Rob Loggie was one of my open testers.
take home lesson: consider a team approach to building a game. I think minimally you want 2 others in the development of a game. You want the gadfly-game hacker who will try to push your game to the limit and do every dirty player trick he can. As I said, this person should come in roughly at the half way to two thirds point. Then you want a senior beta tester to come in 2-3 weeks before the open beta. Give him a shot at your game for a few days before throwing it open to the public beta.
Dear Brian had a long long concept building time before I went to code. I took notes with a PDA (a 5x8 notepad would work as well), especially when I had a clever idea to put into code. I got a coauthor; Chris's role has been discussed extensively in other posts. The team that resulted allowed for 3 and 4 way discussions at points. I don't think it took away from development of the plot. On the contrary, when there were issues with the plot at hand, one of us could build a solution.
take home lesson: if you fear that you'll lose your precious ideas to someone else if you open your game to a couple people who can help, I'll simply remind you that there are far more good ideas than completed games. It can help your morale if you have someone who likes the idea and gives you a bit of encouragement, and it helps if someone points out that you missed this verb or that verb before it becomes an issue on agx.
Finally, there are often good authors with established reputations who are not up to the pains taking grind of writing the core of a game. These people make excellent coauthors and it hurts you not at all to ask them for help. Even those who are active may want a break from their own creative focus. Thinking about something else for a while is often an excellent way to get out of a "plot rut" and think nonlinearly enough to come up with a creative solution.
Those who may not wish to coauthor may still answer code questions or suggest plot possibilities that may not have occured to you.
take home lesson: 2 heads are better than 1, even if 1 is doing 90% of the hard stuff.
Here are some thoughts from my experience with Prom Night.
1. Read up. Before starting to write your own game, you should read examples of good AIF or written erotica. I'd start with Newkid's games HI and GNA, which both feature good writing and well-developed characters. You should also play some good non-adult IF games. A good place to start is the "interactive fiction ratings" page at http://www.carouselchain.com/if/statistics.php, which lists the top-rated games in various genres. Finally, you might want to look at good (non-interactive) written erotica, although in my experience it's not easy to find on the internet. The quality of the writing on groups like alt.sex.stories is very mixed.
2. TADS or ADRIFT? I've tried both, and I'd strongly encourage learning TADS. I think it's probably possible to write a decent game using either system. However, the ease of writing in ADRIFT sometimes seems to lead to lazier game design overall. For example, I've noticed that ADRIFT games generally have sparser descriptions and less well-developed characters than TADS games. I've played many ADRIFT games in which I get "Nothing special" almost every time I look at an object, even if the object is specifically included in the room description. ADRIFT games also seem to pose more "guess the verb" problems. If you're writing in ADRIFT, make sure that you take the time you're saving from not having to program and use it to write fuller descriptions, implement more synonyms and/or syntaxes, flesh out the characters, etc. Also keep in mind that if you write in TADS, you will have the benefit of a variety of libraries that you can use to automate features common in AIF, like body parts, layered clothing, and actor daemons--some of which may be difficult or impossible in ADRIFT. If you have any inclination toward programming at all, try TADS.
3. Start small. I've got to reiterate what Choices, Newkid, and other authors have said on this point: It's easy to bite off more than you can chew when writing your first game. I did with Prom Night, but was fortunate enough to get some help from another author. One thing to try is writing a small "one room" game before starting on your magnum opus. I did before starting Prom Night, and it gave me some practice in writing and also a sense of what to expect when I started a larger game. And keep your magnum opus reasonably sized. Since the vast majority of time creating an AIF game goes into writing characters, the size of your game is really determined by the number of NPCs. I'd err on the side of writing a few well-developed characters (five or so is a good target) rather than trying to write 20 characters and risk having them be boring and one-dimensional.
4. Write about what you know. This is a common adage regarding fiction-writing generally, and I've always thought the best AIF games were those based at least in part on real experience. HI and I-0, two very highly regarded games, had their roots in experiences of the authors. Most of the characters in Prom Night were based at least in part on people I know, and parts of the story had real-life analogues as well.
5. Write about what you enjoy. Writing a work of IF, especially AIF, is a big project. If the writing process itself isn't fun, you probably won't finish. And it should be fun--this is a chance to put your fantasies into words. While you want to keep your players in mind, above all you ahould write a game that you will enjoy playing. The writing will go much more quickly and you'll be more satisfied with the final project.
6. Working with a co-author. Prom Night turned out to be such a large project that I eventually sought help from an outside author and was lucky enough to have Chris Cole agree to work with me. As Choices has already said, collaborating can ease the writing process in several ways. First, it means that each person has less writing to do. It also gives you someone to bounch ideas off of and a "reality check" on ideas that aren't working. Finally, having a good co-writer can help keep your energy up and give you an incentive to actually finish the game. To avoid the ball being dropped in a collaborative effort, I think it works best when one person is the "lead" and is ultimately responsible for putting the entire game together. Obviously, you should make sure that your co-author (1) is committed to finishing the game and (2) agrees with you about the game's overall content and style.
A note on general writing process: With Prom Night, I started by writing out the overall game design on paper, including a map and the rough outlines of the storyline associated with each character. When coding, I began with the rooms and important objects in them. The largest part of the project was writing the characters. Chris and I split up parts of this, but the overall approach was to go character by character, writing the story and puzzles leading up to the seduction, and then the sex scene itself. The final part was filling in all of the details: fleshing out room descriptions, adding objects, writing non-essential character conversation, eliminating guess-the-verb problems, etc.
7. Polishing the game. This is an important part of the process that seems often to be neglected. Remember, if you've put weeks of work into writing a game, you may as well put in the couple days additional effort it will take to make it a great game. Your ultimate goals should include:
Best of luck with your games!