Friday, December 26, 2014

Django CYOA

This is a new project I worked on recently to learn Django and get more Python practice. It creates CYOA style games using a combination of Django admin and HTML/CSS, and Python 2.7. Below are some screenshots, and here you will find the git repository. See the README file there for more about how the system works and how to use it yourself if you are interested.

A short example game I created is included. Perhaps in the future I'll get time to expand on it or make a new, larger one.

Game View

Story Admin Overview

Story Admin detail
(more) Story Admin detail


Wednesday, October 29, 2014

IF Comp 2014 Reviews: A - F

There are a lot of entries this year, and I'm trying to at least try to play them all. Here are some short reviews of what I've played so far. While I'm not doing any scoring here, (I've been making private notes for that to use when voting time arrives) there are some spoilers here. If you don't want to risk spoiling any of these games you haven't played yet yourself, then don't scroll down.










First game on the list. I'll just click "play in browser" and away we go. No, wait. There's another link waiting for me there, to apply for a job. Interesting. Wonder what the pay rate will be? The 2nd job sounds like one perhaps I can do. Oh great, a personality test. I failed one of these miserably when I applied to Pizza Hut as a teenager.

"If you were a bear, what type of bear would you be?" I would most definitely be a Were-Bear. Unfortunately, that isn't on the list. Okay, Smokey Bear it is. Team player? 9, of course (total lie). A few more questions and.. accepted! Wow, that was easy.

As the game moves along, I find myself going through many texts in the form of emails, reports, and conversation logs while flagging some things as suspicious. The constant train picture and comparison in some of the emails is pretty humorous. I seem to be doing not such a great job, but not horrible either. One person who calls themselves "Alpha" is asking me to not do my job and delete as much as possible. I am ignoring them.

Eventually, when asked to make "recommendations", I recommend Alpha at threat level 9. Doing so results in my termination from the company, as it was obvious to everyone but me that I was letting all the bad people slide. Oh well. "Those 'Smokey Bear ' types are never reliable."


x me
How very vain of you.

Okay, not a big deal. This is a game about Galileo and all, so I'm letting it slide.

"inventory" says I've got a travel case that contains what looks like useless scenery, but that I've also got a bag with a list in it. Hey, I'm going to start grabbing some stuff off that list! I remember seeing some fruit outside!

I go to take an apple, but can't due to my morals. However, I see a bit of metal, which is of course a key. I try to take the potato, and it tells me about the bit of metal again. A bit later, I discover a hint on an object referring to this key. I hope anyone reading this did not have trouble finding this key.

There are little slightly annoying bugs around but nothing game-stopping yet. Things like the latch on the globe can not be seen after the description of the globe telling you that it is affixed with a latch, which is locked. Soon, we are upon lack of capitolization in within various sentence beginnings. Pretty neat how it throws the items from the list into the bag once I buy them, though. Argh, multiple objects that seem to do nothing and do not have plural understandings; with exception to taking things.

Visiting the trinket shop, I notice there's no shopkeeper, so I'm going to loot the place. I start with the "marbles", and get 57 lines of:

marble: If you want that marble, pay for it.

Seems obvious the next course of action at this point is trying to find the new location of the bank so I can cash in the note so I can pay for the bookbinder's services. Found it.

"Now you just need some supplies, and you can be leaving for Holland. There is a market nearby, and you have a list of things to buy in your bag."

Cool. But I wonder what would happen if..

>give bag to bookbinder
(the bag to the bookbinder)
You give the bag to the bookbinder.

>take bag
Which do you mean, the bag or sack of coins?

>the bag
Which do you mean, the bag or sack of coins?

Very impressive and extensive hints system. Though the game seems a bit too simple for all of these. It also fails to tell me why I can't complete the 4th(out of 5 according to the hints) scene when I have paid to get the book bound and have walked into Alighieri street holding 2 apples, 3 pumpkins, a water vessel, and a veal slice. I did this with the items in and out the bag. Waited. Gave up.

Had good points and was fun at moments, but the bugs killed the experience for me.


This game comes with a warning for anyone who may be offended by IF RPG. I will press SPACE to continue.

It doesn’t take long before a combat encounter begins in this game. I keep meaning to check out Kerkerkruip, so I can’t really compare that to this.

Starting out, I go check out a temple which houses a priest. I pray and receive bless and curse (strangely, the same 2 scrolls I already have with me). Praying again gives the same result. Over and over. You can’t actually talk to the priest though because “You can’t see any such thing.” You can ask the owner of the trading post about “the trading post”, but “ask trader about trading post” gives no reply. There is a free scroll referred to at the trading post, but I can’t seem to buy or take it.

