Visualization of thesis word count

I am very close to finishing and submitting my thesis. The write-up phase has been incredible – just a blur, really, as I’ve worked Saturdays and Sundays and have had almost zero down-time.

I only seriously got into the write-up in early July, throwing away a lot of what I had written over the past year or two and starting with about 5,000 words. Then at the start of August all the late nights on the thesis caught up with me and I had horrible gum infections (a wisdom tooth that is half embedded) and a chest infection, both requiring courses of antibiotics – immune system had taken a hammering, I assume.

Then the new semester started and I was just in survival mode. But, then I seemed to get my strength back and got back into the write-up and finishing off my final study.

Just to procrastinate a bit, I went to GitHub where I have been version-controlling my LaTeX thesis document and checked out the different versions for each day, doing a word count in TeXStudio. Then I used Excel to enter the data and create the following time-series chart:

The type of PhD I’ve almost completed meant I needed a minimum of 50,000 words, because of the significant amount of software development – a VR-based game, an API and a web-based analytics dashboard. However, I am just under 60,000 words and still have a few thousand more to go. Citations are approach 230 with another couple of dozen at least to go.

It’s strangely emotional looking at the visualization. In mid-August, when I was suffering badly with a chest infection, I almost felt like giving up, or more likely just taking my time and finishing well into next year. Then the recovery surprised me.

Second Novel – A Frank Discussion

Finishing your first novel is a complicated experience – at least, it was for me. First there is a sense of accomplishment that, however flawed, you completed a substantial work – in my case, a 90,000-word novel. But immediately thoughts should be moving to the next novel (or short stories if you want a change-up), we are told. I have found myself fixated still on the first, though. I’m not happy with it. As much as I admire some of the sections of the book, I am not happy enough with the total work. It mirrors how I felt when I ran my first marathon – I got my tactics wrong and ended up walking a lot during the last 10 miles, finishing outside 4 hours. You are supposed to feel a sense of accomplishment at completing a full marathon, yet I was left with an anticlimax – yes, I had finished a marathon, but I hadn’t entirely run it and finished under 4 hours. The next marathon I ran 3hr 57min … cue celebration? Nope. Again, I got my tactics wrong and finished badly. 4 weeks later I ran 3:55 in a more consistent run. Only after 3 marathons did I feel satisfied.

So I am engaged in a retrospective. I have reflected on novel number 1, which I elected to self-publish despite some promising initial feedback from 3 agents (though none would ultimately represent it). I have tormented myself about whether to leave it well alone and move on to the next, whether to do some rewriting of it with a re-release, or a third way.

As it happens, I have opted for the third way. I am writing a brand new novel, but one that will be what the first one could have been. I am a different, hopefully much-improved writer than the one who began The Murk Beneath in late 2009. I don’t want my first, flawed novel to swallow ideas that I can revisit and better express in the second. Will there be some overlap between the second and first novels? Yes, clearly. But they will still be very different experiences. Would someone who read the first novel feel a bit cheated if they read the second, given some similarities? I hope not and I don’t think so. But we are not talking about many readers, so it should not be something to worry me if I plan on a much more successful second novel.

I did agonize about just getting on with novel #2 and not looking back. What I like to do is to write a couple of chapters and see if they are “grabbing” me. If they don’t, I move on and try again until something grabs on to me. Only when I tried my third way did I get further and feel the magic again. There is a theory of flow by Csikszentmihalyi, which is a bit like a state of Zen. In the “flow channel”, you are finding things relatively easy, though there will be peaks and troughs (e.g. you flow easily through a chapter, but then have to figure out a nice way to end it that will hook the reader into the next) – but when in the flow channel, you keep safely between anxiety (e.g. writer’s block) and boredom (e.g. not really into the subject matter or theme of your novel). I’m only 3 to 4 chapters in, but I feel it. I think it will be a huge improvement on the first and I’m optimistic that this time I will get a good agent. No guarantee of course, but at least I’m in the channel now.

PhD Log 22/11/2016

Busy, busy, busy. I’ve been working every spare hour the past few days on getting the important deduction interface working. It’s getting quite close now to a first fully-working prototype (of that deduction interface, not the full game!). At that point, I can start thinking more about game content, the lesson plans, in effect.


