This is a fully-functional FPS/TPS engine with camera collision and pathing, four types of weapons, tracelines, etc. The one single thing you must do to make this work is create a camera with appropriate camera property values for an FPS, and then edit one single global variable (named 'camera') to have the camera object you just made as its default value. That is literally all there is to it, the rest is done for you. The library is filled with comments as well that explain what things are and what things do within the whole integrated system. This allows you to easily modify or add to my engine without getting confused or messing things up because rather than just looking at a bunch of triggers and blindly working with them you have things explained so that you know what to change or add in order to do what you want.
The beauty of it is that other than making a camera and changing that one variable's default value, it's literally plug and play. Copy the triggers from the library to your map, delete the library from your map after importation (otherwise the triggers in the library will run as well as the triggers in your map, making everything happen twice), create the camera, and edit that one variable, and you're done. Now you have a working FPS that can easily incorporate TPS elements because there's a TPS system built in as well. All you have to do is enable the TPS elements through a 'turn triggers on' action and you're good to go!
As of version 1.2, recently released, there's now an associated mod file. As of version 2.0, the most recent release, it is now required. In version 1.2 I explained that since the only custom data were the weapon effects, you didn't strictly have to use the mod file so long as you were wiling to make the damage effects for the weapons yourself. I also included a little instruction set as a comment explaining how to do that. Unfortunately, due to the additional uses of custom data in v2, the mod file is now required, no exceptions. I tried to get around this because I personally hate the idea of locking mappers into using something, but there's really no way to implement items (ammunition) without it, and now that there's enemy interaction (they shoot back) the data mod is also used for the player's invisible dummy unit. So, long story short, you need to make your map setting the 'FPS Engine Data Mod v2.0.sc2mod' file as first in the list of custom dependencies. Then import the 'FPS Engine v2.0' trigger library, make the camera, and set the one variable. Sorry guys, no real way around it from here on out. It does save you a ton of work implementing the weapons, items, and conbat system.
I'm recording a series of videos on the FPS Engine. There are two tutorials as of right now, and likely one on the way soon.
[TUTORIALS]
I feel I should note something about the videos. In the videos the map during playtesting appears to be very, very laggy. This is an artifact of the screencapture video program I use. I'm working on a Macbook Pro, and when I run the galaxy editor and the game for map testing its not laggy. But adding Camtasia, the video screencapture tool, seems to be more than my computer's 2 gig of ran can handle. The map won't be nearly as laggy as it appears in these videos when you play it yourself. The map I make in the demo videos is the same map listed as v2.0 Demo Map in the files tab of this asset page.
Tutorial 1 - Making a map using the mod file, making the First Person camera object, and implementing the trigger library. This covers making the map file itself. Watch this first.
Tutorial 2 Part 1 - This shows what to do once the map is made. Shows how to place units, demonstrates how they behave in the map, demonstrates the ammo system, shows how to place ammo-refill items.
Tutorial 2 Part 2 - This is just the finishing few minutes of the above listed Part 1.
Next is a video giving a brief summary of the trigger groups and showing how to make a new weapon.
--
BacklitAvenger