|amarillion Mon 17 Apr 17, 02:04|
Allright, let's wrap things up.
What's clear for me is that there is still a lot left to do.
I uploaded an entry. Its just the linux binary at this point. I already compiled the windows binary, but I can't upload it because it's too big. (unless I leave out all the important DLLs). I'll leave that for tomorrow.
The story is now more than double the original - but play-testing revealed still areas that need work. Nevertheless it's fully playable, and there are only minor bugs.
I almost completed the save/reload functionality, but in the end I had to leave it out because I ran into a stupid bug in the menu system. Again, something for tomorrow.
I think I put in around ~25-30 hours in the past week. Even though I've got a TO DO list as long as my arm, there is undeniably a lot of progress. So I'm happy with the result.
For those who have played the original, the screenshot below should give you a glimpse of how the storyline has changed. It also shows the new inventory bar on the right side, which should make it easier to keep track of things.
|amarillion Sun 16 Apr 17, 13:32|
OK, last day of the hack. I woke up to a long TODO list. I already know that I won't be able to do everything today, but hopefully I can get at least the serious bugs fixed.
|amarillion Sat 15 Apr 17, 20:43|
Easter means having lots of family around. My brother-in-law came and drew this for the game:
|amarillion Fri 14 Apr 17, 23:52|
Phew. Did it really take two days to convert my notes into code? Of course I expanded and changed things around while doing so. The script file grew from ~600 lines to over 1100 lines, so at least that is measurable progress.
Here is what I have to do next.
Fix 'bugs' in the story. I'm especially wary for infinite loops, where you can keep going without ever advancing. The player may be wandering around like a zombie without ever realizing that the game is unfinishable. Definitely a fun-killer.
Get some play-testers to see if the game isn't too difficult. Since I know the solution to every puzzle by heart, I find this extremely hard to judge. On my own I can finish the game in under five minutes. I hope that for first-time players it will take somewhere between twenty minutes and an hour. If it's any longer than that, it's probably no fun either.
Since the game is longer, I should probably also add an option to save and load your progress.
Finally, I want to add dressing: more graphics, sound effects, and other effects. If I have time, I'll also try to incorporate some of these text effects I've been working on (see screenshot) These are not yet part of the game at the moment.
|amarillion Thu 13 Apr 17, 00:01|
Apart from storywriting, I hadn't actually done much coding. Today was the first day of serious code writing for this competition. It was about time.
The original B.U.N. (speedhack 2015 version) already had a domain language for the dialog trees, and the game included a hand written interpreter. It can handle short scripts such as the following:
In addition to IF/ELSIF/ELSE, the interpreter also had commands to manipulate flags, such as:
The new story is more complex, and also has a need for variables that can take more than two values, i.e. integers. I updated the parser to handle commands like:
LET variable = 1
Besides updating the parser, I also took the time to refactor it a bit. My 33% rule remains in effect though: my belief is that if you spend more than 33% of your time refactoring, then you're not getting things done.
And I added unit tests! Not something I had time for in the original speedhack. I always write lots of unit tests when I do Java code, but for some reason I don't really have the habit when writing C++ code. It's just a bit more messy, and you have to add some ugly bits to your makefile. Nevertheless, I'm happy I invested the time. Parsers are excellent candidates for unit testing. And I immediately managed to iron out a few kinks in the parser, something that would have cost me much more time by playtesting.
Is it cheating to post a screenshot of code?
|amarillion Mon 10 Apr 17, 13:27|
I finished writing up the main new storyline. There is not much I can say about it without spoilers. Other than that it involves time traveling, zombies, and a scarf. And a cameo from an old speedhack game.
I'm not completely done writing though. There are some side-stories that I still want to work out further.
I'm trying to think of it in terms of a logic puzzle (like the one pictured). The game is basically a giant dialog tree. While going through the nodes in the dialog, you test, set and unset some flags. At each point in the game, your state is completely determined by your node (i.e. the position in the dialog tree) and the collection of flags.
Let's say there are 8 relevant flags and 30 dialog nodes. You could say then that the game is a 9-dimensional maze, with 30 possible positions in the first dimensions only 2 positions in the remainder. I've tried to draw out all the relevant state transitions, but needless to say, it is rather difficult to draw 9-dimensional space. I have yet to manage to draw something that doesn't look like a messy hairball.
|amarillion Sat 8 Apr 17, 11:57|
So here is the plan.
I've previously said that I was planning to work on my TINS 2016 entry Happy Usagi, but instead I'm going to continue on my Speedhack 2015 entry B.U.N. Both are bunny-based games, so it's not that big of a difference I guess :)
I've got two reasons for changing my mind. First of all, I've actually done a lot of work on HappyUsagi in the past months, so much that it's actually nice to work on something else for a change. Also, I'm going to be on the road in the coming few days. My plans for B.U.N. require a lot of story-writing, and this is the perfect thing to do while having intermittent computing access.
As you may know B.U.N. is a text adventure. The original version was well received but quite short, so expanding the storyline is my main priority. I want to make the storyline at least twice as long. I'll also try to work in multiple endings, although that might be a challenge.
The game relies more on procedural graphics (particle effects) than on assets, so I'm going to expand on that. I plan to including different font and text effects.
My only problem now is what I'm going to log here in the next few days, without giving away any of the story lines. I guess I might be a bit quiet at first.
Like I said I'll be on the road the coming days. But don't worry, I'll be checking in here at least once per day.