About Adam Lutton

Game Designer / Programmer

11/04/2015 – Two Lessons Learnt

So since the beginning of the Easter break I’ve been keeping my head down and doing coursework. Meaning I’ve been doing little else minus watching a fair amount of anime late at night. Coursework is going OK, my final project report hasn’t really been started, but it will be shortly; Visualization is 4/5ths complete, with just one task remaining; and Mobile is coming along, albeit slowly.

Reflecting back to last year where I had a week to do 400 hours worth of work (Which I maintain was a fucking insane amount for a programmer with less than two years experience, and would still be insane even now), I definitely learnt my lesson about not doing work within a correct timeframe and falling behind.

I mean strictly speaking, I’m still somewhat behind with my project and this Mobile coursework, but it’s far easier to catch up.

Now that I’m done reflecting…

Fuck Adware.
I’ve spent the last two days dealing with Malware on my machine. I fucking hate this shit. It puts me into a cold fucking sweat every single fucking time. I’m almost certain it’s completely removed now, but I’m still panicking about it.

So, second lesson of the day: Stay the fuck away from dodgy Internet sites and make sure your antivirus is good.

-Adam

Three Thing Game – March 2015

It was that time of year again.

Our words: Ninja, Platform, Bandit.

Being the only 5-man team at the event, we decided to move out of the main lab an into the .NET lab, away from everyone else.

DSC_0004[1]

This is where we were set up. Pictured: Mike and Ed.

We had the gameplay more or less designed. It was a endless runner.

The player was a ninja that ran across a never ending train fighting a horde of bandits.

DSC_0003[1]

My set up. Just a laptop this time.

Look, I don’t remember that much from the night. It took quite a while to get the game up and running, and even then, it was never really playable. I spent pretty much the whole time doing art for the game. Near the end I ended up re-making the main menu for the game after the person who had done it, left without committing.

FOOD.

FOOD.

MORE FOOD.

MORE FOOD.

That’s all the photos I took, unfortunately. Lukas and Rob ended up taking a bunch.

Anyway, we all ended up bailing around 7am. The game remained unfinished.

It was a ton of fun though, and I did a shit load of half-decent art.

 

10/03/2015 – New 3DS Impressions and More.

I’ll be short with my impressions of the New 3DS (Specifically the XL version). It’s a better handheld. The decreased load times, generally better performance, significantly improved 3D to the point it actually works, and a C-Stick.

That being said, the shitty ergonomic design that makes it difficult to hold for long periods remains, and frankly the improvements are not really enough of a justification to upgrade unless you really are in the market for a new one.

In my case, my old one went to my half-brother to replace his DS which was pretty much on its way out anyway.

In terms of games, getting to play Monster Hunter 4 at 60FPS is neat, but I don’t have much time for games these days.

I still prefer the Vita.

So that’s that.

In terms of life, I’m almost about to enter the part of the year where I go completely off the grid to complete coursework. And on that subject, a small rant.

The lack of documentation for building a music visualizer is mind-boggling. People have created them, made some really pretty ones, but nobody has really documented the low-level process of building one from scratch.

It’s taken me 7 months of hitting my head on a keyboard to finally reach a point where I understand exactly what it is doing from a processing standpoint. Something that I should have completed within the first month of this project. The problem is that my project is specifically focused on the data processing aspect of the audio. General audio APIs like FMOD or OpenAL don’t really give me what I want.

I’ll do a full write up on my project once Uni is finished, just so somebody somewhere doesn’t hit their head against a wall as hard as I did.

And finally, I’m entering Three Thing Game again. I’ll make a post about it after the event.

-Adam

Global Game Jam 2015 – Photo Dump and Thoughts

DSC_0007

COME ON AND SLAM, AND WELCOME TO GLOBAL GAME JAM!

 

So I travelled to Grimsby with Ed Brown for the 2015 Global Game Jam. This was the first time the event had been held there, and incidentally mine and Ed’s first time going there. It was held that the Grimsby Institute, which was actually quite a nice venue. It reminded me of “The Tech” in Omagh. Anyway, the theme this year was “What Do We Do Now?“.

DSC_0001

