I Finally Published my Book, Milk!

I wrote a book. Blimey!

It’s a short novel called Milk, and it’s available on Kindle and Apple Books (see the links below).

I actually started writing it about 15 years ago, dipping in and out over the years, trying to pull it into some sort of coherent story. I find writing hard, although it is getting easier the more I do. Last year I went back to England for my dad’s funeral, and the trip was inspiring in so many ways (not the funeral part). When I got home, I dusted off the old Scrivener project and really dug back into it.

Long story short, the timing was pretty much perfect, basically coinciding with one of those nice creative spurts I get from time to time, and I managed to pull together a complete draft in just a couple of months.

A bit of backstory. I’ve always enjoyed writing, but like I mentioned above I find it really hard work, and I have almost no confidence in the things I write. In fact, until now, I’d never let another human being read anything I’d written, blog posts not included obviously. There’s a bit of this in the book, as it is loosely based on myself and my experiences living in and around Derby, in the early and mid 1980s.

Once I’d finally pulled the whole story together, I let my sister, Janine, read it, while I sat nervously, convinced she was going to tell me it was rubbish. To my genuine surprise, she loved it, and her feedback and encouragement gave me the confidence to keep going and turn it into something publishable.

Eventually, after much gnashing of teeth, and writing and re-writing, and having several other friends give it a read and offer their feedback, I hired a professional editor, who edited the manuscript and gave me his thumbs up. Then, I sat on the book for half a year, procrastinating, and poking at it, despite it being done, and finally, eventually, pulled the trigger and pushed it out to all the eBook stores.

So… here I am. I somehow ended up with a self-published novel.

If you feel inclined, pick a copy up (it’s cheap as chips), and leave me a nice review. I think it’s great, but then I’m biased, obviously.

Here’s the official blurb:

Milk

Milk is the story of a man, a bottle of milk, and a night that changes everything.

John Thomas leads a quiet life. He spends his days working in a small video shop and his evenings lost in books, films, and notebooks filled with stories no one else has ever read.

One rainy evening, a simple errand to buy milk for his tea leads to a chance encounter with Roota, a young Ukrainian woman who may see him more clearly than anyone else ever has.

What follows is a winding journey through friendship, memory, and the strange poetry of a town after dark. John encounters philosophers in unlikely places, gangsters with hidden tenderness, bedtime stories, late-night dances, old films, and unexpected acts of kindness. As the night unfolds, an ordinary world begins to feel extraordinary.

Set against the backdrop of 1980s Britain, Milk is a warm, quietly funny literary novel about loneliness, resilience, and the extraordinary difference that ordinary people can make in one another’s lives.

Sometimes the people who change your life are the ones you never planned to meet.

Available on Kindle
Available on Apple Books
Available on Bookshop.org
Available on Kobo
Available on Barnes and Noble

A Celebration, Some Closure, and Giving It All Away

2023 marks my 40th year in the games business, making games pretty much continuously since 1983. Yes, I’m old. To mark this auspicious occasion, I’m hanging up my debugger and retiring from game dev (yeah, right). Obviously I’m still gonna mess around with the odd prototype here and there (told you so), but I don’t think I have another full project in me. My last published game, Immortal Darkness: Curse of The Pale King, was the best, most satisfying project I ever got to work on in my long career. Given the resources I had at the time, it’s as close to the game I always wanted to make, as I could get. Because I’m retiring, I also retired the game from Steam, and now I’m giving it away for free so more people can play it (link below). Think of it as a Holiday gift. I’m proud of the game and I reckon it’s a good project to end on.

You can download the game from here;

immortaldarkness.com

Because this silliness involves my game, I planned on writing a Gamasutra blog as a followup to the other dev blogs I’ve posted on there. Sadly they shut their blogs down, so here it is below instead. Enjoy!

——————

I originally wrote a series of blogs over on Gamasutra, about developing and publishing my game, Immortal Darkness. I want to talk about what’s next for the game, getting closure, and moving on.

We published Immortal Darkness in November 2018, to high hopes and expectations. If you read my last blog post on here, you’ll know that things didn’t really go as we hoped. The game languished and the company we set up to develop the game, withered and died. People went their separate ways, and I ended up owning and managing the game personally. The game has sat on Steam for the past 4 years, now selling a couple of copies a month, and slowly falling into neglect. The version of Unity the game was developed on is old and tired, and there were cracks showing. Updating the game on the Steam store became a problem, and its issues and need of a refresh sat in the back of my head, pecking at me to do something about it.

I’d not played the game for a long time, essentially ignoring it and hoping it wouldn’t break. But then one evening about 2 months ago, I randomly fired the game up and spent a satisfying and enjoyable 4 hours playing through the first 6 levels or so. That play session brought back a lot of good memories and also a little sadness, of dashed hopes and dreams not realized. We’d planned a sequel, with even grander scope and story, but that all hinged on the success of the first game, which sadly never happened.

