Page 1 of 2

Operation Fox Playable Demo

PostPosted: Mon Jun 08, 2015 10:57 pm
by jonnection
The day has come when I finally release something ;-)

Image

Image



Download from my Github repo:
https://github.com/jonneva/OpFoxDemo/archive/master.zip

/-----------------------------------------------------------------------------/
Operation Fox Playable Demo - Copyright (C) 2015 Jonne Valola aka Jonnection
release 001
9.6.2015
/-----------------------------------------------------------------------------/


0. INSTALLING THE GAME ON GAMEBUINO
-----------------------------------

Copy OPFOXDE.HEX and EP1.DAT to your Gamebuino SD card. Use the Gamebuino loader
to load the game.

(Experienced users can use AVRDUDE to flash the HEX directly)


1. STORY
--------

Colombia 1982

Evil Drug Lord Sanchez has taken hostages to protect him against the C.I.A.
President Ronnie will not negociate with terrorists. The task of freeing the
hostages is handed to Major Willard Fox III, a hard-hitting Special Operative.

Major Fox has landed close to a village near Sanchez Camp. His task is to free
at least 20 of the hostages held in the village. Unfortunately the village
is hit by a torrential jungle rain at the middle of the mission.


2. CONTROLS
-----------

Left/ Right - Scroll left & right - SCROLLING DISTANCE IS LIMITED !
A Button - Fire machine gun
B Button - Grenades (NOT INCLUDED IN DEMO)
C Button - Pause

3. GAMESCREEN HUD
-----------------

Top left - Grenades (Not available in demo)
Top right - Number of saved hostages / goal to save
Bottom left - Ammunition clips
Bottom right - Health


4. CONTRAST & VOLUME CONTROLS - PAUSE MODE
------------------------------------------

While in "PAUSED" mode:

Left/ Right - Volume Level (0,1,2)
Up / Down - Contrast
C Button - Resume Game
A + B - Load Gamebuino Loader


5. EXIT GAME ( = LOAD GAMEBUINO LOADER, IF PRESENT)
---------------------------------------------------

either:
- press A + B when in PAUSED mode
- press and hold C, then press RESET, then release C after 1 second


6. GAMEPLAY TIPS
----------------

- shoot the thugs holding the hostages to free them
- hostages are not free immediately, they have to scroll to a safe distance
- game gets harder as it progresses
- this game is hard
- on purpose
- you get bonus health for shooting baddies
- remember to pick up all medikits and clips to get health and ammo
- instead of fighting every Jeep, try to scroll away if you can
- Jeeps and baddies that are close to the screen will hit you very hard. Be aware.


7. MUSIC AND LICENSES
---------------------

Game Code, Concept + Art
Copyright (C) 2015 Jonne Valola aka Jonnection
All rights reserved, NO WARRANTY
http://jonnev5.wix.com/rboygames

Music:

"Volatile Reaction"
Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0
http://creativecommons.org/licenses/by/3.0/

Uses PetitFATFS library