Presentation before we began. Showing the theme.

After getting with a group of first years from the institute, we went about designing some ideas for what we wanted.

DSC_0003

The whiteboard we stuck all our ideas to.

DSC_0002

The “Yes” pile of ideas.

Originally, we sort of planned for a “What-if” scenario where the Y2K bug became real, and most computing equipment went completely haywire. The player played as an IT technician during the point when all the computing equipment was going nuts, and you had to navigate the environment. Later on, stealth mechanics, items, NPCs, and other environmental hazards would pop-up.

DSC_0004

Writing some ideas.

The first level would have taken place in an office, and demonstrated some of the navigational mechanics the player has, as well as partly setting up the game world. The second level would act more as a set piece, showing the world around being thrown into a state of havoc. The third level that was planned was a underground level, showing more of the use of items and environment navigation.

DSC_0009

First level design.

It was a very ambitious design, heavily relying on art. Thankfully we had 3 artists. The being said, the morning after, we abandoned the design in favour of something else.

DSC_0005

The room we were stuck in for 48 hours.

DSC_0006

Ed being Ed.

The new game was a more simplistic platformer that heavily relied on it’s art to standout. The reasoning for this decision was because we had 3 good artist, 1 sound guy, 1 good programmer (Ed), 2 not so good programmers (Including me), and 1 other person. The idea we originally came up with was quite taxing from both an art and programming standpoint, so changing it to something less crazy was probably for the best.

Anyway, GitHub is not as great as people say it is. With Unity anyway.

Myself and Ed hadn’t really used it much, so we had no idea what to expect. But basically it broke down to this; Ed would do a thing, someone else would do something as well, Ed would commit it, other guy would get a fuckload of conflicts and try to merge, other guy loses hours of work.

Because of that, programming turned into a “one PC at a time” kind of deal. So Ed was really the only person working on it from a programming perspective. Actually, his laptop’s Internet would crap itself, so it he eventually started using other people’s PCs. In case you were wondering what I ended up working on, I programmed the Checkpoints within the level (Which I then rewrote with Ed sitting next to me), made the particle effects for the butterfly, and rigged the level.

Oh yeah, I guess I haven’t explained fully what the game is. The game was a platformer where the character would try to chase a butterfly through a continuous level, filled with enemies and devious platforming. The butterfly was meant to represent the characters dreams. I won’t spoil what happens, you can play it for yourself later.

Anyway, in the downtime; I re-familiarized myself with Unity by watching tutorials. Especially the new ones that covered 2D games. After a while, I became more confident in my ability to work and started to help out a bit, suggesting solutions to problems and such.

The people we were working with were alright. Other than the occasional loud noises and Nerf gun fights, things were mostly pleasant. People coming into the room and distracting us was a problem during the second night though.

1505518_10152529533421924_8556125497771750698_n

Our team. Ed and myself on the far right.

 

Somehow I managed to get some sleep, although it was the most uncomfortable thing in the world having to sleep on the floor underneath a desk. Not to mention the sporadic heating problems, whether it was either too hot or too cold.

Anyway, back to the game.

PW-1

 

The art was great, my checkpoints mostly worked, and it played fine.

There were a handful of issues, like most games made in 48 hours.

  • The collision detection on level objects was not correct, meaning the player would be left running or sliding on surfaces meant to be straight.
  • Checkpointing would break and the player was left floating between some objects if they died in a specific spot.
  • Enemies would get stuck on terrain.
  • Touch controls did not work that well.
  • There are missing aspects from the game, such as enemies, more platforming pieces, and events.

All things considered though, I’m relatively happy with what we made, and I had fun at the event. Eating food, bantering, designing things. Was fun.

And guess what, we won a thing:

DSC_0012

Woo! We won a thing!

And then Ed (After being awake for about 30 something hours) drove me home. Which was fun because we were both tired and the GPS would occasionally point us in the wrong direction.

This is the second time I have stayed for the entirety of a jam, and the first time I stayed for the whole of a GGJ.

Our team’s page can be found here: http://globalgamejam.org/2015/games/painted-wings

Additionally, here’s Ed’s Blog and here’s an article about the jam.

