Summary
Computer Science graduate from Aberystwyth University seeking a developer position to further apply problem solving, design and planning skills, as well as adaption to different environments. Enthusiastic worker with expansive interests in different topics. Aspires to creativity, persistence, and innovation. I also practice questions on hackathons. The eventual goal is to create some games, with addition to fields requiring heavy use of graphics. Other fields of skills development include in fields involving web projects for scenarios, networking, and hardware. Generally prefers taking incremental steps to developing projects and clear understanding of technologies.
Personal Traits
- Problem solver
- Creative ideas
- Effective communicaiton
- Fast and strong learner
- Attention to detail
- Overall Completionist
Topics
- Software Development: Waterfall, Kanban, Unit Testing
- Games: Game states, collision detection, event handling, modes
- Graphics: Rendering, Linear Algebra, Camera Projection, Lighting, Texture Mapping
- Web: Layouts, Flexbox, Events, REST API, Templates, Database Connectivity / Pooling, Canvas, WebGL
- Databases: Relational Algebra, SQL, Transactions
- AI: Search Algorithms, Fuzzy Logic, First-Order, Bayesian, ANN
- Animation: Keying, Frames, Dope Sheet
- Video Editing: Cuts, Transitions, Blends, Tracking
Tools
- Programming: C, C++, Java, Javascript, C#, Bash, Python
- Games: Unity3d, Unreal, libGDX
- Graphics: OpenGL (GLFW, GLM), WebGL (Three.JS)
- UI: JavaFX, TkInter
- Software Development: JUnit, Gradle
- Web: HTML, CSS, JavaScript, Inkscape, Bootstrap, Bulma, Node.js, ExpressJS, Pug
- Databases: PostgreSQL, Oracle
- AI: Anaconda
- Graphic Design: Inkscape
- Presentation: Powerpoint, video editing, Word
- 3D: 3DS Max, Blender
- Animation: Blender, DragonBones
- Video Editing: Blender
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, Regular Expressions.
- 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 (Java 8, JUnit, JavaFX, SVN)
- 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
Codecademy:
Completed:
Introduction to HTML
Shell (Learn the Command Line)
Learn CSS
Learn Python 2
Introduction to SQL
Udemy:
Number Theory for Programmers
View documentSorting Algorithms
View documentDynamic Game Character Creation in Inkscape
C Programming for Beginners
Understanding JavaScript
Udacity:
EdX
Gameplay Developer
Round Square Studios, Glyndwr University, Wrexham
Voluntary work for writing a controls system for twin-stick shooter in Unreal Engine. The goal was to write the controls so that the character can move with keyboard or twinstick controls.
Managed to successfully switch the controls from the defined template to map them to move rotation relative to the cursor's angle, as well as successfully working on the keyboard controls in the visual script.
Production Operative
Tomlinson's Dairies, Minera, Wrexham
Short time work in moving products around in trolleys.
Developed a sense of management and reaction skills.
Graphic Designer for the new GO Wales Banner
Aberystwyth University Careers Centre, Aberystwyth
Developed a banner for the new promotional material for GO Wales in Inkscape, in request by the clients and part of a voluntary role.
I was to experimenting with the tools I had used, providing interesting results.
Able to communicate with the client about my results and receive his additions to fix the banner, improving my creativity and communication skills.
Computer Science Student Demonstrator
Aberystwyth University, Aberystwyth
Advised and assisted 2nd year students in image processing in practical using GIMP.
Whilst there were some difficulty putting effort into answering more complicating questions, communication skills were developed and I was able to describe the contents or help beginners navigate the software.
Interests
- AI
- Geography
- GPU & Performance
Activities
- Kickboxing
- Archery
Hobbies
- Conversations of plans and ideas.
- Gaming
- Reading
Excel VBA Web Scraping Example
After coming across the idea of web scraping using VB on a Youtube tutorial, I applied the example to the TIOBE Index for languages ranking as of 6 June 2020. This table would then be further worked with a search box.
View scraped result.Excel VBA Search Box
Expanding the TIOBE table by writing a search macro to filter out the languages by the matching letter patterns. Based on another Youtube video with application to my scapred set.
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 video | 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.
LinkProgress Colour Codes in OpenOffice Calc
Using OpenOffice macro programming to create coloured cells to track progress of work or projects (cross-application), also getting moved to the Completed list once reaching a certain target (workbook exclusive).
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.