Tag Archive for 'Games'

Portfolio Planning

Wow, its been a long time since my last post! The past month has been tough for a number of reasons but I’m now back on track and looking forward to a summer full of productivity… hopefully! I’m going to use this post to help plan out some of the things I’ve got in the pipeline for my portfolio.

Protorb XL

I have recently acquired a new phone, a HTC Desire running the Android operating system. Protorb is no longer compatible with this system but shouldn’t be too difficult to port and update. From this spawns Protorb XL which will be an upgraded version of the game with remastered graphics. I have some other interesting ideas… more on that in a future post.

Estimated time: 1-2 months.

Able in Space + Metagine

Unfortunately I haven’t had the time to do any development on the engine or the game itself due to my MSc project taking priority of my time. By the end of the summer I would like to have this game finished or as close to completion as possible so that I can work on polishing it up in time for job applications.

Estimated time: 3-4 months.

New RPNi Game

Over at RPNi we have all been hard at work on the next game. Unfortunately I can’t tell you much about this one until we make any official announcements. Needless to say, it contains zombies, pirates, brains and cannons. Quite an interesting mixture, I’m sure you’ll agree. We are currently in pre-production but very close to starting full-speed development. We hope to have this game completed by late July 2010.

Estimated time: 2-3 months.

Other Stuff

That’s not all! In early June I plan to attend the TIGSource UK game-jam (a.k.a TIGJam UK3) in which various game developers assemble in a Cambridge bistro and develop a game in 48-hours. Sleeping is optional! Whilst the game won’t be of commercial quality I’m hoping that I’ll be able to contribute towards a shared goal and get to work with some enthusiastic people.

4K Java Games

4KB is not a lot of space (4096 bytes). It is an especially small amount of space to contain an entire game (including any assets) within.

So, you might be surprised to hear that its entirely possible to code a playable game in Java (of all languages) within that tight filesize budget. I recently discovered Java4K and now I’m pretty hooked on the idea. I love programming around technical constraints and this poses a significant challenge.

It is actually a competition (rules here) and although I’m not interested in entering at this stage, I’m still going to attempt to develop a simple game based on their rules and constraints. Last year I developed a simple Breakout clone called ‘Protorb’ (which coincidentally needs some final spit and polish). As my first attempt I’m going to port the game logic from this and pair it with some ghetto procedural graphics and see if I can get this below or at the 4KB limit. If I have any luck with this, perhaps I’ll develop something more significant for my portfolio!

There is some information on getting started which should be read if you are interested in the challenge. Of the games on the website I’ve played so far, here is a list of the ones that have impressed me the most:

  1. Left 4K Dead.
  2. jm00.
  3. Just Get Bigger.

Check them out!

iRis AG v1.1 out NOW on the App Store

Great news!

iRis AG v1.1 is out now in the App Store! I would like to thank all of the crew for the hard-work it took to get this far, pats on the back all round. We have also submitted a lite version for approval but this has not yet been given the all clear by the Apple moderators.

The Game

Relive those classic arcade moments with a fun new twist! iRis AG is a unique, fast-paced, color-matching puzzle game sure to keep your fingers busy. Eliminate falling blocks by connecting similar colors, but instead of guiding them as they fall you’ll move the whole world around them to put them in their place!

As blocks fall, swipe your finger back and forth to match four of the same color together, then watch them disappear. Take out all the blocks at the bottom of a pile, and the whole tower gets taken with it. Keep on combining blocks to earn as many points as you can before the mass bar fills. Then take your score and claim your place on the global leaderboard!

My Role

Over the summer I contributed to the iRis project as a programmer. My work mostly concerned the fixing of bugs and refactoring existing code. The whole process was a huge learning curve for me as this was my first real programming experience outside of university life. Over the time I feel that I grew as a developer and got to grips with a whole new language and skill set. Coordinating distributed development across different countries and timezones is no easy feat and I would like to take this opportunity to thank Jonathan Wolf, our project leader who kept the well oiled development machine chugging along.

I would also like to thank Jonathan on a personal level because he has often acted as a personal mentor to me – above and beyond the call of duty. With his help I have identified a number of key areas that I would like to improve upon in order to become a better programmer.

Development Screenshots

