Welcome to Nexfinity

G'day. My name is Christopher Johnson and I'm a University student studying Software Engineering at the University of Adelaide. Nexfinity.net is my website in which I'll cover programming related projects that I am working on as well as other tidbits from my day to day life. I have a passion for video games and computer programming and I hope that you I can share this with you through Nexfinity. Thanks for stopping by. I hope you enjoy.

Twitter Update

Follow me on Twitter

Current Project

Paint Prototype - C++ - SDL

Navigation

Categories

Most Recent Articles

Browse by Month

Blogroll

Content Syndication

Meta

CC-GNU GPL
The software on this website is licensed under the CC-GNU GPL version 2.0 or later. Unless otherwise stated.

I’ve moved

December 16th, 2010
Hey folks, I’m moving from nexfinity.net to cjohnson.id.au. Here are all the links you need.

On Hiatus

April 27th, 2010
It’s been quiet around here for a while. Don’t worry I haven’t forgotten about you blog. Sometime in the future I’ll update you. :)

Current Prototype – Rotablock

November 1st, 2009

I just thought that I’d stop by and post a bit about something I’ve been working on in the background. Over the last few months I’ve been slowly working away at integrating SDL and OpenGL together in a basic game engine while on my train trips to and from University. After integrating the two together I put together a very simple puzzle game which I’ve called Rotablock.

The aim of the game is to find sequences of horizontally and/or vertically aligned gems. Once you have found these gems you can select the sequence and they shall be removed from the grid. New gems fall from the top of the grid and slide down to the bottom. You can rotate the grid 90 degrees left or right and all of the gems will move accordingly. You can also slide gems across.

Hopefully I can add some spiffy effects before completion.

Hopefully I can add some spiffy effects before completion. :)

This game is just a technical demo for the SDL and OpenGL integration and as you may have guessed from the actions performed in the game, I plan to port this over to iPhone/iPod touch at a later date. Hopefully I’ll have the code all ready to post up in coming month and a bit. I plan on adding OpenAL, Boost and FTGL support too.

Games Development Club

September 13th, 2009

So many awesome things have happened since my last blog post and I think it’s time to post up information about one of those things. Today I’m going to discuss a new University Club that I have become apart of called the Games Development Club or GDC for short. Just to note we do realise that GDC is also the acronym used for the Game Developers Conference.

logo

The Games Development Club is a club that has been formed at the University of Adelaide about game development. While this club was formed at Adelaide Uni and is affiliated the AUU Clubs association, the club is open to everyone not just those who study at the University of Adelaide. Currently the club has had its AGM, a Meet and Greet, a Project Brain stroming Session and a Special General Meeting. The club also has plans for talks, workshops and group projects. We’ve recently put a call out for any interested parties who want to be apart of these club projects. You can read more information here.

That’s pretty much all I wanted to say. I suppose it did turn out to be just a plug for the club. :) Be sure to check out the site and follow the happenings of the club. There is heaps of potential here waiting to be unlocked.

Paint Prototype Progress

July 15th, 2009

I thought that it would be a great time to post some progress on the Paint Prototype that I have been working on. Currently the prototype is not at a stage in which I can test out the gameplay mechanics but it is getting closer to that point. At the moment I can see glimmers of the soul that this game could have which is very pleasing. I’m greatly looking forward to getting more progress down to see if this concept can become a reality and if this idea can truly elicit feelings from the player.

For now enjoy some of these screenshots. They don’t help in explaining what the game is about but hopefully you can take away your own interpretation of them.
The colours used in this game make me hungry for Icecream. :)

The colours used in this game make me hungry for Icecream.

I'll give you a clue. The grid is used for path finding.

I'll give you a clue. The grid is used for path finding.

Time Lapse Photography – Side Project

July 5th, 2009

I’ve just added another small project to my Portfolio. This project is just something small I came up with while tinkering away with OpenCV. The program I have created is called TimeLapse. It is a small program that takes pictures using a webcam and then strings these pictures together to form a video. The user can define the number of pictures that they want taken and the interval at which these pictures are taken. The result is a video of Time Lapse photography.

Time Lapse Photography over Tokyo

The source code has been provided under the GPL so feel free to enjoy the freedoms that this license brings. You can download the source code here.

PIRC Spelling Bot – Side Project

June 20th, 2009

Throughout the semester I’ve been playing around with extending the functionality of Java by using the additional open source libraries. This started off when I was looking to improve the GUI on our TimeTrack group project which you can check out via my portfolio. After stumbling upon SwingX and Substance which I used to improve our graphical interface, I continued to look for more libraries. Some of the more notable ones I found were PIRC Bot, an IRC based library for Bot creation, GraphViz, a library that plugs into the C library which is used to generate graphs and Jazzy, a spell checking library. I decided to put some of these to work. I used GraphViz for an AI assignment and I decided to use PIRC Bot, and Jazzy for a custom created Spelling Bot.

Today I am happy to say that I’ve finished creating this Spelling Bot. You can download the source code here. This spelling bot has a few nifty features including:

  • Spelling suggestions offered to users that misspell words in a channels that the bot has joined
  • Predefined(Aspell) and Custom Dictionaries
  • Following orders from a master such as adding custom words, joining and leaving channel

So be sure to put your those poor spellers to the test with this bot! I’m sure that you probably know a few.

New Project – Paint Prototype

April 2nd, 2009

