Menu

Overview

overview (1)
osfpsproject

The open-source first person shooter project aims to make a battlefield-type game (with first person view, and/or third person view). The game is intented to have a serious undertone, and making some mods of our own, for example a post-apocalyptic mod taking place in real-life locations that will be hit severely by climate change in the foreseeable future (i.e. Miami, ...). The idea is hence to make something that is something of a simulation.

This page discusses how it will achieve this, and the various stages it needs to go through:

Stages of the OSFPS project

Stage 1: asking permission for use of content to various modders, and asking them whether they're interested in providing additional help later-on (coding, contacting mod makers, ...) and attaining additional funding for the project (which is done using Patreon )

Stage 2: recruiting members (coders, ...) for the project, selecting which engine to use (which will depend on the coders that want to help out and their experience -they will have coding experience with a particular game engine-)

Stage 3: finish the Military Forces 2 game by:
- adding the modernfront (infantry) weapons (+ weaponsounds) to MF. For the weaponsounds: only added if open-source; if no such open-source sounds are available, use new weapon sounds from a site online, supplying open-source sounds); note that the WW1/WW2 weapon damage scripts from bg_weapondata.c can be used, see https://github.com/modporter/MilitaryForces/blob/master/Military%20Forces/source/code/game/bg_weapondata.c
- make several infantry classes and give each class in MF/MF2 a unique weapon + make the ET special weapons (pliers, ...) available for the Navy Seals mod as well (by using a self-made, extra .pk3, made by the user himself). Note that if no unique weapons such as pliers can be made for MF/MF2, at least the repair/construct/... ability can be done directly via the use button (without any pliers, ... showing)
Here's a quick reminder of the modernfront weapons list I'd include per class in MF/MF2:

Coalition:
soldier: 5,56 mm assault rifle (m4)
medic: 7,62 mm rifle (m14), health crate
engineer: 5,7 mm submachine gun (mp5 in .22 cal), vehicle repair crate
field ops: m72law, ammo crate
special ops: 7,62 mm rifle (m40a5), anti-vehicle and anti personnel mine

