The FPS Prototype is a demo I finished around mid-April 2017 after working on it sparsely and on for a few months and ramping it up at the end. It’s original intention was to provide a baseline set of FPS from scratch to provide a foundation for future work. The reason I made it was to share with the K-state Game Development Club for our inaugural “Demo Day”. Download Link.
The project was made in Unity, where I started from scratch and really dug into the depths of the API and default FPS asset for the first time. I probably began work in February, where I set out planning a few features and slowly implemented them here and there for a few hours a week as the semester went along. Around the second week of March, after attending GDC and developing the idea of a Demo Day with the rest of the club, I seriously sat down and planned out a demo so that I would have something to show on the event.
The initial list of features included a Rifle and Sidearm, both of which had models and an animation for equipping, shooting, and reloading, a Health Vial, as well as the clamber, slide, and charged jump actions – not to mention an entire human enemy with walk, run, and attack animations. While there wouldn’t be any narrative at all in the demo, the project itself was set to begin production on an FPS project I had in mind at the time, so the art assets and color palette that did end up in the demo are a vague hastily-constructed impression of the style that I was able to produce with my limited skills and time.
While the above list may seem reasonable enough for a 1.5 month jam, I was basically starting from scratch with very little experience in Unity (previously only with Khnum’s Emnity a month prior) and ended up working on it alone after my 3D art friend was too busy to help. That meant (initially) that art assets and animations were out and I had to cobble some sort of gameplay loop together with what skills I had at my disposal then and there.
The general order of refinement, from what I can remember, was quickly deciding a target practice kind of demo would have to do, replacing any notion of a narrative or combat experience. I made a target dummy with two animations for getting hit and snapping back up then got to work on everything else. Ballistics were initially physically-based projectiles, but it didn’t end up feeling as good as hitscan, so I just went with that.
Much of the time until April was spent on implementing the guns, bullet spread, and clamber, where afterwards I implemented bullet-hole decals (on diagonal slopes too!), sliding, aim-down-sights, and the pause menu. The semester I had wasn’t very busy, and during the last 3 weeks I was probably working around 30 hours a week on it.
Once I had all the mechanics I could reasonably stuff inside of the demo, the last 4 or 5 days was spent on building the level. For this I had to do the basic stuff like draw it, code out the targets-door logic, and place all the geometry (before testing a bit and trying again), but spent a fair amount of time picking up blender to make a few quick art objects, such as the Half-life 2 style gate, the stairs leading into the church, and the twisted statue inside of it. Another unexpected obstacle that I should have anticipated was actually implementing the scoring system and timer. None of these were particularly difficult, but it’s surprising the amount of things you just forget to plan for when you make a set of goals and don’t spend enough time fleshing them out.
In the end it was a fun exercise in time management with a good motivation. Everything went more or less according to plan, and in the end, I was rewarded with a good time and some good conversations as a room full of probably 40 came to play it and went along their way at the event.
As is probably the regular way of things, a lot of the feedback was stuff I never considered, like most people were unable to hit Shift and Control at the same time, so I’d have to change the controls or make an easy rebind menu. Another one was that because of the lack of animations and the lack of speakers at the demo computers, the players couldn’t hear the reload times of their weapons, which made for awkward flailing around when trying to execute something fast.
Solid learning experience, solid demo. I’m excited for Demo Day 2018.