The popular typo theme in this one seems to be missing ending sentences. While the game doesn’t describe my defeated enemies pooling into thin air, there’s no trace of the body after the combat to search for loot or whatever. After a while, I just became disinterested in this one and moved on to the next.


Beg. Beg. Beg. Choice.

That’s where the choices end with this one. Your only possible action is “beg” over and over and then you asked if you should stay in the current town or move to another (unless you are kicked out.) Then you die. Then you restart. This being advertised as a randomized game, I gave it another try. I replayed it roughly 5 times.

The lack of options here makes for a disappointing experience. Descriptions of opportunities float by, yet there is no “ask dude @ bakery for a job”, etc option to click. Why can’t I stop begging after getting enough money for shelter for the day? There are very few options other than dying and seeing a slightly more detailed death message in this game. There’s no background to anything. WHY can’t I do anything but beg? I could start to imagine this for myself, but I feel the story should give me a lot more explain this lack of options. At least I can complete it.


This game has an interesting layout, though it does look a little rough. I like the green coloring of the screen, but waiting on it to refresh can be kind of annoying. Checking bioscans between turns gives some cool results, it's just too bad that the game wouldn't let me go back to the menu and essentially froze on my 4th or 5th bioscan.

On my first play through, I accidentally exited the game by hitting escape. On the 3rd turn, the game ended due to "space sickness" despite talking to GENE as frequently as I thought to, though scared to do it too much in fear of triggering the freeze bug again. Bug fixes and some randomization of the messages would make this game more worthy of play.


The game starts with a dinner date, and my date wants to play footsies. We leave after getting crappy wine from a creepy waiter, and away we go to her house. She agrees to cook spaghetti, but won’t give me her secret recipe. I think her disgusting secret is carrots in her spaghetti sauce. I like both, but the two don’t go together.

Again, I don’t feel like I have enough choices here. The “correct” ones seem obvious to keep from pissing off Caroline. Our next date is quite strange. “Do I forgive myself?” for what? I’ve been on my best behavior with Caroline. Whatever, I’ll say yes. I have to yes a few times once in the church to properly role-play. Doing this did make for an amusing (and pretty ridiculous) ending. No show-stopping bugs to be found, but the lack of choices going on here prevents me from rating much higher.


This game starts off as a typical CYOA style game, then (at least for me) quickly ended in a bad ending. Then, I was poked at in a “R U MAD, BRO?” sort of fashion. A few more replays later, I don't really find much fun to be had here.


When this story begins, I mistakenly think there are flying saucers outside. Instead, there's some really strange and creepy things going on here dealing with insomnia, alternate realities, and dreams. We have a few choices here, but nothing story-forking. However, we do have some cool puzzles in this Twine game!  While there were parts of the story I did not enjoy, there was a lot that I did.

The game presented itself well aside from one typo that stood out to me which I will mention later, never bugged out, had a cool and solid story, and was genuinely fun to play.

The only hitch was in the end: ”and now I just want everything to over"


Got off to a rough start despite not getting many parser errors, and looked at the walkthrough. Lack of paragraphs makes this one a bit harder to read. Way too much typing to think and examine instead of just “doing” things to make this much fun for me.


One of the bricks in the tower wall is black. That’s odd, you didn’t notice it before.

> x brick
It looks just like the other bricks, except black.

> take it
That’s not a command I recognize. Type “help” for command info.

> push brick
That’s not a command I recognize. Type “help” for command info.

“help” reveals a “use” command which is usually completely alien to me aside from graphic adventures with text parsers. The game advertises a streamlined parser, but it just feels more limited and frustrating to me. Not being able to use more than one line at a time is annoying once I glance at the walkthrough.


After some examining and waiting, it's obvious that there's some time-travel puzzling going on here. I used to get helplessly stuck in Day of the Tentacle, so I don't have high hopes for this one. After bumbling about a bit, I consult the hints, then the walkthrough. This just doesn't seem like it's a game for me. Moving on again.


The lack of indenting and paragraph spacing in this one gets on my nerves, but the story
feels like something bad must happen, and that keeps me interested in moving forward. As it progresses though, things get pretty cheesy and profanities seem tackily overused. A few more typos pop up like lack of periods and a random % mark. I'm not sure how much impact my choices are making, but 2 plays didn't reveal much.

I would have made those bad guys pay a lot more, for sure.

Friday, September 19, 2014

Moving On

Yesterday, I came home to a surprise. I went to update something related to my Ultima Online shard, and realized that my site now resolves to a help page. The site has resided there for about ten years now, as I never really needed a lot of space to host it. In about 3 hours I had uploaded all my data from a backup and redone all the URLS to the site, but you may still find a quirk here or there before I catch it. The old address was and the new address is

