Sunday, 17 September 2017

I made a Unity editor window because of a weird dream I had

Yep, that's right. I've been thinking about custom Unity editor windows so much that I had a dream about them.

I originally wanted to make editor windows to create some in-editor tools, and automate certain processes. I had been experimenting and playing, but I hadn't really made anything functional. Then I had the dream.

Making an editor window itself is pretty simple. I was able to follow the Unity docs to make one when I first started learning. If you follow that documentation, you will be able to create an editor window. It won't do much yet, though.

Unity editor window scripts derive from UnityEditor.EditorWindow as opposed to UnityEngine.MonoBehaviour, and I needed to figure out how to get clicks and events from the custom window to affect game objects and other UnityEngine objects. After a lot of searching, I found a tutorial on The Knights Of Unity, and I was able to use the examples they provided to help me.

Since I already knew how to create editor windows, I had gotten as far as:

Apologies for the weird Gist formatting.

This gave me an editor window with a toggle (defaulted to false/unchecked), but it didn't actually do anything.

Obviously, I needed a way to find a way to make this toggle's event actually trigger an action in the scene. For this, I needed to make use of EditorPrefs. Making use of what I had learnt from The Knights Of Unity's blog, I created the following script:

The script has a public bool (with some editor-only properties), as well as a public reference to a GameObject which gets turned on and off in Update(). This is great, but it means I need to change the window script from

mangoEnabled = EditorGUILayout.Toggle("Mango Toggle", mangoEnabled);


ClickToMango.mangoEnabled = EditorGUILayout.Toggle("Mango Toggle", ClickToMango.mangoEnabled);

which references the bool in the ClickToMango class/script.

My Click To Mango dream became a reality.

Could I have done this just using a regular script in the inspector? Yes, probably. Did I learn more about how custom editor windows by doing this? Yes, definitely.

You can look at this on GitHub if you want.

PS I got this mango from the Unity Asset Store <3

Tuesday, 23 May 2017

How I taught myself to code

Disclaimer: I started working for Unity in September 2016. When I reccomend Unity resources, it's because I genuinely use/love them, not because I work for them.

I get asked this a lot; "How did you teach yourself to code?" (or at least, variations of the question). There are a lot of guides out there, and everybody is different, but I'm going to talk specifically about what worked for me.

I thought about separating this into sections based on age and desired programming language, but I am not an expert, and like I said, everybody is different. However, if you have any questions about teaching yourself (or your kids!) to code, I am always happy to help :)

