About Adam Lutton

Game Designer / Programmer

“Paddles, Ball, & Pegs” Now Back Up

“Paddles, Ball, & Pegs” was temporarily removed from the Play Store due to some very sudden changes in the developer’s Terms Of Service. It’s back up now, but if you were wondering why it was missing, there you go.

Additionally, I will be making the APK available to download separately from the Play Store sometime in the near future, on the off-chance this happens again or if it gets removed permanently.

On an unrelated note, if you wish to stay up to date with progress on my new game, please go to my Itch.io page. I will try and get a new demo out before October.

30/06/2018 – QCon, DOOM Source Ports, and Other Stuff.

Hello again.

I was recently in Belfast along my friend and his friend, attending QCon, held at the Student Union at Queen’s Uni. QCon usually isn’t something I want to go to. Last couple of times I’ve went it’s been awfully boring. This time was a little different, mostly  because I had more time to see stuff at the cost of inconveniencing a friend by crashing on his couch.

But weirdly enough, the day in Belfast started with our group going to get ramen. My friend had been harping on about a place called Wagamama on Victoria Street, which I believe is chain restaurant. I’ll be honest, the chicken ramen I ordered was sub-par, and I couldn’t finish it.

Following that we walked back up to QCon. Most of the time was spent walking around looking at the various things for sale and then checking out all the games you could sit down and play. I only played two things, a 2D Jojo’s Bizarre Adventure fighting game, and Quake 3. And let me tell you, Quake 3 is still pretty fucking great and I won the first round I played of it. And it would serve as a warm up for later.

After pissing about till about 7pm, the real reason I bothered coming to QCon presented itself; a chance to 1v1 one of the main designers of DOOM, John Romero.

Meeting the man in person, I can say this; his hair is spectacular. Even in the darkly lit basement of the student union. But on to the main point, he wiped the floor with everyone who challenged him.

The first guy who went up against him had the poor luck of a 30 frag limit, meaning his suffering was prolonged and Romero went 30-0 against him. Following him was another chap, but this time with a frag limit of 10. The guy managed to get at least one kill in at least.

After that it was me. I asked to have the map changed to MAP01 of DOOM II, AKA “Entryway”. I got 3 kills, but for most part got slaughtered. Romero’s use of the RPG and BFG9000 often led to my quick demise. At the end I shook his hand and thanked him for the match. My friend soon followed me and got a bit luckier getting 4 kills.

We stuck around for a bit. I got a signed poster and a picture with Romero. The poster is currently hanging on my wall.

Myself, Romero, and my friend Craig. Sorry for not smiling, my legs were hurting badly from walking around Belfast.

Here’s the poster, framed.

We watched other poor souls walk up to receive an absolute arse-kicking, but around 9.15/20pm we had to get going. Having got something to eat, we went to Queen’s Film Theatre across the road and watched Perfect Blue. Which is still an excellent film from the utter legend that is Satoshi Kon.

So anyway, playing against John Romero reminded me that I still hadn’t finished DOOM II, and I decided that I wanted to also play multiplayer, which more or less requires a source port. So I booted up Chocolate DOOM and decided almost immediately that I would prefer to use GZDoom, which I already had downloaded but previously avoided it because of the amount of settings I had to tweak to get it to be what I wanted it to be.

So this time I actually bothered changing the settings and have been having a great time with it since. Apart from the part where DOOMSeeker requires Zandronum, which basically another version of GZDoom. Which again required me to make a bunch of tweaks to get to where I wanted it, but still required more. So I gave up on it.

And then I got it into my head that I wanted to play some Quake 1 as well. So I installed it via Steam and tried to tweak the settings so it would be 1920×1080. It failed to boot in OpenGL mode. So I Google’d the issue and found that the version of GLQuake that Steam provides is out of date and you need a later version of the executable. So I downloaded it and started using that, and it now fits to my resolution. But the framerate is 72FPS, which is half of my refresh rate.

So then I downloaded EZQuake and couldn’t get it running. So instead I downloaded nQuake and it worked, but then tweaking the graphical settings caused my desktop to have fucked up colours. Additionally I couldn’t turn off the Quake Live style HUD. And then to top it off, it randomly crashed on me.

So I gave up on Quake 1, for now.