The new site is hosted by and so long as I keep refreshing the free domain name (or finally pay for it), it should stay there for some time to come. Also, all games and source code in my "Files" section should be working correctly now, because they are also hosted on the new server. The old site had a lot of files that were linked to Fileplanet, which is "no longer being updated and is in the process of being archived". Always a good idea to make frequent backups.

With that out of the way, I have a couple of game-related things to mention. The DPRK demo (Interactive fiction written in Hugo) is just around the corner. I just need a couple more hours to tie up some loose ends. The demo will feature the first PC's section of the game as well as an introduction to the second PC. I'm mainly looking for feedback on 2 things from the testers of the demo; how interested you are in certain aspects of the story (what should be focused on more) and what do you like or not like about the interface (The text parser commands, the layout of the windows, etc). It should only take a few minutes to play, but there are reasons for replay here and there due to story forks dependent on things like held objects and NPC interactions.

IFComp is also starting soon! I'm currently beta testing one game for it and hope to play a lot of the entries, and will try to review one or two once the time comes. I didn't really have anything near enough to completion to feel comfortable entering myself this year.

Retro Shard is back in order again lately new interest from a couple of people. My girlfriend has been doing a lot of play-testing on it, and I've gotten around to creating a new dungeon and finally creating a desert area. Next up will be creating a region within the desert area to allow for people to collect sand for glass-blowing. The new dungeon still needs some more spawners (monsters and treasure) to be fully complete, but that shouldn't take too long. Check out the Retro Shard section if you are interested in playing 2D Ultima Online on my server. It's free and fairly straightforward to set up.

There's been a new version and a few revisions of Inform7 released since I last worked with it. I'm interested in the OSX version, but figure the best thing to do is continue on DPRK until all of the extensions my last unfinished Inform project was dependent on are working in this new version. That last unfinished project was the "Interactive Dreaming" game. I recently took some pictures that I think will fit into the game nicely, and still have the beginnings of a cool sound track a friend of created a track for. The game itself was progressing okay as far as content, but the conversation system (the one I used in Lunar Base 1) was mothballed. If anyone has any recommendations for clean yet dynamic conversation systems that I may have missed in the past two years, I'd like to hear them.

Thursday, July 24, 2014

Quake II - Amazon Linux Server: Q2R1 init.d Script

About a month ago, I was asked about the current status of my Quake 2 server. Having not checked on it in some time, I check the status and find that it is down.

I start the server again using the command mentioned in this older post, closed the terminal, and thought all was well. The next day I go to check on it again, and it's down. Every time I closed the terminal window, the server stopped. This was not a problem before, and the only thing I can figure is that some recent Amazon Linux security update is now preventing my old command from running in the background. Time to write a proper init.d script.

 I actually had an one laying around I had tried making months back, but couldn't get to work. It only needed a couple of typo fixes. After adding the script to init.d and firing the command quake2-server start, the server continues to run after closing the window and is still running as of this post. Here is a working init.d script for running R1ch's Enhanced Quake 2 server on Amazon Linux as a service:

# quake2-server:       Starts the Q2R1 dedicated Quake2 Server
# Version:      @(#) /etc/init.d/quake2-server 1
# chkconfig: 2345 20 10
# description: Starts and stops the Quake2 Server at boot time and shutdown.
# processname: quake2-server

# Source function library.
. /etc/rc.d/init.d/functions

# See how we were called.
case "$1" in
        printf "Starting Quake2 Server: "
        cd /home/ec2-user/quake2/ && ./r1q2ded +set rcon_password '<PutYourPassFromServerCfgHere>' +set game lit                 hium +exec server.cfg > /dev/null >&1&
        printf "Shutting down Quake2 Server: "
        killproc r1q2ded
        rm -f /var/lock/subsys/quake2-server
        status quake2-server
        printf "*** Usage: quake2-server {start|stop|status}\n"
        exit 1

exit 0

I hope someone else finds a use for this. If you are and would like some assistance or have any suggestions, please leave a comment.

Tuesday, April 1, 2014

IF Updates

Today I moved everything from my "if" folder on my personal webserver running in my living room over to my Amazon Web Services instance. My main homepage @ has not changed, and all IF-related links there are now routed to the new host. Any old links to any of my old interactive fiction titles with in the URL are now broken.

During this process, I added some new material as well. You can now view the source code to Lunar Base 1 on the website. Blackness has also been added along with its source code and a "making of" section that shows my notebook scribblings as I planned out what I would code within the 3-hour time limit of EctoComp 2013.

No Spring Thing entry for me this year. Currently focusing on getting a beta test / teaser of sorts for the North Korean game originally announced here over a year ago. It is being written in Hugo and is using the current version of Roodylib.