C# Programmer - Software / Game Developer - Web Developer
PORTFOLIO OF WORK
Procedural Generation Project
Multi-threading App
Machine Learning Work
UX - Exam Resources App
Prolog - Robot Locator
AWS Services Report
Project G100
Multiplayer Tank Game
Obscurus Game
Software Testing Assignment
MVC .Net Example Clubs App
3D Racing Pod
Adobe Illustrator Examples
Collectables Game - Dictionary Example
FOOP - Shopping App
Angular2 - Website
Razor - Web Forms Example
FOOP - Car Application
Platformer Mini-Game
RPG Game Engine Example
Book Cover - Photoshop Redesign
Dungeonly - 4th Year Project - Procedurally Generated Dungeons
The project revolved around research and practical work on topic of Procedural Content Generation in Games. A Thesis involved research into the existing examples of content generation in video games, algorithms and techniques of procedural generation and what kind of results each produce. Following, it followed practical application of research into a Dungeon Generation, which generated maze-like floors using Grid-Based Generation and Cellular Automation for one specific style enemy. The project also researched different Artificial Intelligence mechanics, such as, “Finite State Machines”, “Fuzzy Logic” and attempt of implementation of “Procedurally generated Tasks” for player to complete before reaching next floor. The Final Project is composed of Unity3D Implementation and a thesis which can be accessed below:
Miner Game (Clicker Game which displays the capabilites of multi threading in a WPF application)
A game in which the main goal is to keep earning gold (either manually or automatically).
Auto “miners” which increases the gold / score automatically.
A thread is used to simulate a progress of mining along with a background worker to safely invoke access to update the UI elements to display feedback.
Another Thread is used along with Isolated Storage to write the logs of what each Miner has mined.
Third thread is used to access the isolated storage again.
A shop that would allow to use earned gold to further upgrade the manual mining or automated ones.
Isolated storage to keep track of logs (what each miner did and how much gold it earned).
One of the projects from my 4th Year, Machine Learning module, involved building a handwritten digits recognition system which would take in 5,000 different hand-written digits files, process them and see the score of how different models performed. It involved building, training and testing a Naive Bayes Model, seeing how well it performed, then repeating this with a K-Nearest Neighbours model to see if it performed better than Naive Bayes model. The project can be accessed below:
User Experience - Examination Resources Application
The project involved working on design and user experience of IT Sligo’s Exam Related resources and “the experience of IT Sligo’s students with on-line content relevant to exam”. The project started with preparation of recruitment screening document and consent forms that would allow to search for suitable candidates to conduct Usability Tests with.
As to be able to conduct those tests, a Usability Test script was required, during which each candidate the notes were written down as they progressed through each task. Following, various other documents were created from those notes in order to find out where user’s biggest and most crucial issues or “pain points” were in current experience of using IT Sligo exam related resources. A Low-Fidelity prototype was initially created as to transform user-flow diagrams to a working and visual “application” that a user could interact with.
A low-fidelity prototype allowed for usability testing further and much quicker reiterations of the feedback. Following the Low-Fidelity, Mid-Fidelity Prototype was created as to show a more detailed and real looking representation, which also followed with a usability testing and transformation into a High-Fidelity application. Both, Mid-Fidelity and High-Fidelity were created using Adobe XD software for User Experience work. The Portfolio document with summary of work conducted can be found below:
A Prolog (a logic programming language associated with artificial intelligence and computational linguistics) program which required to build a representation of the “floor” pictured above, which room and corridor is connected to which, then have an entity (a robot in this case) walk through specified tasks (i.e. fetch a key from one room, get a cup of coffee and deliver it to specified room) as well as provide a feedback of actions completed in “console”. The application source code can be accessed below:
The two-part assignment involved starting and configuring Amazon Web Services that would be highly available, and in certain cases work alongside each other. First part involved setting up services for a fictional company, creating a diagram for it and writing report about selected services and how they were implemented.The second part of the assignment involved similar structure, however more focused on the research of each service, its advantages over other services available, creating diagrams for those and setting them up as well as monitoring those services and its costs.Both reports can be accessed below:
The Project G-100 is a top-down bullet-hell shoot them up action video game built in Unity3D game engine (using C#), with many unique and interesting mechanics, created by a four-person team. Each level being uniquely crafted for player to progress through, shooting through waves of enemies with a “Boss” styled fight at end of each level, and earning Crystals (which allow the player to further unlock new ships and power-ups to use).
A unique mechanic in the game involves the “power-up” engines with each having a unique ability as well as a “pilot” character who reacts to how player is playing (if they get hit, approach the “boss” character and so on). The game was built for Windows OS and can be accessed below (Password for access is: “prjg100”):
A multiplayer game built using MonoGame Framework (utilizing C#) which demonstrates knowledge of MVC, APIs and SignalR. The project consists of multiple parts, a MonoGame client utilizing SignalR library to connect to a local server (or a server that could be stored on Azure in the cloud). The game allowed four players to connect together and shoot each other to compete to collect the most (randomly generated) collectables. The game communicated player’s positions (in order to update them in each client) and accessed players’ scores using an API call from the server. The source code for the application can be accessed on Github repository below:
A four-person team project made in Unity3D (utilizing C#) is a board-game themed Role-Playing game, allowing player to travel between locations, access a town to purchase items, upgrade the “dice”. The game uses hand-drawn graphics and artworks as well as involves a “dice battle system” in which player faces an enemy creature with pre-defined statistics, player throws their dice to see if the sum of the faces is more than enemy’s statistics, after the damage is calculated, next turn starts and this is repeated until one defeats the other. A build of the game for Windows OS can be accessed below (Password for access is: “obscurus”):
This project involved working in teams of two people, working through various Software Testing steps, in order to test a sample web application, (an insurance calculating application that determined an amount of insurance premium based on user’s gender/age). The project involved black-box testing as well as white-box testing using various technologies such as, Katalon, Fitnesse and Unit Tests. The project repository demonstrating these can be found below:
The project involved working with MVCs and web application, seeding the tables with my own data, creating further tables and adding migration to the data while updating the database, seeding them with finally adding a controller and associated views to the application. The source code for the assignment can be found below:
The project involved gathering ideas for own interpretation of “Racing Pods” (from Star Wars franchise) based on a chosen theme. It begun by gathering ideas of various themes and existing onto a mood board. Once that process was finished, a hand drawn sketch was required to create and plan out a custom idea for a Racing Pod model. This project was based on a theme of ocean creatures, with focus on sharks. After the initial sketch was created, the model was created inside of MayaLT Software. The full 3D model can be accessed below:
This involved a series of projects which involved creation of Vector Graphics inside Adobe Illustrator Software. Certain Artworks were created from scratch, while others were sketched on paper then drawn up in Adobe Illustrator. The PDF of artworks pictured above can be viewed below:
A small collectibles MonoGame Engine project (made in C#) was one of various projects that provided introduction to Data Structures and Algorithms. The project involved using mouse-controlled character, moving it around screen to collect the collectible objects (utilizing Dictionaries data structure).
A C# application built with WPF, that was an introduction to building WPF applications among introducing to idea of Object-Oriented Programming. The application allowing user to preview prices of various bikes, add tax, add, and remove from cart and to see total cost of cart’s content as well as sort bikes using categories.
A project which involved working with Angular2 and NodeJS frameworks, which is a small “social network” website application, that would allow user to upload pictures to the website, with a title and username of user who uploaded it.
A C# Web Forms application utilizing Razor, dating website styled application with various client-side verifications implemented to make sure that data being inputted into the form was correct and matched required guidelines on the website. The website also utilized external CSS for styling.
A C# WPF application that further introduced to the Object-Oriented programming as well as building WPF applications. The application allows user to create and store locally a database of different kinds of vehicles in detail, then reload that, edit it and sort through different categories.
A small mini game built in Game Maker Studio application, as an introduction to games programming. It involves jumping from platform to platform while avoiding enemies and picking up collectibles that add to the score. The game also has Save/Load functionality.
A first year, game engine project built inside of Game Maker studio, which incorporates the Game Maker’s basic physics capabilities. It allowed basic interactions with objects and travelling from one map to another.
A project demonstrating my knowledge of Adobe Photoshop, which involved creating an alternative book cover design for already existing book. A book in project is called "Zoo" by James Patterson. The project involved creating a mood board, gathering ideas for the new theme of the cover, sketching some ideas on paper, with finally creating a final design of a book cover and a 3D perspective view. The work and all steps that were done to achieve thee end result can be found below if form of a PDF file.