SteamMod
Steam integration for FPS Creator Classic
DOWNLOAD
ZIP | RAR
What is SteamMod?
SteamMod is a mod that allows you to use the Steam API with your FPSC games. This includes stats, achievements, and more!
What version of FPSC is it based on?
SteamMod is based on the latest unofficial version of 1.20 (beta 19i).
It is recommended that you use
v1.20 beta 17a with this mod.
It turns out that there is a bug with beta 19i, which stops
savegames from working. Therefore, in the next release I will be
reverting the mod back to the latest official beta until this is
resolved, so please refrain from releasing games with this version.
Developing with this version is completely safe however.
How did you implement Steamworks?
I had to write a plugin for DarkBASIC Professional to use the Steam API. The current version of the plugin has been released for free
here
So what's the feature list so far?
SteamMod currently features the following:
FPSC IP support
If you own FPSC IP v4.0, you can use it with this mod with no problems.
Full Steam integration
Steam stats, achievements, DRM and pretty much any other Steam feature you would expect!
Uncapped scripts
Your FPI scripts are now able to go over the 350 line limit. Just remember, just because the limit is removed, it does not mean you can have 10+ 500 line scripts and expect no slowdowns.
How do I handle achievements and statistics?
Achievements and stats are handled through FPI commands.
Before your game is on Steam, you can use a test game called "Spacewar" (app id 480). To do this, you create a text file called "steam_appid.txt" in your game/FPS Creator's folder with "480" in it (without quotes).
Please note that steam_appid.txt is for development only and should not be included in the files for the Steam release of your game.
Spacewar includes five test achievements that you can unlock through FPI commands. The new FPI commands and conditions included with SteamMod are:
Conditions
__________
Achieved=AchievementName | Returns true if the achievement "AchievementName" has been unlocked.
NotAchieved=AchievementName | Returns true if the achievement "AchievementName" has NOT been unlocked.
StatIntEqual=StatName Value | Returns true if the stat "StatName" is equal to "Value"
StatIntLesser=StatName Value | Returns true if the stat "StatName" has a value less than "Value"
StatIntGreater=StatName Value | Returns true if the stat "StatName" has a value greater than "Value"
StatFloatEqual=StatName Value | Returns true if the stat "StatName" is equal to "Value"
StatFloatLesser=StatName Value | Returns true if the stat "StatName" has a value less than "Value"
StatFloatGreater=StatName Value | Returns true if the stat "StatName" has a value greater than "Value"
Actions
_______
UnlockAchievement=AchievementName | Unlocks achievement "AchievementName"
LockAchievement=AchievementName | Locks achievement "AchievementName"
SetStatInt=StatName Value | Sets the value of "StatName" to "Value"
SetStatFloat=StatName Value | Sets the value of "StatName" to "Value"
ResetAllStats=IncludingAchievements | Resets all stats, and achievements too if "IncludingAchievements" is set to "1"
Where can I get it?
If your game is free, then you can use SteamMod at no cost. You can download the latest version at the top of this post.
If you are going to sell your game, then you must purchase a license to use the mod. Prices and methods of payment are currently under consideration.
How much will a commercial license cost?
Prices and methods of payment are currently under consideration.
I'd estimate around ~5 Australian dollars per game.
Can I get my hands on the source code?
SteamMod is currently closed source and is most likely to remain that way.
I may consider including source access with a commercial license, but there are still many things to consider if this is to happen.
The mod crashes straight away!
Make sure you have
msvcp71.dll and msvcr71.dll in your game's folder AND FPSCreator's folder. If you still get any errors, try installing the
Visual C++ 2010 redistributable
Also note that the Steam API will use up a bit of your RAM, so try to optimize your levels as best as possible to prevent your levels from crashing. For the majority of levels, this shouldn't be an issue.