For those wondering whether you should go to one of these things, I’d recommend it. But I’d also recommend bringing a sleeping bag.

-Adam

25/12/2014 – Humbug.

I think I’ll probably say “Humbug” as every Xmas title. I don’t even hate Xmas, I just love saying “Humbug”.

Down to business, my first semester of my final year is complete. I only had two modules (Minus my project), Commercial Games Development and Games Programming with Advanced Graphics.

Both had two pieces of coursework to complete, one individual and one group task per module. For Games Programming we had to create a game engine in OpenTK, make a maze game, then port it to PlayStation Mobile. Due to some circumstances beyond my control, I ended up falling behind in terms of actual practical work for that, so I ended up doing the written documentation for how all of the engine systems were built, how they interacted, programming design, AI, and so on.

Come to think of it, a few months back you may recall me mentioning AI pathfinding. Well, interesting thing about that; I designed the AI and told a particular person to build it in the way I instructed. Instead, it was built in the most inefficient way imaginable. Essentially, it should of worked by detecting what waypoint it started at, knowing what potential positions it could go to from that waypoint, and then randomly picking one and moving to it. How the person actually coded it was by generating a list of waypoints that were all exactly 25cm apart (We scaled it to 1.0f = 1cm in world space), then use a random number generator to pick a waypoint at random from that list, do a boolean check to see if it could move there, then move it. Two issues; potentially it could never move if the number generator never picks a position it could move to, and it isn’t a scalable system. If we got a different map we would have an even harder time mapping the waypoints.

The map itself was a problem, we used a model instead of building it with walls. This forced us to change how the collision detection worked, using rays and point-to-poly calculations instead of collision with a wall object.

Somehow, we still managed to finish the thing and get good marks. I got 70%. Not bad considering I only did documentation.

As for the Advanced Graphics side (Something the deadline was less than a week ago for), we used GLSL and RenderMonkey to create out own version of something called “Teapot Wars” (You can look that up yourself). I had a lot of fun messing around with shaders. Last year I was too scared to touch them, now I feel confident that I could make something rather interesting. Anyway, I learned a lot about manipulating Vertex and Fragment shaders, and created some horrific stuff. It was useful though, especially considering my project will be using them heavily.

Commercial Games was real hit and miss. Individual coursework went mostly fine, I missed out of a few marks because I was careless with a checking over and didn’t fill a section in completely. Still got a good mark though. As for the group stuff… Let me put it this way…

You would be hard pressed to find fault with any of our documentation, minutes, meeting notes, timesheets, etc. All the documentation is there (Thanks to yours truly being extremely anal about it). However, we heavily underestimated how much time we had to work on this project. Our game was basic… Really basic. More like a 24 hour game jam product than something that should have taken a minimum of 400 hours over a period of 5 weeks with 5 people working on it. We had a lot more time than we thought, and spent it very poorly. Most of us were very under-worked (Except myself and one other teammate). When it came time to demo it, the presentation became the two most uncomfortable minutes of my life. And the questions we were asked were mostly “Is that it?”.

That being said, I clearly pointed out that this was a prototype game, and our evaluation of the project describes various gameplay elements and improvements we would like to add. Especially the idea of using Unity instead of XNA, both for better ease of use and superior collision detection & physics.

Thankfully, that coursework is mostly documentation based.

As for my project, it’s coming along. I finally have time to work on it. The underlying structure is there, it mostly requires me to “Fill in the blanks”. I’ll talk about it more when I have something to show.

I’ll upload videos of “Teapot Wars” and other coursework stuff in due time.

Now I know what you’re thinking; “What did you get for Xmas?”

A jumper, some chocolate, a Top Gear 2015 Calendar, and a £100 Amazon gift card. The last of which I spent on more stuff.

In terms of other things going on, I have a lot of programming books to read through, starting with “Design Patterns”, followed by “Game Programming Patterns”. And I’m playing video games again. Currently going through Yakuza 4.

See you when I see you.

-Adam

13/12/2014 – A Suggestion For VR Developers

Although this is probably brought on from the amount of Sword Art Online I’ve watched recently (It’s not a good show regardless), there is an aspect of VR Gaming which worries me.

