Portfolio of Sam McGarry

Welcome to my portfolio showcasing projects that I have worked on and games and content that I have created. Please scroll through and take a look, or use the links on the right to visit the section you would like to see.

I currently publish my games and apps under the developer name Dual Studios. I develop in Game Maker: Studio at the moment, but I also used Adobe Flash CS6 and AIR for some of my older projects. I mainly create 2D games and apps for mobile platforms. I also do a little bit of work in Unity 3D.

Over the past couple of years I have also started to work on web applications and automated systems in my free time. Most of these involve working with HTML, CSS, JavaScript, PHP and MySQL. You can read a bit more about these kinds of projects further down this page.

I can currently program using Javascript, PHP, HTML, CSS, Python, ActionScript 3.0, Java and C# among others. I am able to pick up new languages quickly.

As well doing the programming on all of my projects, I also do the design work and create the 2D artwork and assets, and I am currently learning 3D modelling techniques. Expanding my skill set is important to me so this is something that I continually work on.

I am now finishing the last couple of months of my Computer Science BSc at The University of Kent. As such I am currently on the look our for any roles that are web or game based, and that will challenge me and help me to expand my skill set further. I would like to bring my current range of skills and talents to a company and help them to achieve more, as well as learning from the experience.

Showcase

COLOR

COLOR is a new puzzle game that I am currently developing for PC, Mac and Linux, with a mobile release to follow shortly after. I have been working on the game in my free time since May 2013 and I hope to release it sometime within the next year.

COLOR is a game about the addition, subtraction and manipulation of colors within the RGB additive light system. It is a unique and challenging puzzle game that pushes your understanding of how light works, and teaches you more about it in order to progress through the game.

The game is still in development but it has been greenlit for sale on Steam. You can also download a demo, and pre-order the game from the COLOR website below:

Website (Demo & Pre-orders): dualstudios.co.uk/color

Steam Greenlight:
COLOR Greenlight Page

COLOR Game

AUTOBUBBLE

I created this AUTOBUBBLE system to save myself time. At the time, I was using a website called RedBubble which is a website where users can upload artwork and imagery to be sold on a variety of different products such as T-Shirts, Pillows and Mugs etc.

To save myself time when uploading new works to this site, I made a website that used a PHP script to log into my account and upload images for me. This system would analyse the provided image to get the most common colour and use it as the default t-shirt colour. It would also position and scale the image so that it fit onto the product and was centered.

This ended up working so well that I decided to automate the whole process, so my system would automatically find a royalty-free image via the google image API to upload. It would then trawl the source page to generate tags and a random description based on the subject matter then put all this information together and upload the image to RedBubble without any input from me, and over a number of weeks and months this system generated me a lot of sales!

AUTOBUBBLE SYSTEM

YT Prints

My current project is a website that lets users automatically generate posters based on YouTube channels. Users can enter their favourite channel and generate a poster with thumbnails of their videos instantly.

The system uses the YouTube API to search for and gather all of a channels video thumbnails, then uses the PHP GD image library to construct a poster based on the information and images gathered. This image is then returned to the client and displayed for them to preview before purchasing. The whole system is hooked into the Shopify e-Commerce platform, so when an order is placed the server recieves a notification that and order has been made, and our system will send the image to our printing partner: Pwinty. Then using their API we will print and deliver the poster to the customer.

All in all it's a complex system using many web technologies and API's that I'm particularly proud of developing.

COLOR Game

Buy Cheap Fifa Coins

Buy Cheap Fifa Coins was the website that I developed an automated coin delivery system for. In the popular video game FIFA there is a mode called FIFA Ultimate Team and in this mode players use an in-game currency called coins to purchase packs and players for their team. As such there was a large marketplace for buying and selling these coins using real-money.

The system I developed was hooked up to the Shopify e-Commerce platform and would automatically log into the EA servers using one of our 'selling' accounts and transfer the amount of coins that a player had purchased to their account.

The system used a mixture of PHP and Python on the back-end with a HTML and JS widget on the front end so that customers could find the cards that they wanted to transfer to get the coins. The system was used commercially for over a year and handled over a quater of a million pounds of transactions until EA closed the loophole in the marketplace and therefore the websites that were selling coins.

COLOR Game

Elemental

Elemental was a game created by a 5 person team consisting of 2 programmers, 2 artists and a designer, over the course of a week.

We were put together as a group of work experience students during a week long placement at EA Games' Criterion studio in Guildford.

I worked as one of the teams programmers and was responsible for programming the player's controls, movement, physics, interactive level elements and the movement of the companion character.

The game is a puzzle platformer in which you manipulate the elements around you (Fire, Water and Electric) to help morph the level around you, therefore allowing you to progress further. The player is controlled using a gamepad, and has a secondary 'companion' character which acts as the cursor to target the use of your elements.