When we decided to make the game originally, it was very much a passion project. Something my partner and I had always wanted to make, and so we poured everything we could into its creation. We were just 2 guys with very (very) limited resources, and development was slow and difficult. Both Damon and myself are old pros with careers going back to the 80s and 90s. We knew what we were getting into when we started the project, and we were seasoned enough to push through all the hard stuff, and ultimately we pulled it off. It was never really about the money for me personally (well maybe a little), because I really just wanted to make something cool that people could play and enjoy. I love the idea of willing something into existence; creating something from nothing and having it become part of poeple’s lives and experiences. That’s always been a big motivator for me, creatively.

I wont rehash what I’ve said before too much, but when the game didn’t do as well as we hoped, and all the air got knocked out of us, it took a long time to recover. We questioned the quality of the game, the design, the art, the coding… but now the dust has settled years later, I think it was mostly a lack of exposure, marketing, community, and awareness. Not that any of that was the fault of the people helping with those aspects of the project, rather it was simply a lack of money. All the stuff you have to do, after the game is done and published, costs a lot of money, and frankly we were left with a pittance to spend by the end of development. My partner took it harder than me, putting an end to his indie developer aspirations, as he threw himself into his full time game dev job. For me, it was disappointing for sure. I wanted two things for the game. First, I wanted lots of people to play it and (hopefully) find some enjoyment in it; delighted by a trap or puzzle we’d labored over. Second, I wanted to do more. I wanted to build a small independent game dev studio, and make the sequel. I’ve had a pretty good career in the games business, spanning almost 40 years (yeah, I started in 1983). I have a long history of making games and being involved with startups, and I have nothing to complain about. I’ve done it all, and I’ve had a fantastic time doing it. But I still wanted to have my own, small, indie studio, making cool games that I wanted to make. That’s probably most developer’s dream. So that was the hardest hit for me, and despite being an old, cynical pro, I still had the hope that Immortal Darkness was that one lottery ticket, that if it hit, might fund my dream studio.

As I sat there, playing through puzzles and traps I’d completely forgotten about, fondly remembering the joy and pain, and challenges of coding them, it struck me that maybe I could still satisfy that first hope I’d had for the game, namely more people being able to play it. It was created to be played, after all. That’s its only real purpose, money aside. So I decided there and then that I would just give the game away for free. It would certainly be easier to do that than try and resurrect it commercially. It also fit nicely with my plan to retire the game (and myself), plus it’d make a cool, fun Holiday gift to everyone!

Fast forward 2 months and the game is finally available as “freeware”. I retired the game on Steam, and put up a website where people can download the game for free. Even this seemingly simple task took time. Fixing old bugs and tweaking stuff in the game, getting the game retired, winding down my partner agreement with Steam, making a website, creating EULAs and installers… But now it’s all done and the game is available to download and play.

Untangling the game and myself from Steam was a process. I had to post an announcement and assure Valve that the version of the game sitting in people’s Steam Libraries would continue to work as expected (it will), and that I will continue to offer support via email, etc. (I will). I completely understand the need for this. The customer is king (to a fault), and they have to be OK with the change in status of the game. Removing the Steam dependency freed me up to fix long standing bugs and make some improvements to the new, free version, including additional keyboard controls (WASD) that people had been asking for forever.

All that said, and as cathartic as this has been, I still believe it’s good to be rewarded for your work, and I’m not someone who hates money at all. I’ve provided several ways for people to show their appreciation if they choose, offering ways to “tip” using various payment systems. A big “Buy Me A Coffee” button is on the title page. It’s the only nag there is, and I don’t think players will mind it too much. Of course I’m not banking on it making any money. That’s not the point of this exercise, but it’s there if people want to use it.

So think of this as my Holiday gift to the world (Awww, bless). I hope you enjoy the game as much as we enjoyed making it. Cheers!

You can download the game from here;

immortaldarkness.com

A Rare Update

I’m an artist now! There I said it, so it’s true! Who woulda thought it? Having spent almost my entire adult life so far, as a software engineer, I decided I needed a change. Actually, it’s not quite that cut and dry, and in fact my current artistic distraction began as a tech project. Essentially, I was exploring neural networks and deep learning, and I stumbled into the whole art side of NNs. My deep learning sandbox inexorably became an art tool set, and now I spend my days making strange, abstract art. I am what is called, a Generative Artist, and I make abstract art using all sorts of cool software I’m actively programming and developing. You can see some examples of the art I make below. I also have an Instagram account for all this stuff, so feel free to check it out.