It’s no secret that imbeciles have somehow managed to die while playing video games for an absurd amount of hours, and I can’t help but feel VR isn’t going to help. Now the obvious solution to this problem is to force the user out of the game and take a break. I know it’s not a well liked solution to this problem, but a forced reality check every 8 hours or so is probably the only way to get people to stop.

I’m not saying we limit their daily playtime or anything. I know the Chinese government implemented time restrictions on certain games, but this is slightly different. You should be able to go back and keep playing. It’s more like one of those things of “Hey stop, get some food, drink something, and use the bathroom; then come back”.

To be honest, most people probably wouldn’t notice. I’m pretty sure only the dedicatedly stupid can play a game for more than 8 hours without even a bathroom break or food. But it is certainly something to think about.

And this goes without saying, although SAO seems like a cool concept, don’t actually implement a system where the headset kills your players.

I’ll make another post once this semester is over with. So probably a week or two from now.

-Adam

08/11/2014 – Some Advice

The past version of yourself is probably a bigger dick than your current self, thanks in part to giving you a lot more work to do now instead of doing it earlier.

Anyway, I’m catching up at least. Figuring out AI pathing is actually more fun than I thought it would be, but trying to get it working with the rest of the game engine is going to be difficult.

Lastly, you should buy Freedom Wars. It’s fun, and has some cool concepts.

-Adam

13/10/2014 – Virus Riddled Music Visualizer

So I’m sick. I’ve been sick since August and coming back to Hull I got even sicker. The problem is that it’s no more than a common cold, although I had flu this weekend. On top of this, despite only having a week’s worth of classes, I’m slightly behind on work.

Now let me tell you an interesting story. I have never programmed a music visualizer, or done any real sound engineering. So doing a music visualizer as my 3rd year is probably the smartest thing I could probably do. But that’s not the point. When starting off my research I decided to look for FFT libraries in C# that would help me build this thing, and I found a few, and figured “I’ll keep these saved until later once I get closer the the year starting” (This was around July). Upon coming back and doing more research, I find out that the libraries are old and will not do the task.

From there I looked at more common audio libraries like FMOD. New problem; not in C#.

