Category Archive: Year 2

Games Software Development

 

Launcher Image for Navy Game - More Images Coming soon

The brief for this project was to produce a gameplay demo (in some ways a prototype) to a certain specification and using a selected theme. It was to be done in C# and Microsoft’s XNA, a very useful addition to the C# language. The primary focus of the demo is the gameplay rather than any of the other aspects.

I selected to make a vehicle simulation game based around the concept of speed and exploration. Rather than creating the usual driving game through a world, mine is focused on the tasks of a Coast Guard helicopter. In the game, you need to fly round an area of sea, scanning the various ships in order to find any carrying suspicious cargo. This is done by simply hovering near them for a period of time

The game was primarily designed and written to be a highly customisable two player challenge style game, with the players competing with each other for the fastest time. This customisability was accomplished by a launcher tool (coded in Silverlight) with various options that could be tweaked such as number of ship, number of opponents and even the if the game was in two player mode. In the game itself, the helicopter is controlled by an Xbox 360 controller and allows a full range of movement. Ships are scanned by hovering close to them and once all ships have been scanned, the game over screen is displayed including the total time.

Overall, I was happy with this demo. There are a lot of things that could have been improved if I had had more time such as the overall level of polish in the presentation department. I am most disappointed with the animation code as I was unable to get the rotor blades to turn. However, I successfully used XNA, Windows Forms and Silverlight in the same project and made a playable demo.

For this assignment, I received a first (73%) with my tutor applauding the launcher tool, split screen mode and control system.

Controls

Right Stick – controls your heading

Left Stick – controls movement (including strafing)

Left and Right Shoulder Buttons – adjust height

Back – Exits game (Player 1 only)

Downloads

Both compiled and source versions can be found on BitBucket at https://bitbucket.org/michael_charge/navygame-prototype

Media

Network Programming Projects

ncp_screenshot1

As part of my BSc Computing course at Teesside University, I did two modules that covered networking programming in a chat room with avatars enviroment while utilising Java. These built upon each other and so have been merged into a single project page.

Part 1

In we were briefed to produce a Java TCP/UDP chat server. Before the project started we were provided an interface.

The chat client combined both text chat along with a 2D avatar. Chat messages were location dependant, unless commands such as /shout or /whisper were used. In addition, the server had a hierarchy to it, keeping track of owners and moderators with their own special powers such as setting new mods or silencing users.

Overall I enjoyed programming in Java – it provides a great platform to develop network enabled and multithreaded applications with a very friendly language.

Media

Part 2

In my final year, I took part in a second module using Java to create networked applications. The improvement over the last project was the requirement to be entirely non-blocking and to use another language to as an optional component. By using a framework created for the project by my tutors, I created an alternative to blocking TCP module included as well as adding UDP and limited SSL functionality. For the alternative languages, I used a Java based implementation of Python called Jython to allow me to call Python implementations of TCP and UDP and fulfil that requirement. This is due to Python’s quick and easy syntax.

Overall this project was very useful in teaching how to deal with large projects and granted some limited experience in Python

Download

Both projects’ source code is available on Bitbucket at https://bitbucket.org/michael_charge/networking-projects

Mobile Games Programming

For my Mobile Games Programming module, the programming component was to create a game based utilising mobile technologies such as Bluetooth and motion controls to play a multiplayer game around Wild West gun-slinging.

For mine, I decided to do a top trumps style game, where players select a hand of cards representing different Wild Western characters. Once selected, players would move the phone in a gun-slinging motion to set readiness. I used Cocos2d for the display of the ingame menus as well as for the sound effects.

Overall I was quite proud of my game. Although I could have done more in terms of using the motion controls and more work could have gone into the art, I thoroughly enjoyed developing for the iOS platform despite some of the oddities of pushing builds to device.

Download

[warning]Due to being developed on iOS, a compiled version is currently unavailable. However, the source code is linked to below. It can not be tested on solely via the simulator due to its Bluetooth requirements.[/warning]

Source code is avaiable on BitBucket at https://bitbucket.org/michael_charge/cowboygame

Media