This project helped me learn a lot about software development, version control and just generally working on a game as part of a team.

Elemental Game

Collision

Collision is an arcade, action game that I developed for iOS and Android using Adobe Flash and AIR for mobile. It was released May 12th 2013.

The aim of the game is to get highscores by dodging the black balls which appear on screen over time. It's a simple premise, but by utilizing simple and responsive UI design combined with levelling systems, social integration and online highscore tables, it becomes a game that is addictive and fun to compete in.

I feel as though I have learnt about many new concepts while developing this app. The key skills have been utilizing API's and understanding the documentation, learning the workflow for developing using social media features and how to integrate these, as well as a large amount of optimization, which will be useful to me in future projects.

The game is available to download for Android HERE and iOS HERE .

Collision Game

Draw Ball 2

Draw Ball 2 is the sequel to my original app Draw Ball. I decided that I wanted to make a sequel because of the feedback that I was receiving about the original, how it was a fun game, but a few small things were holding it back from becoming great such as the lack of an undo button. Originally these were things that I had omitted because of the complexity of programming them, however as my skills improved over time, returning to this game and taking it to the next level by making these improvements became more viable. Therefore I started work on this project with plans to add many extra gameplay mechanics to allow for greater variation in level design as well as adding extra customization options etc.

I started work on this game in early 2012, developing it for iOS and Android using Adobe Flash and AIR for mobile. I have worked hard on creating interesting and varied game mechanics and levels. The game is currently on hold while some smaller projects are finished, but I plan to resume work on this game at somepoint in the future.

Draw Ball 2 Game

Draw Ball

Draw Ball was my first app release on iOS and Android. It was developed using Adobe Flash and AIR for mobile over the period of 6 months, and was released 21st January 2012. The game is a physics puzzler in which you must use powerups and the lines that you draw with your finger to guide the ball around the obstacles and to the goal of each level. It had a total of 50 levels, with the opportunity to expand it with future updates. This game was based on the original flash game that I made, and also it's sequel.

I feel that through developing this app I have learnt less about programming and more about the actual submission process and about designing for hardware, including compatibility and particularly with mobile devices, optimization. It has been a helpful and worthwhile experience

The game is available to download for Android HERE and iOS HERE .

Draw Ball Game

Patchwork

Patchwork is a lights out style puzzle game in which the player must tap on blocks and 'unfold' them to cover up all of the specified green areas, avoiding the red areas, and within a time and tap limit to receive a highscore. It is being developed in Adobe Flash and AIR for mobile platforms.

Working on this game made me understand the importance of game and level design away from the computer, using design documents and hand drawings to plan levels ahead of time so that a smooth learning curve can be created.

This game was left behind due to other commitments taking priority, however I plan to come back to this concept in future and refine it, implementing online highscores, achievements and social integration features.

Patchwork Game

NanoBeat

NanoBeat is the game that I created during the Global Game Jam 2013, a 48 hour long game jam in which we were given a theme to create a game. This year's theme was the sound of a heartbeat, so initially I prototyped a rhythm tapping game akin to something like Simon Says. However I soon decided that this prototype was not going to work smoothly as the speed of the beat increased so I scrapped the idea and started again. That's where NanoBeat came from.

In NanoBeat the player must drag the nano-snake toward the heart at the end of each level without touching the walls. The reason this gameplay came about is because I wanted to experiment with some rope-like physics. Through implementing the rope physics I learnt a lot about techniques for simulating combined movement of individual elements, as well as a lot about collision detection and iterating through arrays.

Creating NanoBeat, and participating in the GGJ13 as part of my university's Game Development Society proved to be a great learning experience.

The game is available to download HERE .

NanoBeat Game

Flash Games

Before I started to develop games for mobile platforms, I spent my time developing flash games. I have had 3 flash games sponsored and released, and numerous others that I have started work on but never finished. Before I even made flash games, I made games using Game Maker. However once I began using flash and it's powerful vector art tools, I never looked back.

Of the games that I have had sponsored, 2 of them, Draw Ball and Draw Ball 2 were sponsored by MoFunZone.com, and the other, Pyra-Maze was sponsored by BigFishGames.com. The can all be played here:

Draw Ball

Draw Ball 2

Pyra-Maze

Over time I gradually began to transition into creating mobile content within flash, and I now utilise the Adobe AIR framework to create apps for iOS and Android.

Flash Games

Contact Me

If you would like to get in touch with me about anything then just drop me an email, I'm friendly, I promise!

sam_mcgarry@ymail.com

Alternatively, you may wish to view my LinkedIn profile or follow me on my personal Twitter account .

code