Thursday, July 16, 2015

Ouch! 3 months since my last post.

I've been--sharpening my tools. I hope? I meant to be posting a lot about my IFComp game, and the ideas and humor have been flowing, and I hope everything makes it in. The thing is, I'm putting out my nets, even if I'm doing a bad job of writing new code. I've got a lot of white paper.

As for actual accomplishments? The big news is that I finally moved some projects to GitHub, and the results were immediate. BitBucket has some useful organization, but GitHub's flexibility let me nail down the issues that were important to me.

So I would like to say that, if you have any idea whether creating a source control project is a good idea, even if you only use the issue tracker--it is. And with a source tracker, if you regularly upload, it's even better.

So what's my story? Well, you can see the progress on Stale Tales Slate and Threediopolis.

Part of this was me having more experience and being able to reorganize things, but another was that, between Shuffling Around and A Roiling Original, I forgot which game needed what and fixed stuff in one game but not another. The tags in GitHub are rather nice for that.

The only bad thing is, I wanted to start a new long streak, then yesterday I made a ton of fixes but forgot to push the commits. I had also planned to report a minor bug, but I talked myself out of it. "Inflating numbers." You mean numbers nobody really cares about?

Eh well, I'm starting another streak. And I really do like the nudge the layout grid gives you. It helped me achieve several big wins:

* Tools
** run Inform compilers from the command line, so any changes I make solely to the text can be quickly vetted. Say, if I go out to the grocery store, I can just push a button and compile everything.
** In that same app, I am able to create a true Beta-tester version. The biggest problem I have with the Inform IDE is that it has release vs debug and that's that. I've gotten burned on forgetting to switch "For Beta Testers" to "not for release" and now I can copy my source to another project, mark "beta testing" as "for release" and compile that. It's just a relief, knowing I won't have any risk of that mistake again. I'm prone to silly mistakes. Originally I thought I couldn't put the 2 apps together but then I saw pretty easily how I could. It's in ICL.PL and a bit hardcoded for my computer, but it's been good so far. Take/use/modify ICL as you please. It's in PERL, FYI.
* Stale Tales Slate
** I hit a certain number of poems and job seekers in Shuffling. That number being 1000. This was sort of a mental endurance exercise for me, a "being there." I looked up interesting baby names and then ran them through my anagram matcher (for first and last names) to see about cool names. For the poems, I just slogged through any old nonsense. I remember feeling quite good hitting 100 poems and 100 names. And maybe I pressed to hit 4 digits. But it's a relief and accomplishment to hit it--and I felt one more reason I could move on.
** I finally wrote out reasonable tests for all my random text so it looks right. Again, it was as simple as writing an HTML file, but crossing everything out took time. It was worth it, though. It exposed a lot of annoying but not lethal bugs, and again, it's just a feeling of being relaxed. Roiling will add 4 or 5 random text lists for this release (wish I'd kept track a bit better. I have the R3 source but that's a job) and I think it's about at the end.
** Roiling's hint commands were a bit, err, heterogeneous. I wound up having 2 different code paths for store Y and T regular hinting and for the one-use hint-items, while U/V/P used one. Again, plowing through revealed various small problems and just felt cleaner when done. Yes, I should've done it this way in the first place. But yes, it would've been very tricky. It's fixes like this that make me feel I'm not just re-releasing for vanity, or to avoid any full disaster.
* Threediopolis
** Beta testing revealed that I should use the full-menu option for advanced mode. This looked to be 100 lines of tricky code, til I saw that I could just define a table name as a varaible, so I had (table of normal/table of advanced.) So that was just fantastic. I actually thought of it in the dentist's office, because I needed something to get my mind off the fear. And as so often happens, it helped other random stuff fall out. Two pairs clues that were too similar were broken up & I'm quite happy with the replacements.

Releasing may take time. I would love to work on them during IFComp so I am not worried about reviews & I have something to do. But the problem is, whom do I ask for testing? If they're good testers, it's best for the community that they are playing the IFComp games themselves and hopefully writing helpful reviews! That is a more time intensive, immediate thing.

Overall, there are a lot of important touchups to both Slate games and while some bugs made me groan, none are ultra-critical. I think I can put them on the back burner. But before the new year would be very good.

My next big push on GitHub is to take care of Dirk. There are some obvious features to add beyond writing touch-ups. The features don't feel too hard, and the alternate deaths should mainly fall with a bit of research (read: watching a video on YouTube until I'm almost--gasp--sick of the original game!)

Long term, I would like a new version of Ugly Oafs. The puzzles are still a bit wobbly but I think the GitHub bug organization will help quite a bit. But sadly, I'm not so emotionally attached to that game. It's really quite tough for me. Still, anyone willing to test the hint interface would be doing me a big favor.

No comments:

Post a Comment