I come from a family of artists and creativity runs deep in the genes, but being the “technical” one in the family, my work and interests were always considered not so much artistic, but still creative. This new art thing is a perfect mix of skills and interests, and my programming chops have enabled me to understand and make some nice tools and tech that allows me to express myself in a cool and unique way. It just goes to show that life is unpredictable, and how ironic it can be too. I am legally blind, and I decide to be an artist and make visual art. It’s fucking hilarious really!

https://www.instagram.com/s0da.ai/

 

Fixing Google Docs Broken Text Selection Highlight (High Contrast/Dark Themes)

Google Docs is a pretty swish web app, but unfortunately its styling follows Google’s preference for flat, low contrast design. As a visually impaired user, this renders Google Docs inaccessible for me, unless I switch my browser (Firefox) to use the high contrast Windows color scheme, or use a “dark reader” type of add-on. Using either makes Google Docs usable with nice, dark, high contrast colors. BUT, and this is a HUGE BUT, it completely breaks the text selection highlight color when you click and drag your mouse or use cursor keys to select letters, words or blocks of text. The highlight is invisible, and selecting text is reduced to a stressful guessing game. It’s crap and makes me saaaad.

Googling about the issue shows nothing, and looking for info on Google Docs CSS editing/hacking shows 10 year old results, for a product that doesn’t resemble today’s Google Docs at all. Sigh!

So what’s a tired eyed engineer to do? Hack the document and figure out what CSS actually controls the selection and highlight colors, obviously! Using Stylish (or your choice of CSS injector), add the following CSS rule to work on the docs.google.com domain..

.kix-selection-overlay {
background-color:#777!important;
border-top:1px solid #eee;
border-bottom:1px solid #eee;
opacity:1;
}

Simple! No idea if this is common knowledge. I certainly couldn’t find anything useful online, and this works nicely for me. The colors can obviously be anything you fancy. I can now use Google Docs with abandon and see exactly what I’m selecting and copying!

Enjoy!

Stuff and Nonsense!

Been awhile, so thought I should post a quick update. Things have been a bit weird with the pandemic, but mostly things have just been ticking along. I’m fit and well, but my eyesight continues to get worse. It is what it is, and no point moping about it. It’s quite unlikely that I should exist at all, and out of the billions of years before, and the billions of years to come, here I am, here and now. I think I need to make the most of that.

I started another new game project*, which hasn’t been announced or anything yet, apart from this vague post. I’m working with a fine young man from Scotland on character design and art for the demo. My goal is to have the first hour or so of the game playable, and then try and drum up some interest in finishing it. Regardless, I’m getting my jollies, just by trying to bootstrap the whole thing. I hope to have some stuff to show and chat about in a few weeks.

That’s all from me for another 6 months! TTFN!

*A note to my future self.. Hi Chris, only you know how all this turns out. How exciting! I hope I did stuff OK and I didn’t break anything or destroy any civilizations along the way. Mostly I hope I didn’t let you down. You’re looking very handsome, by the way!

Honorary Doctorate from the University of Derby

Last year, around July time, I was given the incredible honor of “Doctor of The University”, from the University of Derby, for my years of service in the video game mines. Because I’m a bit of a dork, and hardly ever update this site, I never got around to posting about it. I stumbled on my speech video this evening, so thought I’d put it here for posterity.

Looking back and reflecting on the months leading up to the ceremony, it was a really good and positive experience. I was nominated for the award and went through a long approval process before being notified officially that I had been given it. I was surprised and thrilled and excited at the prospect of going to England to participate in all the pomp and ceremony, including a formal dinner with the Mayor and other dignitaries, and accept the award in person.

Sadly, because I need a chaperone to travel, and the truly nightmare logistics of getting all the way there, and then being there and getting around, I just couldn’t do it. I think, if I’d really tried hard, I could have swung it and pusuaded someone to go with me, but I took the safe route and stayed home instead. There is some irony here, as the video speech I sent over in my stead, talks about being fearless and living your life to the full. To be honest, it was more a question of comfort than fear for me, but I do regret not going. I think it would have been an incredible experience. Oh well.

Here’s the video of my speech from the ceremony. Enjoy!

Well That Didn’t Last Long!

Blogs are old fashioned now. Someone told me they’re like vlogs only in black and white. Funny stuff that! Everyone who’s anyone is doing a vlog, and blogs are dead. The way people consume information in this modern era is very visual and stimulating, and I’m not sure people even read nowadays. Sadly, I’m not good enough looking to do a vlog, and it’s also a lot more work than typing random thoughts into a text box in WordPress.

Looking around Youtube and following along with various dev vlogs, it seems that it’s more important to do the vlog stuff than it is to make the game. In fact, a lot of the vlogs I watch are of projects that will never be finished, and it’s more about the steady stream of noise to feed their “community” than making the game. Fair enough and all good, if that’s your bag, and that’s your goal. Vlogs and sharing your project on social media platforms is all part of building an audience, and a massively important part of making a commercial game. I get it, but no matter how hard I try, it’s not for me really.  I honestly don’t have the energy or time to make videos and edit them, and I absolutely don’t have anything interesting to share visually, or say even.