Rebels
soldier: 5,45 mm assault rifle (ak74)
medic: 7,62 mm rifle (m14), health crate
engineer: 5,7 mm submachine gun (mp5 in .22 cal), vehicle repair crate
field ops: RPG-7V2, ammo crate
special ops: 7,62 mm rifle (dragunov), anti-vehicle and anti personnel mine

  • to finish the weapons, fix bg_misc.c, and g_weapon.c
  • adding the Reaction Quake 3 player models into the MF2 folder (all ready partially done; see http://www.thewolfteam.org/forum/index.php/topic,389.msg3482.html)
    - adding the 5 infantry classes to MF and MF2 (bg_vehicledata.c)
  • finishing the chittagong map and integrate it to MF/MF2
  • compile MF2 using VisualStudio 2015 (or CodeBlocks)
  • adding the keybinds made for Navy Seals ETL alpha 8 (http://www.moddb.com/mods/navy-seals-covert-operations-et/downloads )
  • (optional): adding the Reaction Quake 3 M4 assault rifle to replace the ak74 (Coalition-side); perhaps weapon sounds can be added aswell from Reaction Q3, or it can be got from the firearm sfx library (http://www.stillnorthmedia.com/); the weapon mode feature and bandaging from reaction could perhaps also be added. Also, the RPG and the flamethrower from wolfzone (made respectively by Z3RO -http://gamebanana.com/models/945 - and the AMK Team - http://www.amk-team.ru/forum/topic/480-amk-mod-general-info/ -) could be added.
  • (optional) Add a prone position.
  • (optional) add the single to burst fire switch mode from Reaction Quake 3 + bind it as a keybind (replacing one of the Navy Seals keybinds that became useless); also add the bandaging option from Reaction Quake 3 + bind it as a keybind (replacing one of the Navy Seals keybinds that became useless)
  • (optional) make the crosshair of friendly players show the class below the name. When looking at foes, this class
    text shouldn't be shown however

Stage 4: improve the Military Forces ET game by blending the various parts (Military Forces media/code + ET media/code) better together, improving gameplay. Some things that are currently missing to make it even a bit more realistic:

  • at the main menu, delete the encyclopedia button, delete the setup-->game options button and delete the single player, campaign and training button in the Play MilitaryForces submenu; also remove the encyclopedia keybind text at the Controls menu. Also remove the game set button.
  • make sure MF/MF2 is able to read .arena files and show them as the mission text upon startup of the map; also make sure that the briefing and maptype entries in the .arena file are properly read/displayed by the engine
  • remove the old weapon hud (for WW1/WW2); do so by removing the code to it, as well as by deleting the images from the images pk3
  • the game type will be set via console commands by the game host himself. The command g_gametype 1 will activate team deathmatch, g_gametype 2 will activate capture the flag, and for MF2 only, g_gametype 3 will activate objective mode. It should also be possible to change the gametype via the voting system
  • besides adding a objective mode to the standalone MF2 game engine, also upgrade the standalone game engine to include Enemy Territory: Legacy features. This includes making the engine run IBSP 47 maps. This also means that the maps all ready made for MF2 will need to be altered to IBSP 47-format, either using netradiant or by doing it manually with a hex editor (see Mod making tools).
  • make the MF2 game engine able to read 2x2 tga's, as well as 8x8 and 2x128 tga's (note that some additional changes to netradiant -not MF2!- would also be of use, see https://gitlab.com/xonotic/netradiant/issues )
  • make the MF2 game engine able to read .mtl's (which accompany obj's and serve to provide coloring to the obj models)
  • make a script for allowing to spawn at forward spawn points for the infantry, upon accomplishing certain objectives. The objectives are to be put in the map via the team_wolf_objective entity; the different (forward) spawn points are differentiated (from the main infantry spawnpoint: team_CTF_red/bluespawn) and activated after certain objectives are attained, by means of different target names (like forward_spawn_1, forward_spawn_2, forward_spawn_3, ...)
  • Remove all game sets entirely. The removal of the original game set code is necessary as the old WW1, WW2, Modern settings are dropped (all games are now set in the modern age).
  • in the In-game menu, at the Player submenu, make a drop-down menu allowing to select the soldier, medic, engineer, covert ops, field ops class. Then, make an extra submenu "Loadout" where the selectable infantry weapons for that class are displayed and make it possible to select a particular weapon. Also make sure that the in these matches, that the in-game Team select works (one needs to be able to select between Coalition and Rebels)
  • change the old "NATO" team to the "Coalition" team, and make sure everywhere where "NATO" is mentioned that it's replaced by "Coalition"
  • remove all code relating to the old "ground installations" (a feature which has been dropped long ago)
  • as all ready mentioned at [OSFPS_TPS game specifics], no longer use the in-game menu to spawn directly as a vehicle, but have players spawn at a spawnpoint instead, and give them the ability to embark/disambark vehicles (either as a driver or as passenger). In addition to this, it might be useful to also give either side (Coalition/Rebels) a certain amount of credits, which can then be spend on spawning new vehicles near the spawnpoints. Depending on which vehicle to spawn, a certain amount of credits will be deducted. This way, less powerful (but cheaper) vehicles will be used more, and it will also ensure that players don't always use a vehicle at all, but simply remain an infantryman. This will improve the game experience for everyone in the game.
  • to allow spawning vehicles at further away locations, and each vehicle in their own location (airplanes on a runway, ships on water, ..., seperate "vehicle spawn" spawnpoints (called team_CTF_redspawn_groundvehicle, team_CTF_redspawn_aerialvehicle, team_CTF_redspawn_aerialvehicle_helipad, team_CTF_redspawn_maritimevehicle and team_CTF_bluespawn_groundvehicle, team_CTF_bluespawn_aerialvehicle, team_CTF_bluespawn_aerialvehicle_helipad, team_CTF_bluespawn_maritimevehicle) needs to be created, in conjunction to the all ready present player spawnpoint entity. This is best also made available in the GTKRadiant level editor (could be added by means of a radiant game pack). Also, in this game pack, misc_mg42 can be removed, misc_fieldcannon can be added, and the weapon_xxx entities can also be removed
  • it may also be useful to integrate some of the WW2 vehicles but have them appear in the game as "remotely operated vehicles" which would be spawnable/playable straight from the vehicle menu (a subselection would be made (mannable vehicle - unmannable vehicle ) The unmannable vehicles include things like aerial attack (only) aircraft, ie bf109g/spitfire, ROV ground attack (only) aircraft, ie fw190a8/p51d, flying bomb ie camel/dr1. These vehicles will then cost a certain amount of credits to spawn, but would not result in the opposite team scoring an extra frag if the vehicle is destroyed. They will especially improve gameplay for all matches (as all are time-based), as when time's (or lives) are running out, and the team still has much credits, it can work up those credits efficiently, without risk. We can have the remaining credits of the team be shown in the top right corner of the screen (where the remaining fuel was previously shown)
  • remove the vehicle images in the vehicle selection menu, and delete the images from the pk3
  • have all vehicles spawn from ground level upon embarking them. At present, all aircraft starts from in the air. Also make sure that the vehicle speed upon embarking is 0, and the throttle is at 0 as well.
  • make sure any recoil when firing the vehicle weapons is removed
  • make sure the unit speeds are correct, and update if not. For example, If we consider that a map being about 1 km by 1 km, and that a regular speed of travel of a soldier is say 16km/h, that would mean that a player controlling a soldier would traverse the entire map in 4 minutes. With say the Sherman M4 vehicle (top speed: 45km/h off-road, or hence 0,75km/minute or 440 ETunits/second or 48 MFunits/second), the distance would be covered in less then 2 minutes. With MFQ3's F-14 airplane, the distance is covered in 2 seconds (top speed: mach 2,2 or 2695 km/h; 1 mach= 1225 km/h, or 44,91 km/minute or 26728 ETunits/second or 2672 MFunits/second). The supermarine spitfire would cover the distance in 10 seconds (top speed: 595 km/h or 9,91 km/minute or 5896 ETunits/second or 584 MFunits/second). The UH-1 will cover the distance in about 20 seconds (top speed: 127mph or 204 km/h; 3,4 km/minute or 2024 ETunits/second or 200 MFunits/second)
  • alter the standard walk and run speeds (they were not realistic in the original ET game); ie player walk, run, and swim speed is respectively 128, 256, and 128-160 ETunits (so 12,96 km/h, 25,81 km/h, 12,96 km/h - 16,11 km/h). They should be respectively 56, 160, 32-48 ETunits or thus 8, 24, 8-8 MFunits (equating to 5,64 km/h, 16,11 km/h, 3,22 km/h - 4,83 km/h).
  • alter the standard jump heights and fall height limit. Jump height should be set to 1,6m (= 56 ETunits, or 8 MFunits), maximum fall height before damage is done should be set to 15 meter (= 528 ETunits, or 48 MFunits), with instant death at 25 meters (= 880 ETunits or 88 MFunits).
  • make sure that infantry is much easier to kill than vehicles (so make sure infantry has much less hitpoints than vehicles)
  • make following models: healthcrate.md3, ammocrate.md3, , vehicleammocrate.md3, vehiclerepaircrate.md3 MON100mine.md3, and fix the WT_HEALTHCRATE, WT_AMMOCRATE, WT_VEHICLEAMMOCRATE, WT_VEHICLEREPAIRCRATE, WT_MINE code. Also change the code so healthcrates now no longer heal infantry and vehicles but only infantry, and ammo crates only resupply infantry (not vehicles), and vehiclerepaircrates only repair the health of vehicles, not infantry. Make sure vehicle repair crates also aren't used up by infantry if they walk over them, even if they don't increase the health of these.
  • write the HC_EXPLODE_ON_CRASH code for the flying bombs
  • update the boats and amphibious vehicles code (HC_AMPHIBIOUS) so that only these vehicles can move over brushes equipped with the func "func_boatable_liquid". Also, I added in a maxspd key so that the maximum speed can be limited when moving over these brushes. This would especially improve realism for the amphibious vehicles as in real life, movement speed of them over water is far lower then movement speed on land
  • make the HMMWV and the able to transport 9 soldiers and the BMP-3 able to transport 7 soldiers; additional programming will be required so that an embark and disembark ability for the players can be provided (each one bound to a new key in the keybinds; alternatively, both can be provided by a multipurpose "use" key)
  • make the UH-1 able to transport 7 soldiers and make the hind able to transport 8 soldiers
  • make the pbr31 and the skiff able to transport 4 soldiers
  • remove the weapons zoom from all infantry (except the covert ops class) as well as all WW1/WW2 airplanes/vehicles
  • make the UH-1 no longer able to drop health crates, ammo crates and fuel crates but instead give this ability to both the BRDM-2 and the FAV
  • remove helo as a selectable vehicle in the vehicle selection menu
  • add hind in the vehicle selection menu (by adding it in the source code vehicle list) and add a picture for it
  • categorise MLRS as artillery (not as anti-aircraft) in the vehicle selection menu
  • add wheels to the FAV and update the picture in the vehicle selection menu
  • remove many weapons on the different vehicles. Many vehicles for example have standardly a machinegun (whereas this is not correct in real life) and some also have too much different rockets, flares, ... Having them have less attack options will improve gameplay/game balance.
  • move off the unused md3 models in the pk3 to a seperate zip/pk3 (unused.zip); players can then delete this if they wish to speed up the game. It is still supplied in the download though for game development reasons.
  • fix some models/textures; ie the M1 Abrams tank doesn't appear to have an animation when firing the cannon, some of the helicopter crates don't display once on the ground, helicopters can't yet increase/decrease their altitude, eject doesn't work on most vehicles, ...
  • convert all vehicle textures from .jpeg to .tga, and improve their colors in the GIMP
  • remove excess/redundant animations on some of the groundvehicles (some, like the zsu-23-4 are overly large)
  • give a landing wheels model (gear) to the f-105 and the su-27. Also give a control surfaces model to the f-105.
  • reuse some of the models in the "unused" pk3 to improve some models. For instance, the a10 can be given the UH-1 gun model to replace the main autocannon model thereof
  • remove redundant sounds from the pk3 and updating the sounds code, possibly giving each weapon a different sound
  • add a skiff, and make a model for it
  • add an extra self-propelled artillery vehicle; ie M110 howitzer and make a model for it
  • delete the T90 tank and use the model for the M110 howitzer
  • add constructible field artillery (field cannon); constructible using engineer pliers
  • add non-drivable vehicles (NPC's) in the next version of the chittagong map (just a misc_model provided in the map/pk3, no entries needed in code itself). These can be made to move around on the streets in the map by means of a script_mover and the necessairy code per map to have them follow a path along the map (on the drawn out streets, which are different per map). These NPC's can be made as an objective (vehicle that needs to be destroyed) for the objective-mode for the chittagong map (along with other objectives)
  • besides making the code for car models to follow a path on the map, also make a script so that these cars can also be used to transport players (by jumping on them), ie between the infantry spawn point and the groundvehicle/maritime vehicle/aireal vehicle spawn points. This will speed up gameplay as walking these distances would take some time and slow gameplay down
  • make a constructible watchtower with machinegun
  • have different sets of maps allow for selecting of different infantry weapons at loadout/limbo menu, and also provide different player skins for each side (depending on map) and differently selectable vehicles at the vehicle selection screen. This way, some weapons will appear in both the Coalition and Rebel side depending on what map is played, player skins will be different per set of maps (located in other geographical regions) and only a portion of the Coalition/Rebel vehicles will be available (depending on what side you're playing), rather than all, resulting in allowing to play the level a certain way (ie fast gameplay, or slower gameplay). It also has the benefit that the WW2 tanks, ie m4sherman/panzerIII can be reintegrated (they can be a selectable vehicle on the rebel side, in certain maps). Note that reducing the number of available vehicles per map could be done in the code of the maps themselves.
  • add bots and make them easily addable via the in-game menu. Either the ioquake3 bots can be used, or omnibot or the bobots bot system.
  • also make a portablelinuxgames image of the game once it's finished

Related

Wiki: FAQ
Wiki: Home
Wiki: OSFPS_TPS game specifics

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.