As for how my project is going, well you can check up on it on its itch.io page and even try out the prototype demo. I’m working on a new demo with additional features and tweaks, but it likely won’t be out for a while.

Other than that, it’s just bloody hot. And I can’t really be arsed watching the football. I’ll try and fight through the heat and work on my game.

-Adam

The Den – 01/01/2018

This is gonna be short.

My Top 10 Games of 2017:

  1. Senran Kagura: Peach Beach Splash
  2. Gravity Rush 2
  3. Tekken 7
  4. Super Mario Odyssey
  5. Puyo Puyo Tetris
  6. Everybody’s Golf
  7. Yakuza Zero
  8. Persona 5
  9. Nier: Automata
  10. Nioh

Honourable Mentions: Wipeout Omega Collection
Released Games I Wanted To Play or Play More Of: Disc Jam, Uncharted: The Lost Legacy, RIME, Xenoblade Chronicles 2, Everything
Most Hated: Wolfenstein II, Legend Of Zelda: Breath Of The Wild

My Top 10 Anime Of The Year:

  1. Koe no Katachi
  2. Yoru wa Mijikashi Arukeyo Otome
  3. Tsurezure Children
  4. Owarimonogatari Season 2
  5. Saekano S2
  6. Gabriel Dropout
  7. Shoujo Shuumatsu Ryokou
  8. New Game S2
  9. 3-gatsu no Lion
  10. Shouwa Genroku Rakugo Shinjuu: Sukeroku Futatabi-hen

Special Mentions: 18if, Akiba’s Trip, Shokugeki no Souma S3
Worst Anime: Long Riders!, ClassicaLoid, Hajimete no Gal, Koi to Uso

Expect a new post in the near future. And by that I mean morning.

15/11/2017 – UI Design and Flashcarts

Hello again.

I’ve been busy working on the new game, so I haven’t really had much to discuss for this blog. Again, if you want to keep up to date (Or mostly up to date) with that you can check out the itch.io page. But the last couple of weeks I’ve been working on a sort of content creator which lets me make stuff for the game without having the code everything. Unity’s UI is decent enough for the job even with a few weird bugs and specifics. It does remind me how much I hate Unity’s hierarchy system because it doesn’t let you access the children of an object without jumping through some hoops.

Anyway, UI design is difficult when you only have so many tools to work with. You have to jerry-rig it a bit and try and mash different UI components in a way that kind of makes sense. In the system I have, there’s a thing where I define what happens on each specific lane, and to do that I originally had the idea of using tabs, which Unity doesn’t natively support so I had to build my own version of it. Then I realised that for later parts of the game, there would be so many damn tabs that you wouldn’t be able to navigate it. So I settled on a drop down menu instead.

Persistent data was another thing I thought about. One issue was keeping data contained in input fields to stay, which I solved by just toggling which containers of game objects that contained all the additional menu stuff would be enabled at a given time. The other issue I made for myself was whenever I generate new waves, lanes, or lane sequences; it would delete all the information that was there, and put fresh new objects there. I’m not sure if I’ll ever get around to fixing this issue though.

In the grand scheme of things, pretty small stuff, but surprising in what it does to the user experience especially considering how convenient everything is nowadays. Stuff really needs to work and be presentable. You can’t just do one or the other.

Moving on, I got a GBA Flashcart. This one.

I haven’t given it too much of a test drive because I’ve been busy with other things, but I can at least say it works. I have a 4GB Micro SD loaded into it, and considering how small most GBA games are, I don’t think I’ll be replacing it. The good news is that I can now play Castlevania: Harmony of Dissonance without the game deleting my save because the battery on the cartridge died.

There’s other stuff to talk about but it’s mostly anime and games, and I should probably save that for The Den. Whenever I get around to a new one of those. I will say (And I sure hope I didn’t previously talk about this) that I read the book Masters of DOOM. And if you haven’t read that book, you should. I found it very difficult to put it down. Excellent read.

That’s all for now, till next time.

-Adam

14/09/2017 – Apparently There’s A Thing Called “Programmer Day”

It recently came to my attention that every 256th day of the year is Programmer Day. In other words, September 13th (Or 12th on Leap Years).

