28/02/2016 – Mobile VR

This is my first post in 2016.

Right, well, first off; I am still working on a game. It’s not the same game I was working on the last I made a post though. That game is currently shelved until I finish the one I’m working on. And the one I’m working on is basically an advanced Pong clone, because I wanted to make something for Android. Surprisingly, I’ve learned a lot more about using Unity with mobile platforms and more of the APIs it has.

Regardless, you’re gonna be waiting a little longer for a release. I’m kinda busy sorting out paperwork, which is almost done.

But onto the main topic; Mobile VR.

I recently got a Mobile VR headset, a DESTEK 3D Virtual Reality Headset. I got this one partly because my phone is small, and I prefer the sturdiness of plastic rather than cardboard. Thing is, this isn’t Google Cardboard. It has a NFC sticker on it, but not the QR code the Cardboard app asks for. You can still run it though.

Add it to the other pictures of white guys with VR headsets I guess.

Add it to the other pictures of white guys with VR headsets I guess.

There’s a bunch of VR apps to mess with, but I only messed around with Cardboard and the YouTube apps, along with the Unity Demo App for Cardboard.

It’s not a bad effect, it takes a moment for your eyes to adjust to it, so you can get a screen-door effect sometimes. A lot of the apps I looked at required me to stand up and move around to see things, the only stuff for sitting down VR were side-by-side video players. I’ll get to the point with that, it’s kinda shitty. I felt like shit after like 5 minutes and had to lie down.

There’s already plenty of information on why that happens, but I feel not making me stand up in the middle of my room, spinning around like a spastic; would of helped minimize the nausea I had. I seriously hope those developing apps don’t have the intention of designing them in ways that fucks with people’s sense of balance or world placement. Maybe they’ll get the message after a few videos of people smashing into their living room objects.

As for the headset itself (Minus the phone part, obviously), it’s mostly comfortable. That is providing you don’t wear glasses like me. In that case, expect them to become embedded into the sides of your nose. To be fair, it did come with extra padding, and I used that to ease up on that issue, but be fair warned regardless. The lenses are fine, mostly clear. There is a weird blurring, but I’m not sure if that’s the lenses, my glasses being dirty, or my poor eyesight without my glasses.

So in general, I like the idea of VR, but less like the idea of people not taking into account how people’s bodies react to it. Then again, Mobile VR and something like the Rift or Vive are very different machines. If you want to develop the mobile stuff, consider slower things where you turn have to turn around as much. But holy Hell does this stuff make my stomach turn. I’ll keep at it to see if my body can become accustomed to it and not be sick as a dog after minutes, but fuck man.

Either way, if you wanna buy into it, Google Cardboard is cheap and supports any phone/tablet display from 4.7″ to 6″, with some of them going larger.

Now I just need to stop goofing around and finish these things I start.

-Adam

06/07/2015 – Back Home

I have finished my University degree and now I’m back home.

Currently I’m looking into self-employment and doing some programming related projects on my own. No game development yet, but the time will come. That being said, I’ve mostly been playing Destiny, gotta get my Hunter to 34.

I just felt like making a post seeing as I haven’t put one out since the coursework period. It feels fucking great to be out of the education system.

-Adam

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