Here are a couple of development shots from iRis AG (then called just iRis). These images demonstrate the evolution of the game’s UI over time, designed by our very own Ben Simonds.

Evolution of the iRis UI.

Evolution of the iRis UI.

Future Works

RPNi intend to continue the development of the geWiz ES engine used to power iRis AG. In addition to this we are beginning the preliminary work on the next official title. The next game will build upon the lessons learned during the development of iRis AG, the good and the bad. We now know what works and what doesn’t and we will use this knowledge to make another kick-ass game. Watch this space!

Feedback

If you have access to an iPhone/iPod Touch please try the game and let us know what you think. All feedback is appreciated and will be taken into account whilst developing our next title. The full version of iRis AG costs just £1.19 on the UK App Store, but you can also try the game for free upon the release of the lite version.

Extras

Here are a couple of extras that we thought you might like!

  1. iRis AG OST by Bradley Burr of OC ReMix (DOWNLOAD).
  2. iRis AG wallpaper pack by Ben Simonds (DOWNLOAD).

Metagine and Future Projects

Despite what I had previously said about shifting my main focus to a Mono-powered version of Metagine, this is no longer true. My visit to Blitz was a real eye-opening experience and gave me a kick in the behind to get some portfolio work done. To get myself taken more seriously I’m switiching development back to C++ to demonstrate that I know the language well. I will still use the Mono version for tying out simple game ideas, but that is all it will be from now on.

Over the summer I’m working on a new game project with my housemate, who will provide the art and graphics assets. We’re thinking something along the lines of topdown Micro Machines racing, trying to capture the fun predictable car physics and ‘party-play’ style of gaming. Initially aiming for the PC platform, I may make attempts to port to the iPhone if I can fund a Mac development environment and I decide that the game is worth that extra effort. See the video below if you don’t know what I’m talking about!

[youtube RfKYwpyn4lI 425 344]

In my spare time I’ve been working on the Metagine engine itself. Below is a list of things that I’ve implemented recently:

  1. Seperate module for game logic (abstracted from main engine code).
  2. Very basic rendering functionaity using SDL (work in progress).
  3. Simple sprite functionality.
  4. Everything is based around interfaces for inter-module communication.
  5. Ported to Windows platform (most game developers don’t touch Linux).

The list below represents some things that I hope to be working on in the future (if time permits):

  1. Better game-state management.
  2. A developer console for quick debugging and variable changes.
  3. Rigid body simulation for the car physics.
  4. Decide upon level format (most likely to be XML) and develop simple editor.

viperThe official art style of the game is still being sorted out, so for the time being I’m using random placeholder sprites found on the net. For the cars I’m currently using fan-made sprites for the original Grand Theft Auto, another game that inspired this project. Remember, you can always check out the latest engine code at my GitHub repository. Game specific code is likely to stay private, but I aim to keep my engine code public for all to use.

John Carmack on iPhone Development – Wolfenstein 3D

I have just discovered a really interesting article about iPhone development, by the legend himself – John Carmack. The article covers some of his experiences with porting Wolfenstein 3D over to the iPhone, talking about some really interesting things. I’ll leave it to you to read the article yourself, but here is a little teaser:

In the end, I decided to stick with the Redux codebase, but I got a lot more free with hacking big chunks of it out.  I reimplemented load / save game (fixing the inevitable pointer bugs involved), and by littering asserts throughout the code, I tracked the other problem down to an issue with making a signed comparison against one of the new enum types that compare as unsigned.  I’m still not positive if this was the right call, since the codebase is sort of a mess with lots of vestigial code that doesn’t really do anything, and I don’t have time to clean it all up right now.

The full source-code to the application is available online, pretty cool if you ask me! I found it really interesting to find that it was based on an open-source fork of the original id Software code.

All-in-all I’d say this is an excellent recipe of open-source goodness and commercial games development, great stuff.

Resolutions Revisted

Sometime in January I posted about my resolutions for the new year. I thought it might be worth a look to see how well I have followed them.

  1. Play more games – I’ve definitely achieved this one. I’ve been working my way through various PS3 and PC games and I’m thoroughly enjoying the process. While playing I’ve paid close attention to things which regular players might not notice.
  2. Develop more code – A combination of university assignments and passion for development has resulted in me spending quite a lot of time programming, excellent! I also contributed to an open-source game.
  3. Improve my maths – This one has been slower progress, I need to spend more time a week devoted to improving my mathematical skills.
  4. Gain an insight into the industry – On Friday I will be visiting Blitz Games Studios, my first real insight into the industry!
  5. Pass my degree with a good grade – I’m still working on this one! My dissertation is going well and I’m busy finishing the final assignments and preparing to revise for my exam.