In this post, I'll talk about what I actually did and what I used. There may be a few tangents, but that's why it's a blog! This won't necessarily be chronological (certain things I used don't exist anymore, or I discovered things later on which would have been useful to me in the beginning).

I will start by saying that yes, I did get the very basics in school, but I didn't take special classes or anything like that. I have no formal computer science qualifications. It was just ICT classes.

The basics

The truth of it is, I started learning to code before I was even trying to learn to code. For me, the first step was logic. I remember using a program in primary school which involved giving commands to a little shape so it could move around the screen. I can't remember what it was called, and I barely remember what it looked like, but Scratch is a much cooler, better version of it.

Scratch is totally free and it's really fun to use. It's aimed at kids, but it will really help anyone get to grips with programming logic.

There's also games like Lightbot (also available on mobile) which I used in the very beginning. A perfect way to turn commutes/waiting rooms/lunch breaks into a quick programming session.

More recently, I discovered Human Resource Machine by Tomorrow Corporation (they also made World of Goo and Little Inferno). It's a really fun game and you don't need to know how to program to play it.

If you're new to programming, this game is great for learning some logic. If you're already comfortable with coding, this game has several levels which get progressively harder, and it's really good for stretching your programming muscles :) I like it a lot.

The first language

For me, picking my first language was easy. While studying Physics at university, we used a program called MATLAB (I'm not linking to it because I'm not recommending it). We used this program for data manipulation etc. It wasn't the most fun thing in the world, but I found myself enjoying it. MATLAB is actually its own programming language, apparently, but I never got too into it.

One semester at uni, we started working on a magnetometer for geomagnetic storm detection. It was really cool (I wonder if I'm allowed to post the paper I wrote for it...) and my tutor was using Python for some of the data manipulation on the back-end. I thought it was so cool. I applied to do a summer internship with him, but they weren't allowed to have unpaid interns, and couldn't pay me. This was shortly after the Raspberry Pi came out, so I bought myself a Raspberry Pi 1 B.

Pictured: Raspberry Pi 3

I've written about Raspberry Pi before, but I basically used it as my Python machine. I didn't use a fancy IDE (integrated development environment) or anything. Just a text editor, the command line, and IDLE (which is bundled with Python).

I can't remember if I used any Raspberry Pi specific tutorials (if I did, they haven't stuck with me) but I know that I spent a lot of time working through Invent Your Own Computer Games with Python and I loved it. Whenever I want to practice my Python skills, I go back to this book.

While I was learning Python, I graduated uni and got a job at Reloaded Productions as a QA tester. Basically a dream job for any lover of video games. The office had around 22 people when I joined, so I got to know everyone pretty quickly, and soon enough everyone knew my deal- I was a physics graduate using Raspberry Pi to teach myself Python. I had the elevator pitch down.

Eventually, I moved onto Learn Python The Hard Way. People seem to have really varying views about this. I thought it was okay; I just wanted to learn from a different angle, just to make sure I covered everything.

I was very lucky in that some of the engineers at work took an interest, and were happy to look over my work and give me tips. They basically became my mentors. If you can find someone willing to do this, definitely take them up on it.

Soon enough, I was given small tasks and bugs to fix. My mentors told me that one of the best ways to learn to code is to read other peoples' code, and they were right. Looking at old code and figuring out what was happening was really helpful. You start to see patterns, and you become more comfortable reading and understanding the code.

The next steps

So I had Python under my belt. I wasn't an expert, but I sort of knew what I was doing. For me, the next language was C#. The tools we used at Reloaded were mostly WinForms, and I had been wanting to get into Unity, which also uses C#.

The resource I recommend to EVERYONE who wants to learn C# is Microsoft Virtual Academy. C# is developed by Microsoft, so they are very trustworthy :) My favourite tutorial series is C# Fundamentals for Absolute Beginners by Bob Tabor.

The series is well paced and very easy to follow along with. I didn't have dual monitors at the time, but I would pause when I switched to Visual Studio to type out the code he was going through. I did this every day after work for at least an hour, and at weekends too. Learning C# got me promoted to Tools Engineer at Reloaded.

One of the best things about working as a software engineer was coding every single day. I know that seems obvious, but my first 6 months or so were spent fixing other peoples' bugs. Like I said in an earlier section, reading other peoples' code is a really great way to learn. I also got to look at so many different projects and work with different developers, which then gave me ideas for creating my own tools from scratch. Some of those tools are now hosted on my GitHub (after being re-jigged a bit).

So at some point during all this, I went "Hey, I started all this because I want to make games. I should learn how to make games by myself". Working at Reloaded taught me so much about the development process and working as a team, but I wanted to know how to make games by myself. When I first started learning Unity, the tutorials were mostly user-made, but there were some good ones, and I made do by experimenting.

I think this was my first official Unity tutorial (but I think it was an older version because I'm sure I did it in 2014..) and then when Roll-A-Ball came out, I worked through the whole thing. If you've never used Unity, I recommend starting with Roll-A-Ball. It covers so much ground and it's really good at showing you the basics. When I volunteer at CoderDojo, I work through Roll-A-Ball with the kids who are new to Unity.

When I was still figuring out which engine I wanted to use, I played around a bit with RPG Maker.

RPG Maker uses very little code, but you can write scripts in Ruby. I didn't go back to RPG Maker, but I did start learning Ruby. I can't remember where I found the tutorial for this, unfortunately, but I think it was on Steam.

I'm going to pause a bit here. I nearly forgot to mention Stack Overflow! Stack Overflow is the saviour of so many programmers. If you've got a question, either it's already been asked and answered, or you can ask it and someone will help you out. It can seem a bit scary to ask (the moderators are very strict), but here's an example of something I asked, in case that makes it less scary.

Of course, I need to mention MSDN, too. Writing or reading code, and confused about a method? Highlight it in Visual Studio and press F1, or google the method name followed by "C# msdn" and you will find Microsoft's excellent documentation. I've even cited MSDN in my code comments before. I use it all the time.

Before I left Reloaded, I was the lead engineer/architect on a project called Foresight. This was the largest tool I ever created, but it got me used to working as part of a very small team. As tools engineer, I kind of got on with my own thing, but with Foresight, I was working one-on-one with a UI/UX designer, and figuring out how to make this tool desirable to QA teams. A lot of my previous work was not super user-friendly, so working with a UX designer was really eye-opening. Part of being a good coder is making your end-products usable, I think :)

The present

As mentioned in the previous section, I started learning Ruby. The best resource I've found to start this is When you finish it, you get recommended courses on Code School to continue your training. The Rails For Zombies courses are really great.

After starting to work at Unity, I took the Unity Certified Developer exam. At the time, I had the fastest time to beat (I took 26 minutes, the exam is meant to last 90 minutes) but I have since lost my crown. The certification is a nice way to be like "Hey! I know what I'm doing!", especially for people like me with no formal qualifications :)

