2016 was a big year for me personally/professionally. I left a job that was draining me in February to pursue video game development. I said at the time if needs be I’ll find some kind of work come January, although in June I got offered some part-time work that was still not in a field that I wanted to be in, but helped keep a roof over my head. Two steps forward, one sideways.
However, I did release my first game (Robbing HUD) back in August. Work on it started around May and I decided to try and do a simple self-contained idea to start and finish something. It was a great feeling to finish that (even if I never got round to the Mac port as I don’t own a Mac) and it taught me a lot about aspects of Unity, but also general project planning.
Since then I’ve begun working on a visual novel with some friends. Making decent progress with the programming side of things and we’ve pretty much got the story side sorted. We’re writing it in Ink and I’m trying to build tools to then more easily build interactive fiction stuff in the future. Had an idea for a small game recently and might try and do that soon.
In 2017 I’m hoping to release the games mentioned above and I also want to do more art. Spent a lot of the last few years on the programming side of things but I want to try and do more art. I’m out of practice and I know I’m going to be self-conscious about that, but I need to rip the bandage off. Similarly, I’d like to do more writing. Did some for the game mentioned above and felt great to exercise those muscles.
One thing I did achieve in 2016 is to keep this updated somewhat regularly. No more posting every year saying “I should post more”.
All in all 2016 wasn’t too bad for me personally (let’s ignore what happened in the world), and I hope 2017 will be the year things really take off for me professionally.
I’ve spent most of my weekend trying to sort out a system for parsing text from an Ink script to display paragraph-by-paragraph when the user presses a button. Easy enough in itself as the Unity integration allows you to call each individual line that makes up the body of the current ‘continue’ (i.e. all text before the start of the next choice list). However, it becomes more problematic if the text is longer than the text view area.
What I essentially wanted was the following:
- If the line of text is shorter than a defined length (a variable found through trial and error) display that
- If not then split it into smaller chunks…
- If the text has a defined punctuation (. ? or !) then split it there
- If not…
- If there’s a comma roughly halfway through replace the comma with ellipses and split there
- If there’s not, do the same but with a space
Again, doesn’t sound particularly problematic but had issues with trying to get it to work. Such as:
- For some reason I went through this whole process of taking the text Unity/Ink automatically supplies and split it up myself initially, which took a fair while figuring that out. It’s only when I started writing this I realised I could take the Unity/Ink currentText call and dump that into the string list instead.
- It took a while to figure out how to break up longer text based on punctuation and keep that punctuation in place (the Split function I was using was removing the character it was splitting on).
- Likewise, figuring out how to break long strings into shorter ones using ellipses took a while
- Had to figure out how to work around ‘unwanted’ punctuation. The one that cropped up in my example text (entirely coincidental it was in there in the first place) was an e.g. which it was reading as being a full stop. Similarly, don’t want it picking up duplicate or mixed punctuation (??, !! or !?!?). Turns out the easiest way is to temporarily replace it with some dummy text and replace it back again.
When I write it down like that it makes me realise how little I know as that seems simple yet took me a fair while!
There’s still more to do though:
- Get the flow working as per the user input. At the moment any non-broken line is printing when you hit enter, but anything broken up prints all the parts at once (mostly for me to test it is breaking up correctly)
- Currently doesn’t account for if a broken piece of text using ellipses is longer than two screens (for the purpose of testing I’ve just split it into two chunks, but in reality it could be more if its a very long piece of text with no sentences).
- Need to test with different text. I set up a test text script, but want to check it is working properly using some more test scripts.
- Allow flexibility of the line length value depending on language
- Need to allow for a dictionary of sorts for the temporary text replacements and have Unity run through that and replace as/when it finds them, rather than just a series of hand-written replace functions at the moment.
- Ideally also have some way of knowing if punctuation is strung together (!?!?!) without having to write each possible variation
I’m sure there’s probably an asset or something I could have downloaded to do all this, although having a quick look most of the things I could find seem to predate Unity’s new(ish) UI system. Although I didn’t look too hard. Plus they’re not designed for Ink (although undoubtedly I would have been able to middleware it myself).
However, it was educational (if at times painful) so I’m happy I stuck with it. Just need to finish it off, preferably before I go back home for Christmas.
Been a while. I went on holiday for two weeks and have been fighting a cold for the last week or so. Been trying to do a few things but I’m exhausted most of the day. Fun times.
However, trying to figure out where I’m going next.
Working on a project with some others and they’re focusing on the creative side and I’m trying to set up some Unity Editor scripts which is an interesting challenge (read: confusing and not as documented as I’d like) but not getting that creative itch scratched quite as much.
Considering doing a NaNoWriMo maybe using something like Ink. That might occupy me and maybe I’ll finally finish one. Who knows.
Also considering doing a series of small self-jams on occasional weekends to work on a side project. Got an idea for one and just trying to figure out scope and requirements at the moment. This is where I wished I was working with others in the same room as I have conflicting ideas and I’m trying to work through them so I’ve ended up here, obviously.
My very first completed game is now available to purchase!
A year ago I posted on Facebook “Oh screw this. Who wants to set up a studio?” I can’t recall what drove me to that, but the outcome has been good! A lot of people seemed interested and that’s still ticking away, but in the mean time I’ve been working on my own stuff and after some last minute crunch I managed to get Robbing HUD available for today to mark the anniversary.
It was always meant to be just a little project to try out some stuff but hopefully it’s at least fun and entertaining in some capacity. I’ve learnt a lot along the way so that’s all that really matters eh?
Hoping to do a few more little projects (even smaller than this) to try out a few ideas and get to grips on some stuff.
You can find out more about the game and download it from the Robbing HUD page. Price is completely up to you.
If you give the game a chance let me know what you think. Would love to hear any feedback you have.
It’s great to finally have something out though. All those years of playing games and now I made one! That’s kind of weird, but really cool and exciting. Hopefully the start of many more 🙂
So tomorrow Robbing HUD launches and this is my last minute checklist of things to do tonight after I finish work.
It’s just lots of little things but didn’t want to forget any of them!
Got some feedback on Robbing HUD from two of the people that agreed to test it.
There was some really useful feedback on the balance as that was one area I really wanted to get some feedback on as I was very much just playing to test if things broke when I played it.
There was also useful feedback on the overall difficulty. I always wanted it to be challenging, but seems it might be unfairly challenging. The difficulty apparently ramps up too quickly and the maths quizzes become undoable in the allocated time. In addition to this information wasn’t clear (such as which jobs would earn more/less money).
Now I’m trying to decide where to go with this. I intended the game to be a quick simple project just for the sake of having something out there and I could tidy up a few bits and get it out quickly. I always ended to release it as a set your own price kind of game so I wasn’t too concerned about it being ‘perfect’ (or near), but perhaps I should consider spending a bit more time just tidying up a few bits so at least it plays better.
On the one hand I don’t want to labour too much over what was intended to be a rough quick project, but on the other I don’t want to ignore the possibility of improving things after dedicating a bit more time. Think I may try and do a half-way between those two things, just need to figure out what that half-way would contain.
Just gone through and listed 12 changes I would consider (others are worthwhile, just not in the scope of this project). Seven of them are small changes that will be implemented and now I’m just trying to figure out how much time the other five would take and what exactly they would entail (as they’re not simple “change this to this” kind of things but additions of features or significant changes of existing ones).
Was having a clear out the other day and found this draft design for Robbing HUD I scribbled on the back of an envelope. I think at this point I was considering it as a mobile game hence why the screen is smaller and only focused on one thing at a time.
So Robbing HUD has gone out for testing (sign up) with some people. It’s that daunting part of a creative endeavour where you wait.
I’m actually a bit worried people won’t be critical because it’s mostly people I know and they’ll try and be nice. Guess we’ll have to see!
Figured out a puntastic name for the side project I’m working on and really pleased with myself because its so bad its good.
You play as someone that is hacking people and stealing their money and its all done through Unity’s UI system (replicating a computer) so it’s going to be called…Robbing HUD.
And yes I know it isn’t really a HUD but its close enough and I’m pleased!
Now just to finish it…
Trying to get enemy AI working is proving to be a huge headache.
Trying to piece together different states and get them all working is more complicated than I thought it would be! Re-wrote it and that helped a bit, but still having problems with the pathfinding system. If there’s more than one enemy the target point goes off and I can’t figure out why.
Wish Unity had a 2D navmesh system built in. Looked around and tried some assets but not having much look.