It has been a while since I have finished programming Draughts and I think that it is time to move onto a new project. About a week ago from today I met up with a few friends of mine whom share a common interest in creating games. Together we discussed potential game projects and ideas. As I mentioned on Twitter, creating interesting game ideas is hard.

One of my biggest inspirations for game development, Everyday Shooter

One of my biggest inspirations for game development, Everyday Shooter

By the end of the night however we all agreed upon several ideas that we wanted our game to incorporate. The feeling of true consequence in a game and the sparing use of color and sound to signify importance of things in the game world. Over the weekend we all individually thought up potential game concepts that were based around these ideas. One thing that became quickly apparent to me while brainstorming is that having real consequence, consequences that makes the player feels guilty or sad about is hard. After this realisation I removed this idea from my mind and focused on an emphasis on color and sound. After some more brainstorming I came up with a concept that I thought was interesting but not entirely a good representation of what we had discussed. I discussed this with the group who also shared this enthusiasm for my idea. Another idea had fluctuated to the surface that was also interesting. The aim of my next project is to develop a prototype for the idea that I had designed. I want to keep the details of this idea behind closed doors for now because it is most definitely not concrete.

paint

Paint, so much game potential here.

Currently I am intending on creating the prototype in C++ using my old pal SDL. Before finish I will tease a clue, it involves paint and a lot of different colors. I will keep you posted.

Points – The Hidden Money Grab

March 14th, 2009

I thought I’d change my tune with this post and express my opinions on something that concerns me a little. With the internet connectivity being a strong focus for the current generation of consoles, we have seen the emergence of online stores that digitally distribute games, additional game related content and lots of other goodies. Two of the three major console manufacturers currently use a custom currency on these digital distribution channels. This in itself annoys me because in my mind it appears to mask the real cost of a piece of content. Since a Microsoft point or a Wii point isn’t a common currency I believe that people tend to undervalue its worth and hence buy more content on this fact alone. This is however not my major gripe with the system. I am very dissatisfied with the methods of buying a game through this point system.

super_mario_rpg

To explain my point I want to refer back to an incident that happened a few weeks ago. My brother and I were buying some virtual console game via the Wii Shop Channel, the digital distribution service for the Nintendo Wii. We wanted to buy around four games that we’d previously missed out during our youth. We searched the store to find our first game, Super Mario RPG which was valued at about 800 points. We then followed through the prompts to purchase the game since we couldn’t add it to a shopping cart and bundle it with our other purchases. We were soon arrived at a screen saying that we had to buy a block of points to buy the game. The lowest increment of Wii points was 1000 at $15 AUD. This means that we had to spend $15 to get a game that was really valued at $12 AUD. If we were buying a NES game that usually sell for 500 points then we would have to pay twice the price for it. Overtime we will likely buy more games and use up those points but it is highly likely that we will get to the stage where we don’t want to buy any more games and have several hundred points sitting in our account.

points

Let’s play with some numbers to get a rough idea of how much Nintendo are profiteering from this concept. According to VG Chartz there are about 48million Wiis sold around the world at the time of writing. Let’s make the assumption that only 5% of Wii users are online and of those 3.75% have some Wii points left in their account. Lets continue with some more assumptions and assume that on average there are 120 unused points in an average account. If my figures are correct this means that 1.8 million Wiis have a total of 216 million Wii points sitting in their account. This works out to a total of $3.24 million AUD and they are making this money for free. Do you feel a little cheated now? I know I do. Of course the Wii user base will continue to increase in the future as will the amount of users buying content for the Wii Shopping Channel so this figure will surely increase.

Don’t take these numbers too seriously but do take note of the extremity of these values. I believe that the Xbox 360 Marketplace uses a similar sort of system so Nintendo is not alone on this one. To heighten the amount of unused Wii points the current bundles of Wii points are not easily divisible in common pricing structures for games. Of course for cases where you buy a point card at retail this problem is inevitable by design but could be avoided by a more realistic point allocation. So the next time you invest in a block of points think about how much you are really paying for that 800 point game. Be back soon.

Draughts Game Complete

March 8th, 2009

I’m happy to say that I have finished adding all of the small touches to Draughts and it’s ready for public consumption. According to the deadline I set I am a bit overtime which is slightly disappointing. I think the biggest contributing factor was a lack of planning. By the time I finished implementing the baseline functionality, the game states or the game engine weren’t implemented. Despite being a tad late I feel that I’ve learnt a lot about some new tools such as Valgrind and bit about how game engines work.

I’d like to thank Roald Strauss for the music. I discovered his music at Indie Game Music which is an excellent resource for finding game music.

I have only provided the source code for Draughts since I didn’t want to have to deal with request about any compatibility issues. You can however compile the source code yourself and play. The game requires the SDL, SDL_image, SDL_ttf, SDL_mixer libraries. Here is a great tutorial about compiling SDL applications for your system.

Download Draughts Source Code

http://nexfinity.net/portfolio_files/draughts/draughts.tar.gz

Everything provided in this zip file except for the background music is under the CC-GNU-GPL license. The background music is owned by Roald Strauss and he’s permission has been granted for use in this game.

If you would like to leave feedback then you can enter a comment below or drop me an email. I have a few ideas floating around for what I want to do next, probably something more ambitious with SDL since I enjoyed using it. For now my brother has a few web related things for me to do which I should get to. Hope you enjoy playing.