Sunday 27 April 2014

Game 5: Fives

Game 5, a completely original puzzle game! Unity was a lot of fun to use. I'm not sure if it's the best library for my purposes but I'll try to make something else in it next week.

C# is very similar to Java so that made things a lot easier. Unity is a different style of interface to get used to and the way you use the code in is interesting. It is geared towards making 3d games, although it does have tools for making 2d games. I sometimes felt like I was wrestling with the 3rd dimension to get basic stuff to work.

I had an idea for an original take on this puzzle but it turned out to be no fun at all so I just went for a straight clone in the end. Everyone seems to know about 1024 or 2048 but props to the original for the lovely interface and great idea. Unfortunately I think the game-over detection is a bit buggy. I spent a couple of hours trying to fix it but it's always tricky debugging new things. I want to try something else with better-organised code next time.

Tuesday 22 April 2014

NotGame 1: Triangles

I hope you like triangles because I do! I thought I'd try to make something little in C# so this is a few hours of learning that and hex/binary fiddling. I didn't use a graphics library, I just messed around with bitmap files to see how they work.

There are 128 images which show each permutation of a cellular automata-type rule for rows descending from an original 20 or so cells. Most of them are trivial but there are Sierpinksi Triangles and some more complex patterns too. These are all generated from a small C# program which was really fun to make. I got the idea from a maths blog somewhere but I can't find the link unfortunately. Click on the image to see them all!

Sunday 20 April 2014

Game 4.1: Failure

My first failure! I underestimated how long it would take to get to grips with C++. I thought it would be similar to Java but it turned out to be very different.

I'm not sure how much analysis I can give of C++ and SFML other than that they weren't as easy to get started with as some of the other languages and libraries I have used.

I will definitely revisit C++ at some point and dedicate a week or two to just getting to grips with C++. As it is I was having trouble working out if my problems were due to me not understanding C++ or SFML.

Next week I'll have a go with C# and unity.

Sunday 13 April 2014

Game 4: Demolish

I've heard good things about Phaser so I decided to try it out this week, along with learning a bit of JavaScript. Phaser has a physics engine so I thought I'd have a go at making a physics-based game.

I found JavaScript nice and easy to get started. I thought it would be similar to Java but they don't have much in common. I prefer JavaScript's classes to LUA's but I definitely still prefer Java. It's interesting to see how other languages work though.

Phaser was a bit of work to get started but that's just because I'm not very proficient with servers. It has a great list of example mini games showcasing various features with commented code underneath, which is a good way to get started or to see what can be done with the various systems. I found it quite difficult to learn how to do things outside of those examples though. There were three types of physics engine inside of Phaser and it was tricky to find the difference between them and which bits are shared. I ended up using P2JS and it worked alright, thought it was a bit of a pain to get set up.

I just moved in with a friend and I fell a bit behind with the coding due to getting house things sorted out, being distracted by friends and a bit of laziness! I ended up programming almost all of it on the last day, but I think it turned out ok in the end.

Next week I'll try C++!

Sunday 6 April 2014

Game 3: Tetris

Mac .app also!

This game was made in Lua, using the LÖVE library. I'm a big fan of tetris, especially the music.  I made my own music and sound effects using a GameBoy emulator which was great fun!

I hadn't used anything much like Lua before and it took me a while to start to get to grips with it. I kept being surprised when my Lua code actually worked! I miss Java's strictness and Eclipse's helpful touches. I found it interesting how Lua simulated classes but, ultimately, it felt like a big of a faff. I think Lua is cool but if I'm doing object-oriented programming then I'd rather use something that supports it a bit more natively.

LÖVE is a great library, their website and tutorials are a joy to use. I could instantly get started and the LÖVE hello world is comically easy. Importing images and sound was wonderfully simple and the only problem I had was that occasionally sound wouldn't play (that bug may still be in the game). The only problem with LÖVE is that it can't export very easily to run in a website. There are plans in the works for this but I was unable to get it to work. I wouldn't recommend LÖVE to new developers though, as I feel Lua is a bit tough for new starters although that may be because I'm used to Java.

I'm pretty happy with how the game turned out, considering I was a bit strained for time and spent a while getting a working knowledge of Lua. I thought it would be interesting to have the game present more difficult puzzles instead of getting faster so I added most of the 5-length tetrominoes and I think this worked pretty well.

Next week I haven't decided yet! I plan to use JavaScript and Phaser though.