July 5:
Progress report! After three hours of programming (and continuously checking the Forum Games and Roleplaying forum), I now have a working program! It just doesn't do a whole helluva lot yet.
-It has 3 .txt files; one each for player characters, NPCs, and locations. Currently the NPC and Location files are empty, but the PC file is 153 kb. What's it full of? It has the names of the current eight players and a LOT of empty space. The empty space will eventually contain all of your health displays, items, skills, and other random text.
-The program itself has a listbox and 3 buttons. The listbox will contain the name of every player, NPC, and location, and will be used to navigate the program. Right now, every time I run the program, it shows 8 names, and I can even select them if I want to, but nothing happens when I do.
-Two of the buttons don't do anything yet, but the New Player button asks me what the new player's name is, so I type it in, and then it puts their name (and a LOT of empty space) into players.txt, and updates the list.
-The New Player button will check and make sure that this 'new player' you're making actually has a name, so if you accidentally hit enter before typing the name out it'll just beak at you and make you try again. If you REALLY want to make a character with no name at all, you can just hit cancel (because I forgot how to deal with someone hitting the cancel button on the messagebox. I'll look it up sometime in my next programming session).
July 6:
-Each player has: A name (determined when you first put them into the list), 6 sections for wounds and accompanying text if necessary, a general status page (up to 250 characters; used for stuff like poisoned or nauseous), 30 skill slots (each skill has a name, an integer for experience, and 100 characters worth of text for descriptions), 50 item slots (Items have a name, a quantity, and a description), a block of text for Extra Stuff (such as ChAoS and having steel skin or whatever) and a number (used to reference where the hell they are in players.txt). Currently, a person's name is set when they are first entered in the list, they are assigned a reference number, and you can enter their status description. You can also select their various body parts if you wish, but nothing will happen if you do.
-Each NPC has a name, their summoner's name (for familiars, constructs, and 'persuaded' beings), the number of body parts they have (up to 16) and associated health and text, a status description, 10 skill slots and item slots, an Extra Stuff block of text, and a reference number
-Each Location has a name, the name of the larger area it's in (i.e. that room with the crates is in 'the castle'), 10 slots for items lying on the ground, a block of text for whatever else you'll need text for (like for when you guys LIT THE PRAIRIE ON FIRE), and a reference number.
-NPCs and Locations cannot be created yet, but some of it is just copy/pasting from the 'create a PC' button.
-Can't make skills or items yet, either.
-Players can only change their status text. Okay, they can also TECHNICALLY change their Extra Stuff text, it just won't save.
-I figure at some point I'll need to figure out how characters are going to be sorted into locations. Probably, I'll give the 'character' class another property called 'location', and you can only say that a given character is dead, nowhere at all, or in one of the locations you have in the list.
So, it's coming along. Good thing I kept my final project from Computer Science 20, or it would have taken me FOREVER to figure out how to reference from .txt files again.
EDIT: Oh yeah, and it's got a print button that does nothing, but eventually it's going to make a .txt document which I can copy and paste onto the forums, and it'll have all your statuses all done up for me, complete with spoiler and acronym tags.
another EDIT: after a bit more tweaking, I tried setting vlynndar's body to mangled (by selecting his body from the Body Parts box and then putting 5 in the next box that showed up). Then it made 80 extra players. My computer lagged for about 10 seconds, and players.txt was suddenly almost 200,000kb. I do believe we call this a 'bug.'
Also from July 6 somehow?:
Okay, another progress report! Yay! Progress!
-That bug vanished. It happened once, and I've never seen anything like it happen again. Weird.
-The Graphical User Interface is starting to actually look like something. Holy cow, eh?
-When you generate a new character, apparently the 30 skill slots and 50 item slots are NOT taken up by objects known as "", but rather each of them are known as "[][][][][][][][][][][][]" or something like that. It makes trying to figure out how to deal with not having an item REALLY ANNOYING. So, much as it bugs me, not having an item or a skill in one of your slots will just show up as a blank space. At least for now.
-You still can't generate NPCs, locations, skills, or items, but if you could they would show up.
-You can finally change your wounds reliably now. The program has no trouble remembering that I recently tore my own head off and hit Vlynndar in the right arm. Mental note, use the 'save' subroutine often.
July 14:
DAMN but today was a good day for programming. Holy crap.
-Items work! Woohoo! The program can now remember that I have a staff which gives me +1 to magic, and a widgit which gives +1 to anything. The only thing it can't remember about Items is how many of them I have; it crashes when I try to change that.
-Skills work... except you can't select them or change anything about them so they don't really. But If you somehow managed to give yourself a skill and somehow managed to click on your skill without it crashing, it would show up and you could even change it. I think. It's kinda hard to test that though because, well, you CAN'T click skills just now. Silly out-of-range subscripts. I'll work a way around that tomorrow.
-You can now generate NPCs. When you do, it will ask you for the NPC's name (if you leave it blank or hit cancel it'll just say "okay, no NPC then" and not make one) and then it will ask you how many body parts this NPC has. Pretty quick I'm going to have to change this system because the NPCs do not have any
named body parts. Fricking antmen, forcing me to allow for the possibility of your existence. I figure I'll make up some hard-coded sets of NPCs (our humanoid 6-part kind, the antman 10-part kind, the dragon's 9 part kind, etc), with an option to make up your own set. The custom option will be tedious, though, because you'll have to type out the name of every body part. Perhaps I'll have to have a way to save custom body-part sets.
Dammit.-This program does not need a save button! It re-writes your character's (or NPC's, or location's) parameters
as you change them, and saves it to the .txt file whenever you click a different attribute to change. Okay, that probably didn't make a whole helluva lot of sense, so I'll try again.
The file stores whatever or whoever you have selected in temporary memory. For Players, I call it curPlayer. curPlayer is updated with every keystroke. curPlayer is then written to the .txt files whenever you click on a different parameter (for instance, if I was updating your items, it would save your character to players.txt when I switched to your skills box).
So yeah. Frequent, real-time saving. Woot. It even saves when you close the program.
-After I changed the interface, some of the code became useless... the program is now once again able to remember that my right arm took 3 damage and is covered in blood.
July 15:
Sorry, I forgot which error was which. There were TWO errors at the end of yesterday, and apparently my subconscious managed to blend them into one big forum-speak fustercluck. As it was yesterday, you could not change the number of items you have or the amount of experience you had in a skill; you could change the number in the box all you want, but it wouldn't save it. Also, whenever you tried to change the name of a skill or item, the program would crash.
-Both of these bugs are fixed! Skills and items are now fully functional. The only problem I have with them right now is that if you try to give yourself an amount of experience or items with a letter in it (i.e. "How many grenades are you carrying, Shoruke?" "3adz!"), it will beak at you and refuse to save, but it's not quite
perfect; I would LIKE to have it auto-backspace when you try to put letters in, but since I can't remember my parsing right now, that'll have to wait. Until V1.2 or something.
-NPCs are up. I think they're even completely debugged. The program can remember that the NPC King Is carrying a sceptre (ONE AND ONLY ONE sceptre) and that he has 3 experience points in the Ruler skill. The sceptre confers uberness and his three experience points give him +1 to leadership rolls.
-The lists of skills and items are now updated in a CPU-friendly manner, instead of clearing and completely repopulating the entire list like I was doing before. Incidentally, that was the cause of the previous crashing.
Locations are next, then I need to add in the body sets for NPCs, then do the print button, and then I think it's done. Woot! The end to impossible RTD-GMing is in sight!
July 16:
Whooo! I'm doing good!
-You can now make new locations now, and they work just as well as everything else. It took me a while to puzzle out how to make the program figure out I was selecting a Place, not a NPC (fricking 0-base counting systems), but once I got that sorted out it all just decided to work for me. Sweet.
-Long story short, everything works, except for the Print button and the New NPC button (which now pops up a new form containing several options of body sets, and lets you pick one, and lets you change them around, and there's a blank set you can use for making custom NPCs, but it won't register the new NPC yet)
-If anyone's interested: Players are roughly 13,000 bytes of data, NPCs are 10,000 and locations are 3,000.
July 17th:
-I finished off the New NPCs. There are several boxes containing default archetypes for bodies, which you can choose from. There's also a custom box where you can type in your own names for up to 16 body parts. Also, you can just pick one of the default archtypes and change some of the limbs in there one at a time. If you want to relabel your NPC's torso as something else, be my guest. Go right ahead.
-I fixed a logic error with the list of objects. Now you will ALWAYS have the right heading, even if you choose a location when you don't have any NPCs. Previously, if you did that, it would (wrongly) assume that you had NPCs anyway, and work from there. Then it would crash when it tried to save to the current location's reference number, which would be 0 since it never loaded a location. But yeah. Fixed. Woot.
-When you change an item's name, it will check how many of that item you have. If that item's quantity is currently 0, it'll change it to 1 for you. Just in case you forget to actually give yourself one of that item.
-The print button does something! Omigod! Omigod! I managed to get through the Players' part of it. 106 lines of code later, I hastily made a character named Shoruke, gave him 1 damage to the head, said his head was covered in goo, gave him one widgit and 3 exp in programming (+1 to programming rolls), and hit print. And it said...
Hmm. Needs some work. GODDAMMIT VISUAL BASIC CARRIAGE-RETURN LINE FEED. The good news is, I know what the problem is. The bad news is, I don't know what to replace the offending command with to make-it-fuggin-work.
-Oh and I set the poll up for voting on the name today, too. People seem intently focused on calling it Cinnamon Rolls.
EDIT: Nevermind, I fixed that part. Yayz. THE PRINT BUTTON WORKS ON PLAYERS! WOOOOT!
July 19th:
It's done! It's finally done! It works! Woooo!
-I finished off the print button. Now you can hit print, and it pops up a new form with a textbox, which can be copied and pasted into the Bay12 forums. It even comes with spoiler tags.
-I used the program to do a turn in my RTD. It's SO MUCH EASIER to tag the statuses onto the end of my post now. Copy. Paste. Done. I love it.
July 21st:
I added in a feature which will do my regeneration rolls for me. Yaaay, now the most tedious part of my RTD turns is ridiculously easy. It works for Players and NPCs, and can be turned on or off with a simple checkbox.
(later that day)
I started working on my webpage. I figure it might as well not look like absolute crap, so it'll probably be a day or two before it's up. At least I've got myself a fancy logo. Also, the random number generator now generates actual random numbers based on your system's clock.
August 9:
The program is ready for download! Get the first ever released version of Cinnamon Rolls
here.August 24:
Today was bux fixes day. The cancel button now works when making a new NPC, you can now select an NPC if there are no Players in the list, and just to make Major_sephiroth happy, there is now a new line between the spoiler tag and the words "not injured" in the characters' status page when you print it.
August 25:
One of the bug fixes I made yesterday created a bug because I did it wrong. So I fixed it, and now you can select your NPCs regardless of how many players you do or do not have in the list. Re-bugfixed version is downloadable at the same place,
here.October 6th:
I did the delete button! Okay, I started working on it a few weeks ago, but yeah it's done today. The new version (1.1.4) is available at
the same place as usual. Man was the delete button a pain though. I eventually figured it all out though; first it wasn't lowering the number of characters/NPCs/Locations after you deleted something so it would just copy the last one, and then it would delete the wrong one: apparently the one you were trying to delete was still stored in temporary memory, so if you did something that would cause the program to save (which is, sadly, almost anything), it would write the 'deleted' thing over the proper one. But it's all good now! Oh yes, and 1.1.4 is version compatible with 1.1.3.
October 15th:
Finished the sample box, which shows the user what the output would be of whatever they're working with.
I also found... the wiki article on LOLCODE. And it was beautiful. Anywayz, yeah version compatibility and stuff. It works. I think.
EDIT:
I did the Die Roller today. In an hour. I'm having hyperness-swings. Anyway, that's two release versions today, as of today V1.1.6 is released.
January 13, 2010:
Oops, I didn't mention the massive overhaul I started a couple days ago. Well, Cinnamon Rolls is being rebuilt with a much more user-friendly GUI. As of writing, the new one has a full GUI, a functioning dice roller (imported from the old version), the ability to create a new game (complete with entry in init.txt, and a new save folder containing that game's players.txt, npcs.txt, and locations.txt), and the ability to put characters into that game's players.txt file. Tomorrow, I intend to be able to load games AND their characters.
January 15
th:
AFAICT, characters now work. You can't DO anything interesting with them except perhaps give them humourous names because items and skills aren't up, but they work. NPCs are in a similar boat, except that they CANNOT be given humourous names. For some reason, you can't assign them a name at all. I'm still working on that.
January 26
th:
Made it possible to edit the names of Players, NPCs, and locations.
January 27
th:
Attempted to allow saving/loading of items/skills/health for characters. There are now some very, very buggy but loadable items and skills.
January 29
th:
Fixed the item/skill bug. Apparently I had a bunch of calls to the Save subroutine at the wrong place. Also, if you only have one game, when you click load it'll automatically load that game for you instead of forcing you to pick it from the menu.
February 16
thStarted work on the memory overhaul. It seems to be pretty easy so far, but since I only got about 30 minutes of work done on it, pretty much the whole program is a mess (except for the dice roller) and will crash if you try to use it, and even if it doesn't crash, it won't do anything at all.
February 17
thFinished the memory overhaul, which was easier than I expected. Also added a bunch of currently-useless buttons to add, remove, transfer, and copy stuff from a character/NPC/location.
March 4
thDid some cleanup for code that hadn't been introduced to global variables, and got started on remaking the Save() subroutine, which is half done, and the other half has all the logical IF stuff in place and just needs some actual saving procedures to be done.
March 5
thDid summoar cleanup of old code that still though tmpPerson was valid. Also I introduced the PopulateLists() subroutine.
April 11
thI have merged NPCs and PCs into the same data type. Also, items can now be created, the quantity of items can be changed, and body parts can be hurt.
April 12
thChurned out a buggy version of the delete button's code. Made the "add item" button update the list immediately. And the decriptive text for items and skills is now implemented.