Gamifying My Portfolio

Intro

I want to explore how I can apply my skills as a game programmer to web development so that I am a more versatile as both a web and game developer.  Specifically I’d like to gamify my website similar to what Rafael Caferati has done at https://caferati.me/. The major areas I will have to explore in this are web graphics, game architecture, and server side programming.

This project will clearly show my unique skills as a programmer because it combines my game programming and web development. It will show skills in graphics with WebGL, making a website, making a backend, and making a simple game. More importantly it will show my ability to quickly learn new technology and produce results.

Technology Stack

WebGL

WebGL will be used to render because I have a little prior experience with OpenGL, and because it’s widely supported. I may fall back to a rendering library if directly using the WebGL API proves too time consuming.

Javascript / JQuery / HTML / CSS

I’ll be using the standard web development languages because I don’t need anything fancier. I have some experience with Angular, but simply don’t need the additional power and don’t need my portfolio site to be a single page app.

PHP vs Node.js

The server side technology is a toss up between PHP and Node.js. I have some experience with Node, but am currently taking a class in PHP. Node offers NPM which is easy to use while PHP also has a package manager which may be just as usable. I don’t like the way PHP is interspersed with the other languages while Node is exclusively JavaScript which makes it easier to work with. I will likely use PHP if I can use it as a project in my other course as well. If not, I’ll use Node because I know what to expect from it.

Unkowns

The first potential problem is how difficult it will be to work with WebGL. If it proves to be too time consuming there are a couple fallbacks. The first is using a framework, the second is using a full on game engine, something like Phaser.

The second potential problem is making a game from scratch. Despite courses in Game Engine Architecture and Game Engine Design and Implementation, it will still be a time consuming procedure. Again there is the option to fall back on Phaser or another engine.

The third potential problem is JavaScript. I suspect that the patterns that work well in C++ will need to be adapted for a more functional language. I will also have to be worried about performance because of the slower language and limited computing power.

The biggest question of course is whether or not I can complete it on time. The answer is that I’m not sure, but I think so. Working with WebGL and architecting even a simple game in JavaScript is a big unknown. I’m not sure what faculty support will be available for the technologies. There are tutorials available online, but none for the higher level of graphics programming I want to do with very limited web development knowledge. I think this project is ambitious, but doable in one semester.

One solid element is that this project does not rely on external resources more than the minimum required for any programming project. As long as my computer doesn’t catch on fire and the internet doesn’t stop working I’ll be set.

Leave a Reply

Your email address will not be published. Required fields are marked *