UPDATED - I resolved 2 out the original 4 changes myself. Previous developer wanted to charge me an extortionate amount of money for a couple of quick changes, so this project is back out to tender.
I have built an electronic game box for Airsoft/Paintball. They are referred to as MCOM boxes and can also be seen in video games such as Battlefield and Call of Duty. The MCOM I have built is powered by the Arduino UNO platform and I found some Arduino Sketches so that the box can run games such as Search & Destroy, Sabotage and Domination.
In its simplest form, the box consists of an 1602 LCD display, 4x4 keypad, buzzer and a couple of LEDs
The box and Arduino code works fine, but I would like to make some games and a later follow on project would be to add new games. Whilst I am handy with a soldering iron and circuit boards, Arduino IDE C++ programming is stretching my abilities. I have been able to change simple things such as text and then comment out where it display a countdown in hundreds on a second, but I need further changes, for which I need a Freelancer expert.
To change the existing working Arduino code with the following updates.
Search & Destroy and Sabotage Game changes -
Game overview: Game duration, arm time and detonation time are configured at the start of the game. Objective is for one team to arm and detonate the device and the other team must prevent this from happening or disarm the device. During the game, press a button for a define length of time or enter a password to arm/disarm the device. Once armed, a countdown will start. At the end of the countdown, the game is over.
These games are very similar to each other and the changes are applicable to both games.
Current function: The “D” key is used to both arm and disarm the device
Required function: Use “D” key to arm the device and “C” to disarm the device
Current function: Password to arm/disarm is 8 characters long
Required function: Password to arm/disarm is to be only 4 characters long - NO LONGER REQUIRED
Current function: During a game, the time to enter a password is 4 seconds
Required function: Time to enter a password during the game to be 10 seconds. Document where this is set so that it can be changed if required - NO LONGER REQUIRED
Current function: If detonation time is configured to 00 (zero) then countdown reads 71582788:15. Upon attempted disarm, it then jumps to zero and the game ends
Required function: If detonation time is set to 00 (zero) then bypass the detonation countdown and proceed directly to end of game and trigger relay if set.
Domination Game changes -
Game overview: Game duration and zone capture time are configured at the start of the game. Teams have to press their button (“C” or “D”) to capture the Zone. If the Zone is already captured, they have to press their button to neutralise it first and then press it again to capture the Zone. After the game duration has lapsed, the team who have dominated the MCOM device the longest wins.
Current function: If a Zone is already captured, the opposing team has to neutralise the zone before they are able to capture it themselves
Required function: Add a pre-game configuration menu item to set whether neutralising the zone before capturing is required with a simple Y/N. If taking a copy of the Domination game and making a new version without zone neutralisation is easier than added a pre-game config menu, then is would be acceptable.
All other functions of the code remain the same.
Follow on project for additional games:
On successful completion of the above changes, the chosen Freelancer would be invited to a follow-on project to develop two additional simple games (Engineer and Cut the Wire) for the MCOM box.
Attached is the zip containing the existing Arduino code. It requires the standard keypad library