Anyway, I’m still working on my game, which you can take a gander at the progress I’ve made on the Itch.io page for it. It’s going well, but I’ll admit, I’m behind my personal goal of having it be somewhat more showable. But at the very least, you can kind of see the ideas coming together.

So onto something more recent. I had a PC problem the other day where Chrome would crash on start-up due to an error in ntdll.dll file in my system32 folder. After uninstalling and reinstalling it several times, trying to install Firefox, a couple of virus scans, and mucking about with some system files; I eventually tried using Safe Mode and found that it launched there fine. So after a quick Google search, I decided to do a clean boot of my PC.

No, that’s not a clean install of Windows. More of a turning off of all the additional start-up processes and restarting the PC. Which worked. So there’s a possibility that there was probably a conflict somewhere, that said, I’m too lazy to figure out where. As long as it works I should probably leave it for now.

Other than that, Destiny 2 is out. And I’m playing it.
I wish I could stop.

That’s all for now. Keeping it short this time. Like I said, I post updates for the game on the Itch.io page, so check that out if you want to know what I’m up to game development wise.

-Adam

The Den – 20/08/2017-28/08/2017

It’s been over a year and half since I last did this. I’m not going to talk about every game I’ve played since then. I’m also going to expand it beyond games and anime a bit.

Valkyria Chronicles Remastered

The last time I played Valkyria Chronicles, I got myself stuck two missions before the end, fighting a tank boss. And biggest problem I was finding was that I had basically screwed myself. You see, when I played it on PS3 I didn’t know quite a few things, like; You can replay Skirmish missions, what a lot of the different characters potentials were, and the fact that the old guy at the cemetery is RNG based and has a 1-in-10 chance of actually giving you anything (More on that in a bit).

So when I started the remastered version, I decided to do some research and properly figure out the game’s mechanics. But also figure out how to play the game more efficiently so that I could take less time getting back to the point I was previously at. Unfortunately it’s made me hate the game more because I’ve started to rely to heavily on the RNG in it. Missing shots, taking more damage than I would like, and so on; would pretty much lead to me reloading my last save.

On the subject of RNG, I never that old git was on a RNG. So back when I looked up walkthroughs for the game, I would wonder how people got certain skills I didn’t have. Turns out you have to save at the start of every chapter and reload that save until he gives you what you want. It’s stupid as tedious.

The game is great still, but horribly balanced. It’s either too easy or bullshit hard. Worth a look into though.

Castlevania Aria of Sorrow / Dawn of Sorrow

So I played Dawn of Sorrow first. It’s a fantastic game, touchscreen gimmicks notwithstanding. The soul system is an interesting mechanic that lets the player mess around with various powers and gives them a variety with combat encounters. Although like anything that lets players build their own setup, there are a certain combination of souls that will be the most effective.

The movement, which is similar to Symphony Of The Night, continues to be extremely tight, although the platforming can be a little dodgy at times. The game also manages to stay surprisingly challenging all the way to the end, providing you don’t cheese the crap out of everything.

Speaking of cheesing, when I got the Claimh Solais, EVERYTHING DIED VERY QUICKLY AND IT WAS GREAT.

Aria of Sorrow by comparison is significantly easier. There were only two bosses that gave me even a bit of trouble (Death and Julius), and one gameplay section (The Trials). Even then, it’s probably easier than even SOTN is. Shorter too, I completed it in over 6 hours. The Soul system technically originated from this game, but frankly it’s used rather poorly. Also, locking out the true ending unless you grind for specific souls is pretty daft.

I started Circle Of The Moon, but found it rather unforgiving. It throws quite a lot at you considering it’s the beginning of the game and you can only use the whip. I’ll try to get back to it, but I might end up skipping it for Harmony of Dissonance.

UPDATE: I found COTM too slow, so I started Dissonance.

Owning a Gameboy Micro

This thing is freaking tiny!

So I bought one of these things so I could play those Castlevania games, and because the idea of a tiny portable game device seemed fun.

It’s better to hold than a 3DS at least, but it’s tiny size doesn’t really do much for me in terms of comfort. My fingers start to cramp and the sweat on my hands starts to cause my hands to burn (Fun Fact: Your hands are slightly acidic). Additionally, the tiny screen makes it really difficult for me to read.