I suppose it really comes down to motivation and what my ultimate goal is. I’m motivated to make my game, but not share drivel about it on here. My ultimate goal is to make my game and sell a few copies. Does having a blog or a vlog help with that? It can, I’m sure, but I just can’t be bothered really. It’s hard enough making the game, without all the dog and pony show stuff. The really funny thing is, that I’m just talking to myself here, and no one gives a flying fuck about my project or what I’m doing, so the existence of this blog is even more of an anomaly. So why am I doing a blog? Honestly, I have no clue. So, I’m not going to be doing a blog any more. Too much of a distraction and not enough to say.

If you’ve read this far, you probably think I’m being mardy or something, or throwing my toys out my pram because no one is paying me any attention. Perhaps that’s true. Not sure I care. I’ll probably still drop the odd post here as the project progresses, but really, posting to Twitter, YouTube and Facebook will be enough. TTFN!

Back To It!

OK, my detour this past week into web site development has come to an end. Mission accomplished, and everyone is happy.

And so I turn my attention back towards my little game project. Hooray!

I was in the middle of coding various weapons, and so that is where I rejoin the fray. I have 3 weapons left to write before the weekend, which is scheduled to be 2 days of glorious housekeeping and game design.

I’m excited (weirdly) and looking forward to getting back to it.

The Best Laid Plans..

I have a fairly tight, albeit self imposed schedule on this new game project, and so far I’ve been doing OK, keeping on track, checking stuff off my task list and making steady progress. And then 2 days ago, I got a call from a friend in distress; Her website, which I built for her about 5 years ago, needed a good overhaul in preparation for new clients and an upcoming business opportunity.

She’d commissioned a family friend to do the overhaul, but things didn’t go so well, and 3 valuable weeks were lost to the wind. So with a scant 5 days before her deadline and big presentation, enter yours truly, reluctant hero to save the day. Poor Woman! Although this slightly derails my dev schedule, I’m happy to jump in and do the work. Did I mention I hate website development?

I’ll be back in a few days!

The Pickup Artist

After my lazy weekend working on the high score stuff, which I ultimately shit-canned trying to keep the game in scope, I got my head down to finish up the pick-ups and power-ups in the game. I’ve been working on in-game pick-ups the past couple of days. Pick-ups are bonus items like secondary weapons, power-ups, and points, that various enemies drop or get spawned by the game arena.

I don’t have an artist for this project, so I’m doing all the art myself. When I say “art”, I use the term very loosely indeed. If you knew me better, you’d understand why this is actually hilarious. There are a few special people out there who can do multiple things well. All singing, all dancing, plus juggling too.. “Triple-threats” or those unique one man bands who can draw and code and design in equal measure. I hate them all, because I can only do one thing well, and that’s code. I used to say that I pissed code when I was younger, because it flowed out of me so well, I guess. Now I’m old and things are slower and more mellow, I like to say I can code til the cows come home.

Anyway, what the hell has any of that go to do with pick-ups and power-ups, I hear you ask? Well not much actually, so lets get back to the point.

The game has a primary weapon, which is upgraded through power-up that the actual game arena will spawn. The player can rush to collect these, increasing the utility and power of their primary weapon each time.

There are collectible secondary weapons that are dropped by enemies the player kills during the game. These include a shield, homing missiles, gravity well, slow-mo, and “Death Blossom”. There are an equal number of offensive and defensive (CC) secondary weapons and they’re upgraded by collecting the “Power Crystals” that enemies drop when they’re killed. For example, each time the homing missile is upgraded, the number of missiles fired increases by one (up to a maximum of 4), with the final upgrade making the missile’s explosion have a blast radius that will kill multiple enemies, rather than just the one it hits. Additionally, there are pick-ups that will clear the warp and weapons cooldowns, bonus points, and “Super Power Crystals”, that give a big boost to your secondary weapon.

All of this work is complete (99%), and is ready to go into the game, and so the rest of this week is all about secondary weapons, because I need to code the weapons that the power-ups give you 😀 I’ve been looking forward to coding these for a couple of weeks because I think they’ll be fun to do and to tweak to get right. So next up is the “Wingman” weapon, which gives you a number of semi-intelligent helpers that protect you and help kill stuff too. A “Slow-mo” weapon that, well, slows everything down for a time. A “Gravity Well” weapon that bends bullet trajectories and swallows unwary enemies. And a “Death Blossom” weapon that is a weapon of last resort, and can only be used if you’re about to die. Obviously an homage to The Last Starfighter.

Gonna be a busy couple of days 😀