And then, like a fucking fish in the face; during one of my lectures last week, the lecturer mentions that OpenTK (OpenGL wrapper for C# and the graphics library PlayStation Mobile uses) has a bunch of audio tools as an add on from OpenAL (The audio library stuff from old OpenGL – 1.1-ish). So here I am, stunned, that the thing I wanted to get was right there in front of me this whole fucking time, and I wasted several days of my life looking for shit I already had.

Fuck this shit sometimes.

Anyway, my first week was alright. Even if I am down with the sickness.

OOOO-WA-AH-AH-AH!

In completely unrelated news, this laptop I’ve had for about a year is apparently a toaster. Opening up multiple Chrome tabs seems to push the CPU towards the highend, and most 3D games released 8 years ago struggle to get an ideal framerate on this thing. Even low-end Unity games have issues. So I ordered an ITX PC. I should have it within a week or so, but there might be a problem with the order.

Anyway, see you later.

-Adam

ADMAN’s Den – 09/08/2014: Life with a 144Hz Monitor, WiiU & PS4 thoughts.

144Hz

A monitor like this has been something I’ve wanted for about a year or so. Since hearing John Carmack’s Keynote at QuakeCon when he talked about the benefits of a 120Hz monitor and how it significantly improved response rate. Finally, I managed to find one for less than £200 from a well-known brand. It’s a AOC G2460FQ.

First problem with it, it comes with a HDMI cable, however the cable is not cable of doing anything over 60Hz. Secondly, I had to purchase a new DVI cable to actually get it working properly. Once both of those issues were taken care of, I noticed an immediate difference in moment from the mouse alone. It’s incredibly smooth. I have two monitors, and the other is my old main 60Hz monitor from Acer. So I notice the difference quite clearly. Mouse moment is significantly choppier and stiff by comparison.

As for games.. I haven’t really been playing anything that takes full effect of it yet. I was tempted to try GRID Autosport, but I didn’t feel like playing it. I did play a lot of Deus Ex Human Revolution, and I can certainly say it seems smoother in parts.

Other than that, with adjusted options, this monitor is on-par visual wise with my old main, which was already an excellent monitor in regards to the contrast ratio and colour output. I still think my old one looks shaper, but the colours are less vivid.

All in all, I really like this monitor. Maybe I should boot up Quake.

WiiU

Let me be honest, outside of Uni and the other crap I’ve been doing, the reason I put off giving my impressions of this thing for so long is because I haven’t had much to play on it outside of Wii games. I mean I fucking love the fact that it is backwards compatible, but still.

Although I should start off with that. It is basically a Wii when it comes to backward compatibility. Wait no, it is a Wii. It’s not emulating it, it is one. Anyway, any Wii game works and all the controller stuff works fine (Except GameCube stuff, but I don’t have any of that). Only thing I wish it would do is have some filtering options, better scaling, and maybe some AA. Other than that, everything looks fine.

In terms of actual WiiU games, I’ve only got 4:

  • Windwaker HD
  • Monster Hunter 3 Ultimate
  • Wonderful 101
  • Mario Kart 8

Windwaker looks pretty good and runs perfectly. Wonderful 101 has it’s charms and barely ever drops below 60FPS. Mario Kart 8 looks really good, but that’s probably more to do with the art style choice of the tracks than actual graphical ability. It does the job. No, it’s a fucking power-house, but the games I have look and run perfectly fine.

One thing I ended up doing on it was using it to watch stuff on YouTube and Amazon Instant Video, along with other things in the browser. The web browser is pretty fucking impressive, and is easily the best web browser I’ve used on a console. As for Amazon Instant Video, it woks, but the UI can be kind of choppy at times.

Frankly, that’s my one major complaint about the system, the load times on the menus for fucking dreadful. I’m sometimes sitting there for a good 10-20 seconds waiting for thing to load, and this is after all the patches. I know there’s one released super-recently which might improve it more, but I haven’t installed it yet.

On a final note, MiiVerse is a cool idea. Too bad no-one gives a damn about it.

SoVeryLonely

Look at all these friends I don’t have.

Overall, it’s not a bad console to be honest. The things it does well are enough to justify it. Backwards compatibility are a good selling point seeing as you’ll probably want to check out the few JRPGs the Wii had. And the games it currently has work fine and are fun. It’s a good console. Also, the Pro Controller is pretty damn good and has an insane battery life.

PS4

Now that you’ve skipped ahead to the point you actually want to read, let me tell you about the PlayStation 4.

It’s shit.

Nah, just kidding. But there is more promised potential than it actually has features right now. Games wise, I’ve got MGSV Ground Zeroes and InFAMOUS Second Son on disc, and Resogun as a downloadable title. I have more download stuff, but it’s the only one I’ve played. Anyway, I’m satisfied with graphics improvement that the PS4 offers. It’s not amazing, but it is an improvement. What I’m most looking forward to is a heavier use of custom shaders to get some cool effects. However, the problem InFAMOUS and MGS have is draw distance. InFAMOUS has some really bad moments where the other end of a street can look untextured and blurry. I kind of expected it though.

Another thing I hope for is more photo modes like InFAMOUS, look at these:

inFAMOUS™ Second Son_20140708141659 inFAMOUS™ Second Son_20140708010456 inFAMOUS™ Second Son_20140707175340 inFAMOUS™ Second Son_20140704201841

I’m not sure how many people agree with me, but I think that shit looks cool. Which brings me on my next point, the Share button.

Now, people like me have use for this thing because I like taking pretty screenshots of games or recording interesting moments. And while the screenshot feature works as intended, I’ve been having issues with the video stuff. Basically, it isn’t saving any videos whenever I press the button for first time booting up the console, so whenever I need it to work, it doesn’t. I’m not sure if anyone else has this problem, but it annoys the shit out of me. Another thing, the quality when streaming from the console is awful, even with HD selected. Frankly, you should get a capture setup if you are actually serious about streaming. It’s not like those are terribly expensive anyway.

I mentioned before how much I like the PS4 controller from a comfort perspective, but actually using it with a PS4, still the best controller out there right now. I don’t like the materials on the sticks, but other than that. From a functionality stand point, CAN DEVELOPERS STOP USING THE TRACKPAD FOR BOTH START AND SELECT FUNCTIONALITY? Fucking Hell. Use the options button for the Pause Menu, and the trackpad button for what used to be known as the “Select screen”, or “Map screen”, or whatever the fuck games used it for. MGS has this problem. Whenever I try to get the pause menu, he pulls up the I-Droid shit. But pressing options is just pause, and no menu. Why would you do that? Holy shit.

Another thing, let me decide if I want sounds coming out my controller or not, don’t force them on by default. The only way to get around it in InFAMOUS is to stick headphones in. As for the lightbar, well I usually sit with my legs crossed, leaning back into the chair, so my legs block the light from the controller glaring the screen. Even still, the light from my window gives a more significant glare than the controller does.

Vita Remote Play works for the most part. I tried a little bit of InFAMOUS and it seemed to work fine, give or take 50ms or so of latency. You just have to be careful of the connection. I lost connection while using my Vita, and the game no longer registered regular controller input, the console then had a hard crash which required me to unplug it because it wouldn’t turn off via the switch.

Applications like the PSN Store and Amazon Instant Video are much smoother on the PS4 than they were on the PS3. Especially the former. Trying to use the store on PS3 is a nightmare. It’s slow and really unresponsive at times.

Miscellaneous things like friends lists, profile view, and trophy lists have been improved in various ways, mostly from a UI perspective.

Overall, there are a lot of things I still want, mostly MP3 support and custom backgrounds. But for what’s there now… It’s good, but I wouldn’t recommend buying one unless you really want to play something on it RIGHT NOW.

I would usually talk about anime stuff now, but it’s been so long since I did this type of blog that it would take a really long time. So instead here’s a link to my MAL account. It should give you an idea of what I’ve been watching lately. If there’s anything specific I feel like talking about, I might post about it.

Only anime related thing I feel like talking about in any sense is Monogatari. To which I say; I looking forward to Hana next week.

Later

-Adam

 

 

31/07/2014 – Summer So Far

As I thought would happen, I’m going to have to do two resits later in August. I’m not surprised, I’ll just have to manage my time better.

In terms of projects, there’s two I’m working on. One is a music visualizer, which I’m doing for my dissertation next year, and the other is a instant messaging program that doesn’t suck. For the former, I’m currently in the process of getting my head around FFT (Fast Fourier Transform) which I’m using to get the frequency of sound every 20ms or so, and then producing that as an image on screen. I haven’t done much in the way of note taking so far, but I have found a library for it which I might use to save time on development.

As for the instant messaging program, I’m more or less doing it as a test for more networking stuff. I never got my head around it as much as I would have wanted, so I figured doing more stuff on it would help. I’m still figuring how much stuff I want to put into it for the prototype. I’ll definitely give an update later on once I start making some more progress. The more worrying thing about it at the moment which I haven’t looked into is security. That should be fun.

In terms of other things, I’m working my way through my Gaming Backlog. Currently jumping between Deus Ex Human Revolution DX, Yakuza 3, and Ni No Kuni. Although recently Tabletop Simulator became available, and I’ve been looking forward to trying that for a while. Somewhat related, I bought a 144Hz monitor, and it is fucking sweet. Everything is super smooth now. I might boot up Quake Live and see if it makes a difference.

I also played some stuff on my PS4, so I might give some impressions on that console at some point, along with the WiiU which I promised to do ages ago.

On a sadder note, MGC is shutting down. I will probably archive the History of MPU stuff on this site. The podcast will stay up though, but I’ll rename it with MoA stuff in mind. The Steam group is also unaffected.

It’s a very sad thing to close down something that a long line of people have kept alive over the years, and it was fucking awesome talking to every one from MPU, and helping start MGC. I wasn’t there for MPC, but everything about it sounded great, and speaking to the people who have stuck around since that time gave me a lot of perspective on the whole thing. But everything must come to an end.

That’s it for now. See you when I see you.

-Adam