All in all I’ve met my resolutions quite well. I would like to try and work harder on revising maths and also start a new game project with my housemate.

Contributing to Open-Source Games

One of my goals for this year is to contribute to an open-source project. Since there are countless open-source games projects it seems like an excellent opportunity to combine my 2 passions.

Teeworlds

Teeworlds

I would like to get a patch accepted for an open-source game. The best way to achieve this is to visit the project’s bug tracking software and identify some realistically achievable tasks, usually of a low priority. Before attempting to fix a bug or implement a feature, it is important to become familiar with the project in general, the codebase and also any project specific requirements such as a coding-style guideline (even Google have their own!). Below are 2 projects that I have identified as potential candidates to contribute to:

  • Teeworlds is a cute 2D shooting game. Its designed to be played online against human-controlled players and features fast action-packed gameplay. The project itself is programmed in C and C++, languages which I know pretty well. The project seems to be well organised and features an active bugtracker to help me find a task to work on.
  • Battle for Wesnoth is another 2D game. Its a turn-based strategy game with excellent 2D graphics and artwork and addictive gameplay. I spent a fair few hours playing this game on quiet evenings last year and I would love to contribute something back to the project. A bugtracker is also maintained.

In the coming weeks I hope to contribute back to one of these projects. I will try and document my process as well as I can on this blog so that it might help other people in a similar situation.

Jaggies and Pixelation

Blurry fonts, not so noticable in this photo.

Blurry fonts, not so noticeable in this photo.

Recently I’ve been playing Race Driver: GRID on my PS3. I have not been able to compare it with the other versions (PC, 360) but I would assume that the PS3 was not the main development platform. The in-game fonts look kind of blurry to me, and the game seems to suffer from jaggies.

Jaggies are stairlike lines that appear where there should be smooth straight lines or curves. They can occur for a variety of reasons, the most common being that the output device (display monitor or printer) does not have enough resolution to portray a smooth line. In addition, jaggies often occur when a bit-mapped image is converted to a different resolution.

I’m not sure whether this is simply the game itself or a by-product of my monitor setup (HDMI -> 28″ 1080p monitor). Either way, the game is still excellent and fun to play and the effect is not so noticeable if you sit a couple of meters back from the screen. Jaggies are present in a number of games that I’ve played on the PS3 so far, but it has been so long since I played the 360 I honestly cannot remember if this suffered to the same extent.

In other news I’m desperate to get my hands dirty with some iPhone/iPod Touch games development, but I don’t have an Apple Mac (which you need to use the SDK and tools). The alternative is to use the open toolchain for the development, but this requires a jailbroken device (which is not possible on my iPod Touch 2G). I will have to wait patiently for now.

New Year’s Resolutions – A Games Student Perspective

It is this time of year that everyone sets optimisic plans for the coming year. I won’t be an exception to this rule and so below are a few things that I would like to achieve over the course of this year.

  1. Play more games – This one is simple. Considering that I’m a games student, I don’t play enough games. Now that I have some modern hardware I have no excuse not to be up-to-date with the latest gaming trends and technology.
  2. Develop more code - The code doesn’t have to be game related, but I would really like to improve my development skills. I have my metagine project and this gives me a base to work from.
  3. Improve my maths - I was never an amazing maths student but I always got by just fine. I feel that to improve my employability in the future, I need to work on improving my maths skills, particularly 2D and 3D maths theory. To help me on my journey, I recently purchased ’3D Math Primer for Graphics and Games Development’.
  4. Gain an insight into the industry – This means applying for various open-days, courses and other schemes. I have applied for an internship at Rare Software, an open-day at Blitz Games and an IGDA student GDC scholarship. I would love to hear positive feedback from one of these – fingers crossed!
  5. Pass my degree with a good grade – I’m now in the final stretch of my degree (graduation in September), I need to really knuckle down and give it every last bit of energy I’ve got!

So – You know my plan for the next year, how about yours?