I mostly use Unity is during game jams or when I'm prototyping an idea. A recent jam game I made was Fox Forest - this was meant to be a vertical slice of a larger game we wanted to make, but doing the game jam made us realise that the project was too large for two people with full-time jobs to make alone. I still learned so much from making it (and from failing to turn it into something larger) and I know that I'll continue to learn more in future game jams. I do use Unity to make tools too, but I'm going to write a separate blog about that.

I'm still learning to code. I think everyone is. No one has mastered everything- there's always something new to learn. I practice as often as I can, and I recently found an app called Streaks which I've started to use to keep track of my coding practice (mark on the calendar when I've done an hour of code, and try to keep the streak up) and I post on GitHub fairly regularly, but not as regularly as I'd like to.

My goals for the future are to keep working on my own stuff. If I have an idea for a game mechanic, I'll prototype it. Cool app idea? Prototype it. Basically, I'm just not going to stop working. I don't think engineers ever do, really.

Saturday, 20 February 2016

Reviving old hobbies`

I used to draw all the time. As a kid, I wanted to be an artist. Studying art at GCSE kinda beat that out of me, and I haven't really drawn for fun since. It's hard to find time to sit down and make art happen. Work is long and tiring, and I don't ever feel like doing much when I get home.

But, the games I wanna make need art, and I'd like to do it myself without resorting to crappy MS Paint drawings. I know I'm capable to drawing, I just needed to get back into it.

Some of you may know that I'm a huge Harry Potter fan. I've got a Deathly Hallows tattoo, and I read the books around twice a year.
A photo posted by Sophia Clarke (@sophiaaar) on

On Monday, I'll be visiting the Warner Brothers studio in London to go on the Harry Potter tour. Needless to say, I'm really excited. My excitement spurred me to get out my sketchbook and draw. I could've practised just by drawing anything, but I know Harry Potter so well, and I have such a clear picture of what they look like in the books in my head, so why not draw them?

It didn't start out well. I kinda wanted to see what I could do from memory, and without any real practice. As in, I just went for it. It was mostly just random sketching so I could remind my hand what it feels like.
Gryffindor common room
Harry in the cupboard under the stairs
Later, I decided to actually look up some tips about how to draw people, and I tried to develop my style. Realistic stuff is fine, but it can look really bad unless you're 100% amazing at it, imo (I've always thought cartoonish drawing are cuter anyway, and I think they're fun).
 Not bad, I guess?

I kinda wanted to draw this picture of Emma Watson; partially because I love it, and partially because I wanted to practice facial expressions. I started out wanting to make it cartoon-like (hence the eyes), but I kinda felt like the shading in this photo is most of what brought across that expression? Idk but I went with it, and it kinda turned out weird.
Tbh I started to get bored, Realistic drawing is not really my jam, and it didn't even look good. Instead, I decided to bring together all the practising I'd been doing and see what I could do with Harry. I wanted to do something that looked bold and cartoonish, but not chibi or manga... Idk, I just wanted to see if I could develop my own style.

And I'm not that mad at it?! Even if he does look a bit manga. I wanted to do something distinctive with the eyes, because Harry's eyes are such a big part of the books (and I remember reading that they were almond-shaped, so I wanted to emphasise that). Obviously I still need a lot more practice, but I'm actually okay with the Harry drawing. I mean, look at how grumpy and disinterested he looks! That's what I wanted! I was aiming for pre-Hogwarts Harry, you see.

I'd like to get out my watercolours at some point and add some colours to these drawings. Bold lines with a soft palette could look strange, but meh, I wanna try! I love painting with watercolour.

Anyway, I just wanted to share my doodles. I don't know.

Sunday, 26 April 2015

My thoughts about Life Is Strange so far

I've been wanting to write about this for a while, but it's been put on hold for various reasons. One of those reasons is that I wanted to play the second episode of Life Is Strange before I made my mind up about it. The pilot didn't really amaze me. In fact, it annoyed me. However, the ending intrigued me enough to make me want to carry on.

There may be spoilers ahead (for episodes 1 and 2), but I personally find that a game of this sort is difficult to spoil, which will become apparent.

For those who don't know, Life Is Strange is an episodic choice-based game developed by Dontnod Entertainment, and published Square Enix. Its similar in a lot of ways to the choice-centred games created by Telltale, but still incredibly unique.

The game initially struck me as being Mean Girls mixed with Donnie Darko in game form, but I'll get into that later. You play as an 18 year old girl called Max, dealing with all the issues that being a teen girl brings. This is probably one of the reasons that I felt so unsure about the game. It felt too close to home. Some people might say this is a good thing, but I WAS Max, having to deal with bullies, friends, and boys. It was hard to watch, hard to DO. This is where the main mechanic of the game comes in handy, because Max can also turn back time. You can have a conversation, and if it doesn't go so well, you can have another go. Oh, how I would've LOVED to do that as a teenager...

Being able to turn back time is great, but it felt very forced. Every time Max spoke to someone, the voice in her head would say something like "Hmmm. That didn't go so well, I should try again" while the corner of the screen is flashing at you to press the button. I didn't like being told when I should change my mind. Yes, it was good being able to hear all the different outcomes of conversation trees, but I felt like I was being pushed in certain directions every time I was prompted to push the time button. I started to just ignore the voice in her head, and play it out my way.

Max is also a photographer. (She's a teen girl, so of course she's a photographer.) However, despite the fact that the game is set in the modern day, Max prefers to use a little polaroid camera. Somehow it's allowed for her to be studying photography, and have a polaroid as her primary camera. Her teacher has no issues with it. Yeah, I'm not buying it. She even looks at her teacher's camera and says "Wow, I bet that takes pristine digital images, but I'm so analogue", or something to that effect. To top it all off, every time she takes a photo, she SHAKES THE POLAROID. Anyone who actually enjoys using instant cameras would know NOT to do that. Grr.

On top of the annoying details, the dialogue was pretty.... awful. Okay, that's probably a bit harsh, but it's very obvious that the writers have not interacted with teenage girls much, if at all (I think all the writers are grown-ass men). Nobody says 'hella' or 'bizarro'. I, for lack of a better word, cringed every time one of the girls spoke.

All of these things make it sound like I hated this game, but that's not true. There's a lot of stories going on at once in this game, much like in life, and they're all interesting in a different way. Max is reunited with a long lost friend, Chloe, who also happens to be friends with a girl who recently went missing in their town. Chloe's step-father is also the creepy security guard at Max's school. At the end of episode 1, Max has a vision of a huge tornado that's going to wipe out the town. It's a bit all over the place, but it left me curious, so I played episode 2

One of the main things that makes Life Is Strange different from a Telltale game is that there's a lot more exploring involved. The start of episode 2 has you, Max, walking around the girl's dormitories. You could head straight to the shower, like the game suggests, but you'd be missing out. You can speak to each of the characters, enter their rooms, and find out more about them. This becomes especially important later on, but I'll get to that. You speak to Kate, who I only vaguely remembered from the first episode as being the Christian girl who was picked on a lot. I made sure to talk to her, because I know that being bullied sucks, and she looked pretty upset. While talking to Kate, and other characters, you learn that a video of Kate has gone 'viral' (again, the writing annoyed me here. I wouldn't say a video getting spread around the school equates to 'going viral', but here we are). The video contains footage of Kate going 'wild', and long story short, Kate is pretty cut up about it. So as any good friend should do, you try to stop the information spreading.

Later on, you meet back up with Chloe, and there's a really fun section where you're proving to her that you have powers. It's just things like telling her what she has in her pockets, but I really enjoyed it. I feel like this is exactly what my friends would be like if I tried to tell them I could turn back time.

Chloe decides that the best way to play with your powers is to shoot stuff (because Chloe is so ~wacky~ like that), so you go to a junk yard for the most annoying section of the game. I felt like I was doing an RPG side quest to fetch an NPCs shit, except it was in the middle of the game and you can't skip it. Chloe is standing there in the junkyard like "could you go find me 5 glass bottles? Thanks" and I thought she'd maybe go find other stuff, but nope. You spend like 30 fucking minutes walking in circles looking for shit, while she's standing about drinking. Fucking Chloe, am I right? What the hell. Bitch, don't tell me to do your chores while you sit about doing FUCK ALL.

Ahem. Sorry, Got a bit carried away there.

Whatever, it was dumb, but things get better after that, and you learn that Max's powers aren't unlimited (because that would be over-powered as hell) and Max can do some serious harm to herself if she doesn't keep things under control...

I'm gonna skip straight to the action, this isn't a fucking walkthrough.

Long story short, you remember Kate? Yeah. She kills herself.


Oh wait. That whole "it's not unlimited" thing. Hmm.

So Max sees Kate fling herself off the top of a building. Not good. Turn back time! Okay, she's up top again. Then Max learns that she can temporarily freeze time, and she manages to get to the roof top for the most intense/heart-wrenching part of the series so far.

You have to talk Kate down. This is where all the extra exploring you (hopefully) did comes in handy. You're Kate's friend. You should know her.

But I couldn't do it. She died.

I couldn't let that happen. I reloaded my save.

Now, BEFORE you get shitty at me for reloading my save, let me explain. First of all, I just wanted to know that I COULD save her. Again, this is where LIS differs from many Telltale games. In several Telltale titles, it doesn't matter what choices you make, some things are just going to happen. I kind of wanted to prove to myself that I COULD save Kate. I knew it HAD to be possible. They couldn't just let her DIE. If you really paid attention to everything in Kate's room, then you can save her, and I'm so glad I did. Kate didn't need to die, and now you can get on with figuring what the HELL is going on in this crazy town.

So yeah, episode 2 was awesome, even with the stupid bottle thing. It had some of the most intense moments I've ever experienced in a game, and I felt really immersed in the story. Not to mention, the soundtrack is pretty great. Episode 2 made me forgive the cringey writing, and the damn shaken polaroids. It felt great to play a story-based game where I could feel that my choices really mattered, and I can't wait to play episode 3.

If you haven't played Life is Strange, I would highly recommend it. I played on Xbox One, but it's available on Xbox 360, PS3, PS4, and PC as well.

Saturday, 31 January 2015

I've been playing around with RPG Maker

Before I begin, if you're going to come here to tell me that it's not a REAL game engine etc etc, you can just leave now. Because I don't care, and I'm not interested. I'm just having a bit of fun.

As the title suggests, recently I've been playing around with RPG Maker VX Ace. I've always been a very visual learner, so this program has been perfect for me. The program provides the graphics too, which is even better.

I started off by making a very simple map.

An NPC came next. She may, or may not be, Taylor Swift. Initially, all she did was wander around saying "I'm Taylor Swift". Kinda boring.

Then, I added a house. This took a little bit longer to make, but I think it looks quite cute.

Using the "quick event" function, I added a treasure chest. It felt a bit cheaty at first, but then I realised it gives you all the code (RPG Maker uses Ruby, I believe). So I started taking that and applying it to other events, like barrels.

Baby steps...

Adding treasure chests gave me items, so it was time to make a simple fetch quest. Taylor Swift needs a potion! (In retrospect, I should've said it was to mend her broken heart... ah well.)

It started off with her simply taking the item from me if I had it in my inventory and giving me some gold, but then I added in a Yes/No option. It's starting to look like a real game!

Next came adding a conditional branch. There's a chest in there, but some lady is blocking it. I need to complete the quest for Taylor first. Seems fair enough. Just need to find that potion.

Long story short, here's a quick video of what I've made so far! (Apologies for crappy quality etc, I'm still trying to figure out which capture software I like best)

Basically, I'm having fun with this program! I have some fun ideas for other games I want to create with it, and I'll probably keep adding to this one and see what it turns into. Hopefully I'll be able to show off something cool I've made in Python soon, too.

Tuesday, 20 January 2015

On falling back in love with Nintendo

A few months ago, a late-night grocery run in Tesco resulted in us coming home with a Wii U. We bought the bundle with Mario Kart 8, and an extra Wii U Pro controller. It was kind of impulsive, but I've certainly had no regrets.

My love for Nintendo probably started with the GameBoy. I didn't own one, but my best friend did. I borrowed hers as often as I could. I mostly played Pokemon, but I don't think I was particularly good at it. It didn't matter, though. I was hooked.

One Christmas, Santa brought me a GameBoy Advance and Warioland 4. I still have such vivid memories of playing that game, and it brings a smile to my face.

My collection of games (and Pokemon) grew. I was basically never looking up from the screen. Of course this only became more intense once the DS came out.

Long story short, I eventually fell out of love with Nintendo. I was busy with school, games were getting way too expensive, and to be honest, I was pretty bored of Mario. It just wasn't doing it for me any more.

For a while, I was so sceptical of Nintendo in general. Their determination to do things their own way had clearly not been working, and I didn't want to buy a whole new console just to play the games from the franchises I love. I turned to Xbox and PC, and I thought that would be it. Until the late-night trip to Tesco.

Okay, so I've been making it sound as if I turned up at Tesco and went "FUCK IT", but really, I'd been thinking about the Wii U for a long time. Nintendo's display at E3 2014 REALLY impressed me. The announcements from Nintendo stuck with me the most. So many of the displays left me thinking "I need to play that game!" In particular, Captain Toad and Yoshis Wooly World, but obviously not forgetting that open-world Zelda announcement, and Smash Bros! And Amiibo! There was just so much that piqued my interest.
So buying a Wii U just felt like a good choice. How else would I play all those games?

The Mario Kart 8 bundle is basically fantastic. And the fact that Nintendo have hopped on the DLC bandwagon? I'm all for it! I love having new tracks come out every few months.

For someone who's never really been able to sink many hours into fighting games, I've had so much fun with Super Smash Bros. Although I will say that the Amiibos level up a BIT too fast. It didn't really feel like AI that was learning, to be honest. It just felt like a really tough CPU. But hey, they're still cute and fun and something new to play with!
Obviously I can't forget to mention the game pad. I loved having a map of the course on the controller while racing on the TV. It's also great if you want to play Captain Toad (which is amazing) while your boyfriend is using the TV to play Xbox (or if your bedroom is conveniently placed above your living room- that game pad is coming to bed with you). It feels like somewhere between a GameBoy and an iPad.

Nintendo get a lot of stick for putting out a lot of remakes, but they're more than some new textures. For example, Pokemon Omega Ruby and Alpha Sapphire are just outstanding. I got a 3DSXL with Ruby for Christmas, and I didn't put it down for about 2 weeks. It made me nostalgic about the original, but it didn't feel like the same game. It's so much better.

3DSXL with decal and case from Etsy (Can you spot Logan's toes?)
As well as all the new content, Nintendo have been keeping the classics alive with the Virtual Console. I bought Earthbound, which never had a European release the first time round, so that was great. I also bought the original Legend Of Zelda for my 3DS. It's been a joy.

Logan, pls.
Nintendo also made me realise that it's okay to enjoy "lame" games. All the boys in school who said you didn't really like games unless it was a shooter were clearly idiots. It's okay to play games the way YOU want to play them, and Nintendo are the best at embracing that.

What I'm trying to say is that Nintendo have really been doing things right recently, and I hope it stays this way. Let's just say that there's far more games that I'm currently excited for on 3DS and Wii U than I am for Xbox One.

Friday, 2 January 2015

Goodbye 2014

2014 started in the best way. I had just left my job as a waitress, meaning I had my weekends back. New year's eve was a fairly lacklustre night on Ashton Lane, but it was new year's day that was really special. We had pub food, lots of beer, and mini musical sessions in the pubs we stopped in. Impromptu ceilidh dancing even started while we were playing. It was fantastic.

February brought my 21st birthday. I wasn't expecting much; I just wanted to have a few drinks with some pals. As I was getting ready, I opened my front door to find that 2 of my best friends had travelled half way up the country to surprise me. It was the first time I've ever cried with happiness. I was elated. I truly do have the best friends ever, and I hate that I don't get to see them enough.

A few days later, my boyfriend and I travelled to Iceland. He bought me the tickets for the birthday. The trip included whale watching, the Blue Lagoon, and best of all, aurora hunting. Probably the best holiday I've ever been on.

All photos by me :) (and Doug)
One of my final astronomy projects involved making a magnetometer to detect geomagnetic activity. Without a doubt, it was the most fun I had during my 3 years at uni. Not only did I enjoy the topic, but it felt like the work was actually worth while. This lead me to writing for The GIST, and realising that I quite enjoyed coding.

It was around this time that I realised that it was possible for me to pursue a career in video games; something which always seemed like a dream before. I'm not sure what actually made it click, but I decided to start making that dream a reality.

I still worked hard on my physics course, but I knew that it was no longer for me. I started to focus my free time on other ventures, such as teaching myself some basic coding, and creating this blog to record my progress (amongst other things).

Things started to look bad around May, when a job offer went sour, but I always have back-up plans. Sort of.

I would have probably been a lot worse off if I hadn't decided to adopt Logan form the SPCA.
He completely brightened my life, and kept me company during my month-and-a-bit of unemployment.

After sending my CV around, I found a video game company looking for QA testers. I sent off my CV, and got a reply within 10 minutes, asking me to go for an interview. The company was based in Edinburgh. Not the most ideal for someone happily living in Glasgow, but it's not really that far, so I went.

A few days later, I got the call telling me I got the job, and I started in July.

This is it. My foot is in the door. I have a job at a game company.

Since then, the year has FLOWN by. I mean seriously, how have I been working here for 6 months?

It has been a GREAT 6 months, and the job also allowed me to relax. I've always been the type of person to over-work myself, and stress myself out, but having a job meant I could chill out a bit. (I'm still not completely over the fact that my free time really is FREE. I don't have to worry about exams or report or lab work.)

I realised that I don't need to rush myself to put out games. I only just graduated, I'm allowed to have some time to chill. I don't need to stress that I haven't published anything yet; I don't need to rush myself. I'm still just 21.

So, I caught up on games I missed while I was at uni, all while picking up fantastic experience at work. I helped the lead designer work on the matchmaking systems for the game, and I've been playing around in different game engines in my spare time (when I'm not too exhausted after work).

Oh, and I bought a car. That was good, too.

The work can stress me out (as I haven't completely forgotten my old ways), and the days are long, but as I said, my foot is in the door. This is all going to be worth it.

Aside from playing games, I've been getting back into painting and drawing, as these are all things that will help me make games.

Unfortunately, I've neglected this blog a bit. Partially due to being busy, and partially due to being worried that no one even cares what I write.

I'm going to start thinking less things like "but will people like this?" and more like "I want to write about this". So that might mean I share my thoughts on a game I played, or I might post pictures of my crappy (but starting to impove!) art. You don't have to read it, don't worry.

All in all, 2015 has a lot to live up to if it wants to match 2014, but I can't wait to see what's in store for me :)

EDIT: oh, and Christmas was good too. I wasn't working, so, yay.