Now you maybe wondering why I didn’t buy an SP. Two reasons.

  1. SP doesn’t solve the issue I have with the 3DS which is that it’s uncomfortable to hold.
  2. No headphone jack

As for specific problems with the one I bought, there’s only one. The screen plates (It came with two) are a bit scratched up, and I need to either replace them, or find someway of cleaning them.

Anyway, I think it’s neat, but it hurts my hands still.

DOOM I & II

After reading Masters Of DOOM (Which I highly recommend), I got a craving for DOOM. Unfortunately the DOSBox version kept giving me graphical errors, so I ended up switching to the Chocolate DOOM source port.

But anyway, DOOM is still one of the best damn video games ever Goddamn made. The Chocolate DOOM version pretty much retains everything and adds better mouse support, which is great. Also, the last few levels are real fucking hard. Shit like “The floor is lava, and you need to walk through it to go to teleporters to get some keys to open doors to use more teleporters over more lava, so you can activate the bridge that gets you to the exit”. Fun stuff.

But DOOM II. Holy shit. It’s like they took the difficulty of the last few missions of the first game, and then ramped it up to 11. It’s been a while since I played the game, and I must have been playing it on a easier difficulty before now, because there have been multiple times where I enter a room full of really bad things that have a really bad day. But man, the Super Shotgun is still the greatest damn thing.

BLOOD: One Unit Whole Blood

I haven’t played a ton of BLOOD, but it seems even more unforgiving than DOOM. I need to give this more time, it seems neat though.

Dunkirk

It’s a good movie, but not entirely historically accurate. Particularly the way the Spitfires manoeuvre. I won’t go into extreme detail, but Spitfires were often associated with large sweeping movements due to the way the fuel was fed into the engine, traditional manoeuvres would cause the engine to stall.

I haven’t done a ton of research to really rip the film apart, but overall, I thought it was worth a watch.

Anime Roundup

Alright, quickfire opinions.

Tsurezure Children

Heart Attacks: The Anime. It’s a really good romance anime and all the character interactions are so damn cute.

18if

Not the best anime, but it’s so weird that I can’t help but recommend it. Each episode has a wildly different story that focuses on different problems, and the art style sometimes drastically changes to represent a whole different perception of the world. Give it a look.

Koi To Uso

KANASHII KANASHII KANASHII, URESHII URESHII URESHII
The anime is OK, but I think it only makes me get increasingly more angry at government intervention into individual rights. Opening song is awesome though.

New Game

I didn’t think an anime about cute girls doing game development things would resonate with me as heavily as it has. And now the second season is out and really fleshing out more of the characters and really digging into the realities of game development. I wish it had more programming focus though.

GJ-bu

This has been on my list for a while, and man, it’s great. It’s a slice of life anime with great characters and a comforting atmosphere. It’ll probably engross anyone that watches it, and make them hate the fact that it ends.

OK, so this post ended up getting put on hold for a week, so if it comes off as half-rushed, that would be the reason. Sorry about that. It’ll be a while till the next one.

-ADMAN

04/07/2016 – Happy America Day!

Although being in Northern Ireland, there’s not really much reason to care.

Not a long post today, mostly just gonna talk about my project. Progress is going well, albeit a bit slowly at the moment. The itch.io page has links to the development long if you’re looking for specifics. That said, I want to talk about feature creep and individual systems taking more time than they should.

The latter first. So a system I’ve been working on a sub-system that picks that an enemy distribution pattern in the game based on the player’s progress. This has taken me a good two weeks to get to the point where I can get something to work, and that mostly comes down to me overthinking its implementation. When I first thought about it, I wanted to build a system that read in from a text file and would generate all the waves of enemies in the game from that. There were two problems with this system:

  1. Each spawner in the game world can take a variety of arguments that defines speed, timing, and what object is spawning. Because of that, if I was to get them, each spawner on screen could require a minimum of 3 arguments. Which considering there could be a dozen or so on screen at anytime, that ends up being a lot of overhead, which Unity is terrible at handling.
  2. In relation to the first issue, I thought a good way to negate it would be to use asynchronous game objects to handle it. However, Unity being Unity, didn’t make that particularly easy. Specially, the more recent versions of .NET allow for Async reading of text files. But Unity, being .NET 3.0, doesn’t have this option. So I had to abandon that idea. The alternative was to use threading, but I’ve never really had much experience with it, and at that point I figured it was more effort than it was worth.

