So here we are, for the sixth and hopefully final time. It’s the end of the second last trimester of my studies and I need to summarise all the things that I’ve done. And should get marks for. Right, let’s get to it.
What I’ve Created
- Distortion & Pulse Shader
Synthracer Maximum is an 80’s outrun styled game wherein players cruise around a floating highway as the world around them pulses and distorts to the beat of the music.
For this, I was responsible for the visual pulsing and distortion of object via a two-fold shader running on a lot of external timers. I was also responsible for the creation of the beatmapper used to read the music, and have the world respond in time.
Now, whilst I am in almost no way responsible for it, I must also say, the final state of the outrun aesthetic is phenomenal.
Nothing Of Interest
- Network Design & Implementation
- Server Side
- Client Side
- More to come…
Nothing Of Interest is an online multiplayer game of deception and subterfuge. Set in the hyper-corporate world of the future, players take the roles of corporate agents undertaking business operations (of various dubiousness) in an isolated pocket of the past. Players must retrieve and deposit specific briefcases from other corporate agents, through trade or violence, with no knowledge of which agent works for who (or if they’re even an agent).
Or at least, that’s what the game would be if it was done.
As it stand, I have implemented the core of the game’s networking systems, and used them to create the front end lobby needed to actually begin the game. The gameplay itself is already mostly programmed, but still needs me to add networking to it, which I will be doing in the immediate future.
- Game System Design
- Mechanic Prototyping
- Player Control Refining
G.I.A.N.T.S is a 4 player co-op puzzle game that has our players dragged to an unknown planet by a mysterious robot. They must then work with this robot which they are, at times, physically tethered to, to overcome the various obstacle of the planet before them. To do this, they can also make use of various crystals that can increase of decrease their size, weight, and strength.
Here I’ve done a number of prototypes for the games many puzzle mechanics. From shrinking and growing, to classic buttons and levers, to a universal weight system, to powerful gusts of wind that blow lighter players and objects about. I’ve also done some work with player controls, with interacting, grabbing, and throwing, and also the implementation of a third-party input mapping system.
- Mechanic Design
- Event Design
- Event Scripting
- Particle Effects & Other Feedback
Arms Race puts two players in the shoes of rival diplomats – one from Russia, the other: America – and pits them against each other in a ‘diplomatic’ battle of focus and determination. Essentially, the two players must mash randomly assigned keys as fast as they can to overpower their opponents.
Whilst initially developed in 48 hours, this year we amped it up to the next level, and brought it out as a full release. For once, I was not managing this project, as that had temporarily been taken over by the diligent Callan Syrrat. I was, however, scripting and balancing various events and, most importantly, juicing the hell out of them. Furthermore, all of the designs for the new content were also my creations.
- Player Stats Tracking
- Player Stats Feedback
New Intelligence is a prototype for a mobile app designed to help users retain the knowledge gained from a seminary provided by a company of the same name. It features tests in various formats from simple multiple choice, to drag and drop, and a complicated grid-timer combination system. All of this would earn the player a form of progress point, which they could review any time.
Whilst my involvement in the project would certainly be classed as supplementary, I still had my contributions. Namely, the system for tracking and displaying player stats, and displaying the player’s progress as they earned more points. That, and helping others with some bug fixing here and there.
Unannounced HDG Project
- Project Management
- Concept Design
- Mechanic Design
- Pitch Planning
Now I can’t say too much on this project because A. We’ve not formally announced it, and B. It’s still in its early stages and certain aspects of its future are still up in the air. For now, I’ll just say it’s a dice-based digital board game, and may or may not be released on a console of some sort.
Regardless, I’ve been taking care of all of the design aspects of the game from the ground up. Not only that, I’ve been managing the project and working on structuring our pitch and prototype to show to a certain important individual(s).
- Project Management
- Maintenance & Bug Fixing
- Sourcing Russian Translations
Those that know me, likely already know Dyadic. But for those that don’t, Dyadic is a two player local co-op puzzle game, based around transporting an invaluable statue through dangerous ruins. You and your partner will have to work together to survive, but are more than capable of betraying and murdering each other to get your hands on that statue.
This year we’ve released a sizable update for Dyadic, featuring significant quality of life improvements, 3 additional languages, numerous bug fixes, and a Steam demo. I was fixing some bugs, overseeing the update in general, and souring some Russian translations. Unfortunately, the Russian translations have still yet to come through, so will likely be included in a later update.
Other Small Projects
Raytracer Optimisation: A simple optmisation of a raytracer rendering program using parallel processing and the estimating of every third pixel’s colour.
An Analysis of Rendering Limitations on the NES: A moderate post looking at how the size of various aspects of the NES’s physical memory impact the number of sprites and colours that can be rendered.
A Brief Look at Data Security and Encryption: Another moderate post that talks about the importance of and methods for protecting user data.
What I’ve Learned
Networking (The Code Kind)
From knowing absolutely nothing to writing a fully function lobby for both client and server sides, I’d say I’ve come a decent distance in this area. Whilst it’s not gameplay (yet), it’s still taken a fair amount of work and learning. What’s more, I’ve found it oddly endearing, and will definitely be working on it further.
Having the opportunity to further apply my previous shader work, I am know much more confident in their structures and applications. I’ve successfully created a more advanced surface shader with multiple stages/effects, making use of more externally input variables than I’ve ever managed before.
Nintendo Entertainment System Architecture
Whilst I certainly can’t say I know much, my research certainly revealed a lot more than I previously knew about the simple yet restrictive structure of the NES’s hardware.
Network Coding Practices
Whilst I’ve done a poor job of implementing them thus far, I’ve learned a great deal about network coding practices. Finding the right size variable, optimising tick rates for various types of packets, and using unsigned integers where possible, are just of few the things I now know how to do, and why.
Improving Network Coding Practices
The first pass of the Nothing of Interest network code is a bit of a mess. Functional, but a bit of mess. Going forward I plan to make a concerted effort to clean this code up, and make a more refined system for simultaneously running a server and client in Unity.
Further Shader Coding, Particularly Screen Shaders
Whilst I’ve improved with my shader coding this trimester, I’ve still not really touched on surface shaders. I’ve made some attempts, but with little headway. In future, I plan to not only attempt to create more advanced surface and vert/frag shaders, but actually make some screen shaders that do what I want them to.
Less Simultaneous Projects
This trimester, I’ve overburdened myself with commitments, and it hasn’t turned out the best. In future, I’ll try to keep my larger projects limited to two at a time, where possible.
At this point, as the trimester ends, I feel that I’ve done a lot of decent things, but haven’t been able to invest in any single one to make it particularly stand out. Nothing of Interest could have been something really interesting I think, had is not been quite so stifled by scheduling and production issues. Whilst there were plenty of other issues that arose in general, that didn’t stop me from making I’m still happy with.