/*----------------------------------------------------------------------------/
/ Petit FatFs - FAT file system module R0.03 (C)ChaN, 2014
/-----------------------------------------------------------------------------/
/ Petit FatFs module is a generic FAT file system module for small embedded
/ systems. This is a free software that opened for education, research and
/ commercial developments under license policy of following trems.
/
/ Copyright (C) 2014, ChaN, all right reserved.
/
/ * The Petit FatFs module is a free software and there is NO WARRANTY.
/ * No restriction on use. You can use, modify and redistribute it for
/ personal, non-profit or commercial products UNDER YOUR RESPONSIBILITY.
/ * Redistributions of source code must retain the above copyright notice.
/
/-----------------------------------------------------------------------------/

Final comment about source code

Not at this moment. I work in a custom Code::Blocks environment that I have set up, you could not compile this game in the Arduino IDE in any case.

Re: Operation Fox Playable Demo

PostPosted: Thu Jun 11, 2015 8:39 am
by jonnection
@Rodot: could you try this out, since no one else is commenting ?

Perhaps others are afraid that their Gamebuino will be broken or something, but this is a clean version, you can even go back to the loader no problem at all (at least on my Fakebuino from / to loader works perfectly).

I thought it would be an interesting technical demo because it is something that only the Gamebuino can do. I can try to free up some bytes from somewhere to put "C back to loader" in start screen or somewhere.

Re: Operation Fox Playable Demo

PostPosted: Thu Jun 11, 2015 8:49 am
by clement
Hi jonne,

On my gamebuino the game is very slow when I shoot, and I have some random slowdown...

the game seems good but it is not playable yet.

Re: Operation Fox Playable Demo

PostPosted: Thu Jun 11, 2015 10:17 am
by jonnection
clement wrote:Hi jonne,

On my gamebuino the game is very slow when I shoot, and I have some random slowdown...

the game seems good but it is not playable yet.


Hi Clement

Thank you so much for trying the game, what you described is very very interesting, because I have had 0 problems with lag. Does the music slow down / break also ? I suspect the problem is the SD card - the game is seeking music & sound effects all the time.

I hope someone else will also test. If we have another slowdown issue, then I am sure there is something special about the SD cards that Rodot is using.

Re: Operation Fox Playable Demo

PostPosted: Thu Jun 11, 2015 11:13 am
by Sorunome
Which library are you using? I found SdFat to be way faster than tinyFAT

Re: Operation Fox Playable Demo

PostPosted: Thu Jun 11, 2015 11:18 am
by jonnection
Sorunome wrote:Which library are you using? I found SdFat to be way faster than tinyFAT


I use PetitFatFS. I am constantly out of program memory space, and SdFat is the biggest of the three libraries - I don't know if I could make it fit. TinyFAT otoh I have found is unreliable with my SD cards.

Functionally SdFat is the best of the three, I know that.

Re: Operation Fox Playable Demo

PostPosted: Thu Jun 11, 2015 11:37 am
by clement
When I press fire, I have 1-2 second of lag.

When I release Fire I have 1/2 second of lag.

Music and display are frozen

Re: Operation Fox Playable Demo

PostPosted: Thu Jun 11, 2015 11:44 am
by jonnection
clement wrote:When I press fire, I have 1-2 second of lag.

When I release Fire I have 1/2 second of lag.

Music and display are frozen


That is exactly when the game is seeking for the gun sound from the SD card.

Thanks for the information.

If you're interested, you can load the game first, then put EP1.DAT in the root of ANY SDHC card (even above 2GB) and try the game again, using that card. The game uses PetitFatFS and that library can use SDHC cards.

I am beginning to be very interested in the SD cards Rodot is using.

Re: Operation Fox Playable Demo

PostPosted: Thu Jun 11, 2015 12:43 pm
by Sorunome
Maybe you could manually cache cluster information so that the seeking time gets elliminated?

Re: Operation Fox Playable Demo

PostPosted: Thu Jun 11, 2015 1:11 pm
by jonnection
Sorunome wrote:Maybe you could manually cache cluster information so that the seeking time gets elliminated?


Not a bad idea. FatFS, the big brother of PetitFatFS actually does exactly this. You can create a cluster link map in RAM to avoid going through the FAT.

EDIT:

Thats actually a great idea Sorunome. I just checked the PetitFatFS source code and it is indeed so, that pf_lseek goes back to the original cluster and then steps all the way to the cluster that we are seeking. So when I shoot, the stream goes from music to FAT, steps all clusters to the gun sound, back to FAT, then steps to music.

I have to edit petitfatfs library so, that the clusters are calculated and stored before the filepointer jumps to avoid stepping through the FAT every time. But even so I am afraid there is something else wrong. I suspect the card Clement is using is stuck in some error correction routine and doesn't return from busy state until 1 second later. This behaviour you would not notice when loading a game from the loader, because the files are so small. But when you are streaming 4 mb of music, it is a different thing.