So in the end, I made a hard coded variant that just told the spawners in game what to do. Currently I’m altering that version to take the update cycle into consideration.

Feature creep is something I’ve commented on before, and I’m not gonna say too much on it. But basically, I went from have two notes on my whiteboard to having 5 of them, all filled with additions I want to add to the game. My notebook is also full of them. What’s happened is that I’ve come up better ways with how I want to game to play, but without noting anything technical of how I want to build it.

To be fair, the biggest set of notes is just a list of game modifiers. Regardless, there’s probably stuff I’m either going to cut, or this game is going to take longer than I would like to make. Guess we’ll find out.

Right, that’ll do for now.

-Adam

P.S. Gaming Den post soon.

08/05/2017 – Project Update and Itch.io Dev Log

Hey there folks.

I will probably be using itch.io’s new dev log page for my game to distribute news updates on it. You can view it here. Note that the page is using a secret URL because it isn’t public yet. I’ll probably make it public once I have some useable art assets. You can now view the page publically, but it’ll be generally unlisted if you search for it on the site.

As for the first dev log post, you can view that here freely.

24/04/2017 – Working On A New Project

As I decided to write this, the date changed from the 23rd to the 24th. I am currently starting to write this just past midnight, whether or not I finish writing this tonight is yet to be seen (Somewhat likely, I don’t write much for these).

I can’t remember if I mentioned in my last post that I started a new project. If I did, then my apologies; if not, well guess what? I started a new project.

It’s a game, this time a 3D one that focuses more on traditional control methods (PC/Console friendly), and as such has opened the door to a slew of bullshit wondrous new avenues in Unity’s development tools. Well, sort of. The difference between the 2D and 3D tools from a programming perspective is negligible at best. But, I do feel the development toolset lends itself better to this perspective.

So what is the game? I can’t talk too specifically yet, but it’s a bullet-hell game. Which considering it’s a genre I am terrible at, is pretty surprising that I’m actually doing somewhat well in constructing it.

Now, I’m not quite ready to show any gameplay yet, but I assure you it’s coming along well now. I’m gonna talk about how the progress has been so far, and I am deeply sorry that I cannot go into specific detail about certain scene, scripts, or game objects. It’ll make more sense once I start showing the game I assure you.

When I first started it, I ended up over-thinking a lot of the base principals that would construct the game. Everything was very singular and separated, but still required to communicate with each other. This way of development continued for several weeks, and became harder and harder to work with, and made progress incredibly slow. I didn’t get player movement working on that system until maybe late February or early March.

Sometime after doing the player movement stuff, I got sick and had to take a couple weeks off (I may or may not have also been playing the crap out of Nier Automata by this point, but lets ignore that detail). And after I came back to work on the game, I realised something; Everything I was doing was very convoluted and difficult to manage, especially considering how Unity manages hierarchy of objects in the game scene.

Once I realised this, I broke down all of my previous code and bundled up a lot of the objects that I was generating separately into two slightly different objects (And then made another two based on those), and then generated the game scene based on those. This amendment caused a significant increase in my efficiency and made the other tasks for myself considerably easier.

For example, the player movement code that had taken me several days to make and work properly, now worked within a matter of hours and was much easier to obtain the components I needed from certain game objects.

One of the other issues I had was a little more specific to Unity. I found a need to destroy game objects in a scene, but said objects were being collected in a list. However, Unity’s GameObject.Destroy() function only operates at the end of the frame and not immediately. Which meant that the list I was storing these objects in said there were more of them than there were, which actually broke the player movement system.

Unfortunately, the WaitForEndOfFrame() function didn’t work as I had intended, so I had to resort to rebuilding said lists in the Update() method which is expensive. It’s kind of been nagging me, so I’ll likely end up fixing it at some point in the future. Additionally, the bug can still occur if the player is positioned in a specific way, but that’s also something I’ll fix.

That’s about as specific as I can currently get. Hopefully by the time I write my next blog post I’ll have some images and video to post. Although my next post will likely be a Den post.

That’s kinda all for now.

-Adam

P.S. Persona 5 is hella rad.
P.P.S. Nier Automata is also hella rad.