Summary
Computer Graphics, Vision, and Games graduate from Aberystwyth University who has since continued to learn and expand the skillset. Well organized, creative and a strong problem solver with outstanding organisational, analytical and decision-making skills. Excellent planning skills in setting and achieving goals, including meeting tight deadlines. Always thinking of something to do and how to apply them. Cooperative and helpful team participant, with ability to think and work well independently. Systematic, logical thinker, able to compartmentalise program aspects and build integrative systems. Has expanded interest in varying industries.
Personal Traits
- Problem solver
- Creative ideas
- Effective communicaiton
- Fast and strong learner
- Attention to detail
- Overall Completionist
- C
- C++
- Java
- Python
- JavaScript
Programming
- Unity, Unreal, LibGDX
- Collisions, Controls
- Particles
- Top-Down Shooter, Arcade
Games
- OpenGL: Glfw, Glew, Glm
- Render pipeline, buffers
- Linear algebra, vector maths
- Lighting and shading
Graphics
- Implementation, Testing, Version Control
- Waterfall, Kanban
- JavaFX, Tkinter
- JUnit
- Gradle, Gulp.js
Software
- Client-Side:
- HTML
- CSS
- JavaScript
- DOM
- Bootstrap, Bulma
- jQuery
- Server-Side
- Node.js
- Express
- Pug/Jade
- Databases
- PostgreSQL
- MySQL
- Oracle
- MongoDB
- WEBGL
- Three.JS
Web
- SVN
- Git
- Perforce
VCS
Aberystwyth University
(2014-2018)
BSc: Computer Graphics, Vision, and Games
Summary
- C, C++, Java, HTML, CSS, JavaScript, Bash
- Embedded programming (Arduino Uno) of an LED-powered game.
- Linux files, shell script, LaTex documents.
- Client-side web pages development, written a WordPress blog and personal webpage
- Object-Oriented Programming
- Database modelling in PostgreSQL.
- Group work software development project: Buccaneer board game
- Groups and files administration as well as disk management via VMWare emulation
- Data Structures: Stacks, Queues, Matrices, Maps
- Algorithms: Search, Sorts, Graph, Greedy
- WebGL 3D and game programming – rendering, buffers, lighting, transformation mathematics, collisions, physics – created a virtual room tour.
- Artificial Intelligence – maze traversal, fuzzy logic, data mining
- Computer Vision
Online Courses
Google Digital Garage
2020-- Digital Marketing
Futurelearn
2020-- Building Online Presence
- Remote Collaboration
Udacity
2018-- 2D Game Development with LibGDX
- Introduction to Algorithms
- Introduction to Computing Theory
Udemy
2017-- Build your first Unreal games
- Understanding JavaScript
- Complete NodeJS
- C Programming for Beginners
- Beginner C++
- Number Theory for Programmers
- Sorting Algorithms
Practice
Codecademy
2015/6-Twin-Stick Shooter style space game
Java, 2D, collisions, particle effectsApplying what I had learnt from the beginner's game programming course, I made a twin-stick shooter where players can move across the map and shoot enemies before they reach some gate. A score system for the player and enemies and a collision system for player, enemies, and bullets were implemented. The screens (for the most part) are resizable. There are three options to choose as fire type. I added particle systems at the end of development, which get set off once destroyed.
Interim version | Full demoThreeJS Practice Demos
JS, WebGL, geometries, file readingAs part of going through the documentries and fundamentals pages of the framework, I gradually apply some of the concepts onto demos where I practice some JavaScript feautres and WebGL concepts. I have covered primitives and scene graphs to build a scene, materials and lights to make a room, creating a collection of items (and rotating them all), loading a file(s) into a scene, and picking one.
LinkColour coded Progress Tracker for OpenOffice Calc
Office, macros, automation, spreadsheetsI wanted a way to track my tasks and personal projects in a fast manner, I would have the cells' background colour change according to how far the progress reached. I am not sure if Excel had an easier way of doing, but I found the conditional formatter a bit more confusing in this application. So, I went ahead to implementing a solution, mostly looked online and the documentation for possible tools to solutions, and edded with making a progress matcher in a application library, so that I may use it for other worksheets. However, considering my work will always need room for improvement, I wanted to make another macro and spreadsheet to transfer any project considered 'finished' into another spreadsheet. Where I can reflect on what I understood and what could be worked on. For this, I created a worksheet specific macro for creating a dialog for any finished project and paste the relevant data from the form and cells into the completed sheet.
Link (unavailable)Personal Media Site Backup
JS, Node, multimedia, file uploads, database connectionA personal multimedia site to play as a backup and a testing ground on file management for web content. Site's section include: videos, images, games, scenes, and documents.
- Tel: UK +411581603
- Project Updates
- Codecademy
- Sololearn
- Hackerrank