As you can see from the image above, a number of deductions are to be made in the level. Right now, I envisage each deduction requiring 2 to 4 clues to solve it. In the top row of clues will be the clues that solve the question, plus a small number of red herrings, e.g. if 3 clues are required, I might include 2 red herrings. The idea here is to acknowledge who will be playing (not hardcore game players, for the most part) and how to keep them in the zone between frustration and boredom (in the flow channel – based on Csíkszentmihályi‘s theory of flow). If there were too many permutations, e.g. 3 deduction slots to be filled from 10 clues, then it might take too long to solve the deduction if the player is reduced to guessing. On the other hand, if there were 3 deductions slots, but only 4 clues to choose from, then a very quick trial and error process would solve the deduction. Right now, I would tend towards about 50% extra “red herring” clues, but initial play testing will help determine the best ratio (even before a pilot study designed to test transfer of learning, etc.). Red herrings could be clues that are relevant to other deductions, or clues that are not applied to any deductions.

Right now, the player can click on a question to solve (i.e. to make a deduction). This will make visible 2 to 4 deduction slots in the lower row. The player can drag clues from the upper row (clue slots) into the deduction slots. The player can click through the questions and the clues that were dragged into the deduction slots will still be there when the player clicks on a question again. Currently the clue slots don’t change when you click on a question – however, I have an underlying data structure that links clues and red herrings to deductions to be made and a bit of scripting will make that work too. The next step after that will be to give feedback to the player when a correct clue is in a deduction slot (e.g. green border around the image) and then to let the player know when a clue has been solved, and perhaps what has been unlocked as a result. A final step will be to apply some stylish graphics.

PhD Log 17/11/2016

The pace is definitely picking up now. I have a bit more free time away from teaching and other duties as the semester draws to a close (though I must correct 30 game essays and a number of game group projects, nearly 40 Spring framework assignments and a number of group Spring web / database projects by early January!).

Today I made some progress on the clues / deductions drag and drop user interface. You can now walk around and right-click on objects and those that are clues will add an image to a free clue slot in the UI. Right now I have a maximum of 10 clue slots – maybe I ensure that some deductions are made and clues cleared before moving on to the next section and 10 will be enough. These clues can now be dragged around within the clue slots, dropped into a free slot or swapped with an existing clue image. This might be useful if the player wants to group what he/she thinks might be related clues. The solution involves scripting the drag and drop behaviour of the clue slots in the UI, while maintaining a parallel array of clues; all very old fashioned programming / scripting in some parts. Here is what I have so far:


It’s a bit rough yet, but with some prettifying it will look just fine. In the background, I have scripted the beginnings of the deduction data structure and the management of it. I have decided that in each level, I will create an array of object references (i.e. reference the actual 3D object that was dropped into the level, which will have embedded clue metadata – clue text, clue image, etc.). This is a 2D structure with an array of deductions, each of which has an array of associated clue object references.

To allow for flexibility as to what a clue object is, I created a ClueInterface, which each type of interactive clue object will implement (it simply has a get method that returns clue text and clue image). This means that my base interactive object, and by extension any more specific objects that inherit from it (e.g. newspaper articles, notes, etc.), as well as any other objects like non-player characters or anything else, can be a clue – it just implements the interface and the get method, returning clue text and clue image property values. This avoids the bad cast-fail-cast pattern because you never need to cast to a specific type of object, you just cast to the generic one-size-fits-all ClueInterface type.

Next step is the drag and drop to the deduction slots below, plus being able to select which deduction you are working on.


PhD Log 01/10/2016

Fitted in some work on the PhD today. Added the ability to withhold dialog and make it available as information about objects or articles, or notes, are discovered. The player is also told how many dialog choices have been withheld. This will hopefully encourage the player to continue exploring to discover objects / articles and unlock the final parts of the conversation – all of this being ultimately linked to the article the player journalist will write, like uncovering jigsaw pieces that can be fitted together later.

Thus far I can allow for up to 12 choices on one screen, with one of them being used to display how many choices are hidden. This could be multilayered, so there might be one object that when discovered opens up up to 12 more options – ad infinitum potentially; a dialog tree where each branch can lead to up to 12 more branches, some of the options immediately available, others hidden. Screenshot below shows an example where options that are not available are hidden and collapsed (i.e. we don’t have blank lines where choices are hidden, the one below moves up a spot to take its place).