Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

FPS Constructor - Makes creating an FPS easy!

Discussion in 'Assets and Asset Store' started by Jason_DB, Dec 30, 2011.

  1. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495



    An Important Message!


    Hi Everyone,

    I started this package many years ago as a high school student, and since then it has been essentially only me maintaining and supporting it. Continuous improvement and comprehensive personal support have always been priorities for me when it comes to this package, as any of the people whose projects I personally debugged can attest to. Unfortunately, as I near the end of my college career and the start of a new part of my life it simply isn't possible for me to provide the level of support and improvement that I think are necessary for a package like this.

    It's because of this that I am making the package free - if I can't provide a satisfactory level of service anymore I don't think that people should be expected to pay me anything. I hope that existing customers are happy with the value that has been provided for so long, and that anyone who purchased it recently and is unhappy with the change will be able to obtain a refund (if you have any trouble with this, please contact me directly at info@dastardlybanana.com).

    I am also considering making this open source so that it can continue to evolve and be a useful tool for Unity developers, maybe even setting it up on GitHub. I would likely need some help administrating that, though, and I want to be sure that people have interest before going through the process.

    Finally, I just want to thank everyone who has been a part of this community for so long - whether you downloaded the old free version so many years ago, bought the package on the asset store, or even just contributed to the discussion. You made all of this possible, and as sad as I am for this to be coming to a close I am still very glad to have had the chance to interact with all of you. I hope that people will keep using this package to make great FPS games even once I am gone.

    Thank You,

    Jason Whitehouse

    Dastardly Banana Productions

    P.S. While I won't be explicitly supporting the package anymore, if you email a question it to me at info@dastardlybanana.com I'll still try to help.

    Description

    The FPS Constructor is an easy to use system for making First Person Shooters on any platform. Create any weapon you could imagine, from an automatic rifle to an orbital laser, and have them working in minutes! Simple to use, but flexible enough to make the game YOU want to make. You can easily make a modern FPS game, with features like secondary weapons/attachments, bullet penetration, and aim-down-sights, but you could also make something completely different.

    Features:
    • All the features of a modern shooter
    • Works on iOS/Android!
    • Easy art integration
    • Limitless weapon possibilities
    • 10 example weapons
    • Environmental effects

    I'll be putting up more previews and videos in the near future, but for now you can check out the demo scene and documentation to get a sense of how the package works.

    Get It Now!
    Asset Store Link

    Documentation
    Documentation PDF

    Demo
    Web Player

    Support
    Forum
    Email: info@dastardlybanana.com



    Here's a video of the upgrades in action:



    Version Notes

    Version 1.3

    This one has a lot of cool updates, a lot of which are from user feedback in this thread (it's definitely the biggest update yet)! As always, I'm working on expanding what the user can do to customize the system in addition to improving the standard uses.

    Improvements to Upgrade System
    • Weapon drops can hold upgrades ammo
    • Global Upgrades (Perks), by weapon class
    • More Components
    • Scene objects for upgrades(Pickups)
    • GraphicsObject upgrade component more reliable
    • Upgrade component to play animations when activated/deactivated
    • Upgrades work on mobile
    Weapons Upgrade Store Interface
    • Sample (but replaceable) interface for buying equipping weapons and upgrade
    • Weapon slots can now be organized by weapon class
    • Picked up weapons now pick which slot to occupy intelligently
    More Easy Scripting Behaviors
    • Function call for Screen damage
    • Function call to drop current weapon
    • Function call for playing any animation
    • Function call for camera shake
    • Simple variable for camera jostle
    • Easy highlighting effect integration into interact system
    • Simple variable change to modify field of view
    • Example fire selector (switches between auto, semi-auto, burst)
    • Ability to change Player/IgnorePlayer layers
    General Improvements
    • Improved camera recoil
    • Improved weapon and camera motion
    • Object Avoidance
    • improved audio playback for automatic weapons
    • All weapons deactivate on start (no more errors from leaving weapons activated)
    • Better directional damage effects
    • Ability to have crosshairs appear for certain weapons while aiming
    • Ability to sprint without a weapon equipped
    • Ability to cancel reloads (by switching weapon)
    • New editor interfaces
    • Better accuracy for fire ray casts and other camera-related effects
    • Fall Damage with support for specific sounds (no sounds included)
    • Ladders
    • Tap support for pickups in mobile versions
    Bug Fixes
    • Fixed several issues with accuracy application
    • Idle animations can play consecutively
    • Player can no longer switch weapons while putting away a weapon
    • Lean no longer applies/unapplies upgrades (removed test controls)
    • Tactical reloads can no longer lead to negative ammo
    • Lean script no longer collides with player
    • Aim rate less than 0 no longer causes errors
    • Weapon selection bugs fixed
     
    Last edited: Oct 13, 2013
  2. Thomas-Pasieka

    Thomas-Pasieka

    Joined:
    Sep 19, 2005
    Posts:
    2,174
    Great to see this available now! Good work guys!
     
  3. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
    Awesome! Downloading docs as I write this.

    Great to see you made it.

    koyima
     
  4. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
    Featured on indienexus.com (site has just started, so no biggie). Anyway cheers!
     
  5. the_gnoblin

    the_gnoblin

    Joined:
    Jan 10, 2009
    Posts:
    722
    nice!

    Is the code c# or js?
     
  6. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @Thomas Pasieka @Koyima Thanks!

    @gnoblin it's js.
     
  7. Unicron

    Unicron

    Joined:
    Sep 28, 2011
    Posts:
    191
    Very awesome!

    Is it possible to adjust the crosshair so that it widens and lessens the accuracy when moving?

    Also are you using the default Unity toon shader or something else?
     
    Last edited: Dec 30, 2011
  8. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @Unicron yes, you can set it to widen the crosshair and increase the rate at which accuracy decreases when firing.

    The shaders in the video are just the Unity default. Just to clarify that isn't included in the download - the web player shows what's in the package itself.
     
  9. Unicron

    Unicron

    Joined:
    Sep 28, 2011
    Posts:
    191
    Great! thanks for the quick reply Jason. Will pick this up as soon as we start on our FPS prototype.
     
  10. TehWut

    TehWut

    Joined:
    Jun 18, 2011
    Posts:
    1,577
    Oh my god. So excited, yesyesyesyes
     
  11. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    If I've downloaded the old, free Beta version, how much work will it take to convert to the new package? Does it overwrite all other scripts, or will I need to delete the whole other package?
     
  12. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @SevenBits You'll have to delete the old package or start a new project. We had to fix some organization issues with the free version before the 1.0, so it won't overwrite anything made with the older version.
     
  13. Toad

    Toad

    Joined:
    Aug 14, 2010
    Posts:
    298
    Is this compatible with the Unity 3.5 beta?
     
  14. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @MattSimpson Yes. You might get a minor error saying that audio sources are disabled - just enable them and it should work perfectly.
     
    Last edited: Dec 31, 2011
  15. Elzean

    Elzean

    Joined:
    Nov 25, 2011
    Posts:
    584
    Seems nice !

    Would it be difficult to make the package work with a third person controller so i could let the player switch between first and third person ?
     
  16. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @Elzean I haven't gone into depth with it, but I could see it being possible. The first person camera is used for a lot of the weapon stuff, but if you turned off its rendering you could add a third person camera, and then tie an animation system and model to the movement controller.

    I can't say for sure, but I don't think it would be too hard. If you decide to try it we could help you out (and if it turns out well maybe add support for it into the package).
     
  17. Thomas-Pasieka

    Thomas-Pasieka

    Joined:
    Sep 19, 2005
    Posts:
    2,174
    Hey Jason,

    Do you have a sort of roadmap on future releases? Would be interested.
     
  18. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @Thomas Nothing's set in stone right now but here are my current big ideas for expanding it.
    • Integrated multiplayer support
    • iOS controls
    • Integrated upgrade system
    • We're obviously open to anyone's ideas for other improvements.
    The next release will probably be optimization and bug fixes, though.
     
  19. infolite

    infolite

    Joined:
    Dec 31, 2011
    Posts:
    2
    If I buy this will I get future releases free or will I have to pay for them too? If I pay 75$ I want life-time upgrades. ;)

    And is the environment included in the full version as your trailer or is it boring as the demo?
     
    Last edited: Dec 31, 2011
  20. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @Infolite You can re-download the package at any time (this includes updating to newer versions), since it is sold through the asset store.

    Also, the environment is 'boring' as the demo. If you want to recreate something like the screenshots, though, you just need to pull assets from Bootcamp. I'm not an artist and it isn't an art pack, so I kept it simple in the release.
     
  21. Drunken-Monkey

    Drunken-Monkey

    Joined:
    Dec 15, 2011
    Posts:
    95
    Any chance of getting a C# version?
     
  22. sam.ibbitson

    sam.ibbitson

    Joined:
    Jun 4, 2011
    Posts:
    33
  23. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
    No it's not the same. I have that and it's basically the store functionality.
     
  24. sam.ibbitson

    sam.ibbitson

    Joined:
    Jun 4, 2011
    Posts:
    33
    That's a real shame- I had only bought this FPS Constructor on ActiveDen the other day and this looks better/more like what I'm after!
     
  25. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
    well it clearly states what the asset includes.
     
  26. sam.ibbitson

    sam.ibbitson

    Joined:
    Jun 4, 2011
    Posts:
    33
    I'm not quite sure what you're getting at? I didn't choose the FPS starter kit over this new product- simply that this new product wasn't released when I bought the original on ActiveDen. The features I'm referring to when I say "better" are the charged shot and interesting effects like the big laser air strike effect!
     
  27. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @Drunken Monkey There aren't any plans now. We set up the package so that you shouldn't have to modify the included scripts much - just about anything you would want to change can and should be done in separate scripts.

    @sam.ibbitson That package has some serious branding issues. We made it as a weapon upgrade system (that's what you're actually paying for), and then included the free FPS constructor that we already had as an example platform for them. We eventually want to pull it down off the store, but first we'll update it to be 1.0 compatible so that anyone who bought it can use it with the 1.0 system (and give a week or two of warning before we actually pull it down).
     
  28. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
    what i'm saying is that it's not Jason's fault.

    You bought the "FPS Starter Pack - Upgrades Store " kit which included parts of the FREE "FPS Weapons Package".

    This is version 1.0 of the previously FREE "FPS Weapons Package", now dubbed "FPSConstructor". In any case Jason said that version 1.0 of this is coming soon and that it wouldn't be included in the Upgrades and Store kit (it took a while), he even had video of this functionality on youtube for months.

    For instance the preview video in the OP, showing the functionality of the current package was uploaded to youtube on the 15th of July 2011. So 6 months ago he had showed what would be in this package and that it won't be included in the active den package.

    A shame yes, but I think he gave ample warning, don't you agree?
     
  29. Drunken-Monkey

    Drunken-Monkey

    Joined:
    Dec 15, 2011
    Posts:
    95
    Very nice library, but one small suggestion. You use the javascript Array class which isn't the same as the mono C#. So your ApplyDamage calls are incompatible with any custom ApplyDamage ones done in C#.

    It blew up on me trying to use object[] until I changed your code up a bit.

    Changed the following line in the GunScript.js from

    var sendArray : Array = new Array(finalDamage, true);

    To

    var sendArray : Object[];
    sendArray = new Object[2];
    sendArray[0] = finalDamage;
    sendArray[1] = true;

    Now my C# reciever is compatible and life is good again.
     
  30. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @Drunken Monkey Thanks! I'll fix that for the next update.
     
  31. sam.ibbitson

    sam.ibbitson

    Joined:
    Jun 4, 2011
    Posts:
    33
    @Jason: No problems at all- I understand that they are separate packages containing different functions and I'm looking forward to buying the new asset and integrating them together.

    @koyima: I understand what you're saying- but I'm not blaming anyone! When I said it was a 'shame' that I had bought the Starter Kit that was unfair of me. It was just an off hand comment and I don't begrudge Jason for releasing the FPS constructor a few weeks after I bought the initial package :p.
     
  32. infolite

    infolite

    Joined:
    Dec 31, 2011
    Posts:
    2
    Your FPS Constructor looks really good and if I could I would buy it. I'm only 16 and my parents want me to spend money on more important things. :/
     
  33. ArenMook

    ArenMook

    Joined:
    Oct 20, 2010
    Posts:
    1,902
    Like hookers and booze, amirite? :D
     
  34. Drunken-Monkey

    Drunken-Monkey

    Joined:
    Dec 15, 2011
    Posts:
    95
    Tried to deploy to Android without success. Seems to be mostly scripting errors with the Array object and strongly typing over all.
     
    Last edited: Jan 5, 2012
  35. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @Drunken Monkey The package is not currently mobile compatible but we are working on that for our next update.
     
  36. Drunken-Monkey

    Drunken-Monkey

    Joined:
    Dec 15, 2011
    Posts:
    95
    No biggie. I will take the weekend to clear up the scripting errors ( if I can ) and convert it over to C#. Excellent package for a kickstart...
     
  37. Duskling

    Duskling

    Joined:
    Mar 15, 2011
    Posts:
    1,196
    I have a problem,

    I have purchased the pack, but when I import the player prefab into my scene, all of the scripts on it are mono behaviors. i have used the documentation to try and figure out what scripts go on it, but I am getting errors like:

    NullReferenceException: Object reference not set to an instance of an object
    PlayerWeapons.SetSensitivity () (at Assets/FPS Constructor V1/ScriptsDB/WeaponScripts/PlayerWeapons.js:43)
    PlayerWeapons.Awake () (at Assets/FPS Constructor V1/ScriptsDB/WeaponScripts/PlayerWeapons.js:37)

    Really not sure what's going on.
     
    Last edited: Jan 7, 2012
  38. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @MrDuskling That's very strange.

    -Does this happen with both the player and the demo player prefabs, or only one?
    -Also, does the player work in the demo scene?

    If either the demo prefab or the player from the demo scene works, try using that as a starting point for your player. I'll see if I can reproduce the problem in the package.
     
  39. Duskling

    Duskling

    Joined:
    Mar 15, 2011
    Posts:
    1,196

    Everything else in the demo scene seems to have every script.

    The player in the demo scene does not, and neither does the player in the prefab in PrefabsDB/Setup.

    I have created a new project and reimported the package and it works fine, but I don't know why it wont work when I import it to my other project.

    Thanks,
    Dusk
     
  40. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    @ MrDuskling I guess that something's wrong/corrupted with your project? My suggestion is to try exporting out the assets from the broken projects into the new one.

    Also try checking the names of the scripts in the original project. Unity has a bad habit of renaming scripts to all lowercase, which is the only time i've seen an error like yours with the package.
     
  41. Jason_DB

    Jason_DB

    Joined:
    Nov 30, 2008
    Posts:
    495
    Also, we've found a bug with the Manager prefab included in the package, and are working on a fix now. In the meantime, if you get errors when using it please email info@dastardlybanana.com and we'll help you fix it.
     
  42. Drunken-Monkey

    Drunken-Monkey

    Joined:
    Dec 15, 2011
    Posts:
    95
    Took a couple hours but I got the library working on the android.
     
  43. Drunken-Monkey

    Drunken-Monkey

    Joined:
    Dec 15, 2011
    Posts:
    95
    And scan your code for the var KeepLooking... I think you meant KeepLooping....
     
  44. brown2na

    brown2na

    Joined:
    Aug 23, 2011
    Posts:
    39
    Just picked this up and imported it, and chicken shader's bundle into a new project to play around but in the demo scene I'm getting an error that

    on line 181 in EffectsManager.js TimedObjectDestructionDB is an unknown identifier error BCE0005
     
  45. davew175

    davew175

    Joined:
    Aug 10, 2008
    Posts:
    56
    @brown2na - When you imported the package did you also import the scripts in Standard Assets? TimedObjectDestructionDB is actually in StandardAssets/Scripts folder. The other thing to check is whether the that file got lowercased (we've had some problems with that).

    If you still have problems send an email to info@dastardlybanana.com and we'll work it out.
     
  46. brown2na

    brown2na

    Joined:
    Aug 23, 2011
    Posts:
    39
    Hmm doesn't look like I have the script in the Assets folder, I've re-imported as well and it is still missing looks like that's the issue. Going to see if I can find it would have to reinstall for the one missing script lol Thanks for the reply David
     
  47. davew175

    davew175

    Joined:
    Aug 10, 2008
    Posts:
    56
    When you import the package make sure you also import the Standard Assets. We had to include a couple of scripts in there because of the way Unity handles the order of compilation of scripts.



    Unfortunately it doesn't looks like store publishers can download their package directly from the store to validate the upload so it looks like we'll need to buy the FPS Constructor to double check the process :)
     
  48. brown2na

    brown2na

    Joined:
    Aug 23, 2011
    Posts:
    39
    Ya I don't have that script, it wasn't in my standard ones for some reason, I figured I might as well uninstall re-install to be on the safe side, unity 3.5 was a mistake on my part I noticed there was several compiler errors from not only this (to be expected) but many of the defaults where jacked up so I decided to roll back to 3.4 so I'm still installing unity to be on the safe side.

    Edit,

    After the fresh install even more errors are coming up I'll email them to you guys so you can see what a fresh install - will generate with the scripts unity has.
     
    Last edited: Jan 8, 2012
  49. davew175

    davew175

    Joined:
    Aug 10, 2008
    Posts:
    56
    @brown2a, We'll watch for your email. We've done some testing in 3.5 and it should work but it's obviously a beta.
     
  50. davew175

    davew175

    Joined:
    Aug 10, 2008
    Posts:
    56
    Hello All,

    We've setup a support forum for the FPS Constructor package at http:/www.dastardlybanana.com/forums

    Please use this site to get support, request features or to showcase your work.

    Dave