- 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.
- 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.
- This is just the finishing few minutes of the above listed Part 1.
There's now two tutorials total. The second tutorial is split between two videos because it was a little longer than the 15 minutes total that youtube allows. At the end of tutorial 2, you will have witnessed the creation of the FPS Engine v2.0 Demo Map listed on the FPS Engine asset page. Right after I ended the video recording program I saved the map, and that map I then uploaded as the demo map. So basically it shows from start to finish what the steps are to make your own FPS map with my engine, from the creation of the map with the mod as primary custom dependency to the importation of the trigger library to the creation of terrain, ammo items, and enemies, to finally testing the map. Hope these tutorials help.
--
Anyway, hey there! So version 2.0 comes with a working item system, a working ammo system, zoom with the right mouse button, bugfixes for the 'constant' weapon oprators, and most importantly, it comes with enemies that shoot back. It even takes whether you're moving or stationary into account when determining if the enemies hit you with their weapons. The video linked to above shows how to use the data mod and trigger library to make a map. I'm in the process of exporting and uploading a second video showing how to add units and ammo items.
This is a fully functional FPS combining my WASD library, my FPS camera rig library, and my soon to be released weapons library which is in itself a more complex version of my soon to be released traceline library.
There's also an associated *.sc2mod file for use in making your maps.
The way to implement it is as follows:
1 - Open the new map window and hit the 'modify' button for dependencies.
2 - Click add other, select my FPS engine mod, and hit open. This will add the mod file to the dependency list at the bottom of said list.
3 - Use the up arrow button to move the selected FPS engine data mod v2.0 file to the top of the dependency list.
4 - Hit okay to close the 'document dependency' window. Specify the rest of your map's settings, such as base ground height, terrain set, size, etc.
5 - Hit okay to create the new map.
6 - Create a new camera object. Set its properties as follows: field of view = 27, distance = 1, pitch = 0, z offset = .65. Trust me on this one even if these sound like unusual property values.
7 - Open the trigger window. Go to the data pulldown at the top of the screen and select Library -> Import Library.
8 - Select the FPS Engine V2.0 trigger library, and hit okay.
9 - Open the library view if it isn't already open. Select all the triggers and folders and variables within the FPS Engine library folder. Maks sure you hav the entire contents of the library folder selected, and then Right Click -> Copy all the stuff.
10 - Now, select the map triggers window. Delete the 'Melee Initialization' trigger. You should now have an empty trigger list. Right Click -> Paste all the contents of the library folder you just copied into the map trigger window.
11 - Go back to the library viewing window. Collapse the FPS Engine library with the little triangle on the left side of the library's folder. Right Click -> Clear the library, deleting the folder. A 'objects in use' warning will pop up. Ignore it, and hit OK to confirm deletion.
12 - Finally, locate the global variable named 'Camera'. It will be near the top of the list of all the stuff you just imported. Currently it has no default value. This we will change.
13 - Almost done. Select the global variable 'Camera', and click the hyperlink-looking text that says 'No Camera Object'. This will open a dialog window. Go to the tab titled 'value'. The camera you just made will be listed. Select it and hit OK to set your newly created camera object to be the default initial value of the global variable 'Camera'.
14 - That's it! Create some interesting terrain, some cliffs at least one of which has a ramp, and two of each of the following for player 0 (neutral):
Marine
Marauder
Goliath
Science Vessel
Viking (ground mode)
15 - Hit test map. The commands are as follows:
WASD to move
Left mouse button to shoot
Right mouse button to zoom. Each of the weapons has its own level of zoom.
Period to move forward through your weapons
Comma to move back through your weapons
Mouse to look around
Q key to release the mouse from look-mode when you're done.
Try not to hit the middle mouse button, because this will zoom the camera out something awful, and you'll either have to restart the map to restore the proper FPS camera or hit the right mouse button to restore the camera. Now, to demonstrate what the FPS Engine library can do, try to walk through a unit, and try to walk through/up a cliff. You won't be able to because of my pathing. Now, try walking up the ramp, and try walking underneath one of the science vessels. These you can do, thanks again to my pathing.
Finally, blast away! Try each of the weapons in turn, because each is representative of one of the four types of weapon operators I provide. Instant does damage with a weapon that has a bullet that moves so fast you can't see the projectile and the hit on the terrain or unit is 'instantaneous'. Instant is represented by the rifle weapon. Projectile is for weapons where the projectile would move slowly enough that it can be seen moving along its trajectory path and is represented by the rocket launcher. AoE Constant is represented by the flamethrower. This will do damage to units in a cone of fire extending from the player's view point, and as long as you hold the space key, it will continue to fire. Finally AoE linear is used for automatic-fire weapons, and is here represented by the autocannon which unfortunately has a rather silly looking projectile right now. Again, as long as the spacebar or left mouse button is held, it will continue to spit lead. Since the weapons do damage via a damage effect, they use the SC2 damage system, fully capable of utilizing both its damage bonus for a certain unit armor property (armored, light, etc) and the special death animation specifications, so that the flame weapons cause the units hit to die with their fiery death animations, the rocket with their exploding death animation.
Anyway, the system is incomplete. There's still no enemy AI, and still no ammo/health/item system. The AI I will be doing in the coming next few days. The health/ammo/item system is already triggered in my original FPS map, but not yet trigger-library-ized.
Constructive criticism or whatnot is greatly encouraged, because anything you guys point out I can continue to refine and thus improve the engine. The idea is for the public to be able to use the engine either in part of in whole for their own projects as long as I'm credited and they don't try to claim it as their own trigger-work. I'm very proud of how far the engine's come so far, but there's a ways to go yet. All the same I'm a solid proponent of open source design, hence the emphasis on other people being able to use this as their own. I started this project when I went looking for an FPS engine to use in my campaign and found the few around at the time to be sorely lacking. This way, now that I've added one more option to the mapping wilderness, mappers can have a relatively simple to implement 'plug and play' FPS engine as a starting point from which to base their maps. The trigger library is absolutely filed chock full of comments explaining what everything does, how to add to the existing triggers/weapons/units, and so forth. This is so that people can easily pick up where I've left off to make the engine work the way they want for whatever their purpose is without having to poke around in the dark trying to figure out what does what in this complex trigger system. Furthermore, and probably foremost, it is so that people new to mapping and modding can still use the engine and most importantly understand the workings of the engine, giving them valuable insight on triggering.
Like I said, comments/critiques/suggestions are greatly desired and appreciated. Do let me know what you think if you don't mind taking a few moments to do so. The more input I get the more I can improve the system.
There's also a demo map you can download first to see the engine in action so you can make an informed decision whether or not to them download and use the engine library and mod itself.
I have a youtube video of how to implement the map within a day or two so that people can follow along while doing the steps listed above. Seeing it visually I expect will render it much easier to understand the implementation process.
- 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.
- 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.
- This is just the finishing few minutes of the above listed Part 1.
There's now two tutorials total. The second tutorial is split between two videos because it was a little longer than the 15 minutes total that youtube allows. At the end of tutorial 2, you will have witnessed the creation of the FPS Engine v2.0 Demo Map listed on the FPS Engine asset page. Right after I ended the video recording program I saved the map, and that map I then uploaded as the demo map. So basically it shows from start to finish what the steps are to make your own FPS map with my engine, from the creation of the map with the mod as primary custom dependency to the importation of the trigger library to the creation of terrain, ammo items, and enemies, to finally testing the map. Hope these tutorials help.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
[ASSET PAGE]
BacklitAvenger's FPS Engine Trigger Library v2.0
[TUTORIALS]
- 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.
- 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.
- This is just the finishing few minutes of the above listed Part 1.
There's now two tutorials total. The second tutorial is split between two videos because it was a little longer than the 15 minutes total that youtube allows. At the end of tutorial 2, you will have witnessed the creation of the FPS Engine v2.0 Demo Map listed on the FPS Engine asset page. Right after I ended the video recording program I saved the map, and that map I then uploaded as the demo map. So basically it shows from start to finish what the steps are to make your own FPS map with my engine, from the creation of the map with the mod as primary custom dependency to the importation of the trigger library to the creation of terrain, ammo items, and enemies, to finally testing the map. Hope these tutorials help.
--
Anyway, hey there! So version 2.0 comes with a working item system, a working ammo system, zoom with the right mouse button, bugfixes for the 'constant' weapon oprators, and most importantly, it comes with enemies that shoot back. It even takes whether you're moving or stationary into account when determining if the enemies hit you with their weapons. The video linked to above shows how to use the data mod and trigger library to make a map. I'm in the process of exporting and uploading a second video showing how to add units and ammo items.
This is a fully functional FPS combining my WASD library, my FPS camera rig library, and my soon to be released weapons library which is in itself a more complex version of my soon to be released traceline library.
There's also an associated *.sc2mod file for use in making your maps.
The way to implement it is as follows:
1 - Open the new map window and hit the 'modify' button for dependencies.
2 - Click add other, select my FPS engine mod, and hit open. This will add the mod file to the dependency list at the bottom of said list.
3 - Use the up arrow button to move the selected FPS engine data mod v2.0 file to the top of the dependency list.
4 - Hit okay to close the 'document dependency' window. Specify the rest of your map's settings, such as base ground height, terrain set, size, etc.
5 - Hit okay to create the new map.
6 - Create a new camera object. Set its properties as follows: field of view = 27, distance = 1, pitch = 0, z offset = .65. Trust me on this one even if these sound like unusual property values.
7 - Open the trigger window. Go to the data pulldown at the top of the screen and select Library -> Import Library.
8 - Select the FPS Engine V2.0 trigger library, and hit okay.
9 - Open the library view if it isn't already open. Select all the triggers and folders and variables within the FPS Engine library folder. Maks sure you hav the entire contents of the library folder selected, and then Right Click -> Copy all the stuff.
10 - Now, select the map triggers window. Delete the 'Melee Initialization' trigger. You should now have an empty trigger list. Right Click -> Paste all the contents of the library folder you just copied into the map trigger window.
11 - Go back to the library viewing window. Collapse the FPS Engine library with the little triangle on the left side of the library's folder. Right Click -> Clear the library, deleting the folder. A 'objects in use' warning will pop up. Ignore it, and hit OK to confirm deletion.
12 - Finally, locate the global variable named 'Camera'. It will be near the top of the list of all the stuff you just imported. Currently it has no default value. This we will change.
13 - Almost done. Select the global variable 'Camera', and click the hyperlink-looking text that says 'No Camera Object'. This will open a dialog window. Go to the tab titled 'value'. The camera you just made will be listed. Select it and hit OK to set your newly created camera object to be the default initial value of the global variable 'Camera'.
14 - That's it! Create some interesting terrain, some cliffs at least one of which has a ramp, and two of each of the following for player 0 (neutral): Marine Marauder Goliath Science Vessel Viking (ground mode)
WASD to move Left mouse button to shoot Right mouse button to zoom. Each of the weapons has its own level of zoom. Period to move forward through your weapons Comma to move back through your weapons Mouse to look around Q key to release the mouse from look-mode when you're done.
Try not to hit the middle mouse button, because this will zoom the camera out something awful, and you'll either have to restart the map to restore the proper FPS camera or hit the right mouse button to restore the camera. Now, to demonstrate what the FPS Engine library can do, try to walk through a unit, and try to walk through/up a cliff. You won't be able to because of my pathing. Now, try walking up the ramp, and try walking underneath one of the science vessels. These you can do, thanks again to my pathing.
Finally, blast away! Try each of the weapons in turn, because each is representative of one of the four types of weapon operators I provide. Instant does damage with a weapon that has a bullet that moves so fast you can't see the projectile and the hit on the terrain or unit is 'instantaneous'. Instant is represented by the rifle weapon. Projectile is for weapons where the projectile would move slowly enough that it can be seen moving along its trajectory path and is represented by the rocket launcher. AoE Constant is represented by the flamethrower. This will do damage to units in a cone of fire extending from the player's view point, and as long as you hold the space key, it will continue to fire. Finally AoE linear is used for automatic-fire weapons, and is here represented by the autocannon which unfortunately has a rather silly looking projectile right now. Again, as long as the spacebar or left mouse button is held, it will continue to spit lead. Since the weapons do damage via a damage effect, they use the SC2 damage system, fully capable of utilizing both its damage bonus for a certain unit armor property (armored, light, etc) and the special death animation specifications, so that the flame weapons cause the units hit to die with their fiery death animations, the rocket with their exploding death animation.
Anyway, the system is incomplete. There's still no enemy AI, and still no ammo/health/item system. The AI I will be doing in the coming next few days. The health/ammo/item system is already triggered in my original FPS map, but not yet trigger-library-ized.
Constructive criticism or whatnot is greatly encouraged, because anything you guys point out I can continue to refine and thus improve the engine. The idea is for the public to be able to use the engine either in part of in whole for their own projects as long as I'm credited and they don't try to claim it as their own trigger-work. I'm very proud of how far the engine's come so far, but there's a ways to go yet. All the same I'm a solid proponent of open source design, hence the emphasis on other people being able to use this as their own. I started this project when I went looking for an FPS engine to use in my campaign and found the few around at the time to be sorely lacking. This way, now that I've added one more option to the mapping wilderness, mappers can have a relatively simple to implement 'plug and play' FPS engine as a starting point from which to base their maps. The trigger library is absolutely filed chock full of comments explaining what everything does, how to add to the existing triggers/weapons/units, and so forth. This is so that people can easily pick up where I've left off to make the engine work the way they want for whatever their purpose is without having to poke around in the dark trying to figure out what does what in this complex trigger system. Furthermore, and probably foremost, it is so that people new to mapping and modding can still use the engine and most importantly understand the workings of the engine, giving them valuable insight on triggering.
Like I said, comments/critiques/suggestions are greatly desired and appreciated. Do let me know what you think if you don't mind taking a few moments to do so. The more input I get the more I can improve the system.
There's also a demo map you can download first to see the engine in action so you can make an informed decision whether or not to them download and use the engine library and mod itself.
I have a youtube video of how to implement the map within a day or two so that people can follow along while doing the steps listed above. Seeing it visually I expect will render it much easier to understand the implementation process.
Cheers BacklitAvenger
Okaydokay. So. Version 2 is out. Check it out, it's a huge improvement.
- 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.
- 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.
- This is just the finishing few minutes of the above listed Part 1.
There's now two tutorials total. The second tutorial is split between two videos because it was a little longer than the 15 minutes total that youtube allows. At the end of tutorial 2, you will have witnessed the creation of the FPS Engine v2.0 Demo Map listed on the FPS Engine asset page. Right after I ended the video recording program I saved the map, and that map I then uploaded as the demo map. So basically it shows from start to finish what the steps are to make your own FPS map with my engine, from the creation of the map with the mod as primary custom dependency to the importation of the trigger library to the creation of terrain, ammo items, and enemies, to finally testing the map. Hope these tutorials help.