Download Latest Version fbshoot.zip (18.0 MB)
Email in envelope

Get an email when there's a new version of FB Shooter Force 2019

Home
Name Modified Size InfoDownloads / Week
Release 2020-05-26
README.txt 2019-02-10 9.1 kB
Totals: 2 Items   9.1 kB 0
FB Shooter Force 2019
---------------------

http://cmcgames.blogspot.com


Copyright(C) Cleber de Mattos Casali. All rights reserved.


The source code is released under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation, GPL version 2 or any later version.


This game was developed in FreeBASIC, specially for the FBGD "A Love Letter To FreeBASIC" Game Dev Competition (Oct 2018 – Feb 2019).


FreeBASIC is an excellent, fast, free, self-hosting, open-source BASIC compiler. Check it at http://www.freebasic.net





* Minimum settings:

Processor: Dual core AMD or Intel x86_64 processor, with SSE2, 1.2 GHz or faster;

RAM: 1 GB or more;

Graphics Card: 512 MB of video RAM or more, OpenGL 2.0 or higher;

The game may still work with a lower configuration system, but you may experience slowdowns at some points;

Gamepads/joysticks are highly recommended;





* Windows Specific Requirements

Windows XP or higher;

Proprietary video drivers from your graphics card manufacturer (AMD, Intel or Nvidia);





* Linux Specific Requirements

Proprietary video drivers for Nvidia or AMD graphics cards, or updated open-source video drivers for Intel graphics cards;

libsdl and libsdl_mixer (either 1.2 or 2.0);

glibc 2.x;





*ARM users

A Linux/ARM build is possible, provided the device has video drivers with a proper OpenGL implementation.

However, I don't have such a system to test. If you can build and test this, please contact me.





* MacOS users

There is no MacOS version, because currently there is no FreeBASIC compiler for MacOS.

The Windows version seems to work fine with wine under Linux ( http://www.winehq.com ).

But as I don't have a Mac to test, this configuration is not officially supported.





* Android users

Because there is no (official) FreeBASIC compiler for Android (yet?), there is no Android version.

And probably there won't be, because Android will usually only support a subset of the OpenGL API (OpenGL ES).

Part of the graphics engine would need to be rewritten.





* Keyboard controls

The program for remapping keyboard controls is not available yet.

Keys can be reassigned by editing the .ini file.

The default keys are as following:

Player 1: Start=1   Direction keys=WASD     Action keys=CVBFGH
Player 2: Start=2   Direction keys=arrows   Action keys=DEL,END,PGDOWN,INS,HOME,PGUP





* Game features

-Up to 2 players simultaneous coop action;

-More than 40 types of powerups;

-Action-palette based controls;

-Many types of enemies and exciting big boss fights;

-Retro music, sounds effects and tile/sprite based graphics;

-Many special effects like particles, explosions, glow and transparency;





* Engine features

-OpenGL 2.x hardware accelerated rendering;

-Auto-detect display resolution;

-Can be configured to stretch to any display resolution or add black bars to keep proportion;

-Smooth 60 fps even on older systems;

-Optional pixel scaler, scanlines effect, multisampling and bilinear filter;

-Configurable display mode, internal resolution and filters;

-Hardware accelerated sub-pixel smooth scroll;

-Hardware accelerated sprite engine;

-Very accurate collision detection system;

-Hardware accelerated, flexible and fast particle system for all kinds of special effects;

-SDL_mixer audio output;

-Customizable and easy to configure gamepad/joystick layouts;

-Gamepad/joystick: analogue controlller support;

-Gamepad/joystick: force feedback/vibration support;





* Configuration file

A configuration file (.ini) will be created in the fist time the game runs.

Usually, it will be created in the same folder as the game executable. Otherwise, it will be created in ~/.config (Linux) or AppData (windows).

Various settings can be tweaked by editing this file.





* Command-line options

Command-line options will always override settings from the .ini file. The game will recognize the following parameters:

-fullscreen 		: Enable fullscreen mode;

-window 		: Start windowed;

-borderlesswindow 	: Start in a borderless window;

-nojoyrumble 		: Disable force feedback (vibration) completely;

-esctoquit 		: ESC key will quit the game without prompt;

-sdl1 			: Force SDL version to 1.2;

-sdl2 			: Force SDL version to 2.0;

-mute 			: Disable the audio completely;

-scanlines 		: Enable scanlines effect;

-noscanlines 		: Disable scanlines effect;

-pixelscaler 		: Enable the pixel scaler effect;

-nopixelscaler 		: Disable the pixel scaler effect;

-vsync 			: Enable vertical sync;

-novsync 		: Disable vertical sync;

-timesync 		: Enable time sync;

-notimesync 		: Disable time sync;

-fullstretch 		: Ignore aspect rate and stretch the image to the whole screen/window;

-keepaspect 		: Stretch the image respecting the aspect rate;

-showfps 		: Display frames per second during gameplay;

-threads 		: Enable multithreading;

-nothreads 		: Disable multithreading;

-resolution WxH 	: Set the resolution or window size to WxH. Example: -resolution 1920x1080;




* Notes

-Gamepads are highly recommended;

-The OpenGL library that usually ships with Windows will NOT work. Video card drivers from the card manufacturer are obligatory;

-If the game can't detect your display resolution correctly, you can edit the .ini file or use the command-line to try different settings;

-Graphics setup menu is not available yet. Various settings can be tweaked by editing the .ini file or using the command-line;

-Keyboard remapping setup is not available yet. Keys can be reassigned by editing the .ini file or using the command-line;

-The game can do 2000+ fps with default settings in an i7 2600k with a Geforce GTX 750;

-The game can do 190+ fps with default settings in an AMD E-350 APU, with very few slowdowns. It should run well even on older systems;

-With either v-sync and/or timesync enabled, the game will try to run at fixed 60 fps;

-If the game runs too fast (above 60 fps), try to enable timesync;

-If the game has slowdowns/FPS drops (below 60 fps), try to lower the internal resolution multiplier, enable npotfbo, disable multithreading, lower the resolution, and/or disable pixel scaler;

-If you experience random slowdowns, instability or freezes, try to disable multithreading and threadedinput;

-A higher internal resolution multiplier means smoother but more resource demanding;

-Setting internal resolution multiplier to 1 will make downscaled text unreadable;

-The game uses SDL/SDL_mixer for audio. It can use SDL 2.0, but if that's not available, it will fallback to SDL 1.2;

-Force feedback/vibration on Windows requires SDL 2.0;

-Windows XP will default to SDL 1.2 due to various compatibility issues;

-On Linux, if using pure alsa (no pulseaudio), SDL 1.2 is recommended;





* Known bugs/issues

-Borderless window will hang after exit on Linux. This is probably a bug in FreeBASIC's fbgfx library;

-Starting fullscreen on Linux will steal the input from all other windows. This is probably a bug in FreeBASIC's fbgfx library;

-Input may hang with threadedinput enabled. If you experience this, make sure it's disabled;

-Slowdowns/FPS drops caused by the "multithreading" setting. If you experience this, try to set multithreading=0;

-Windows 8/10 high dpi scaling issue: fixed by including a manifest in the .exe file, can be triggered if the game is compiled without it;

-A lot of warnings are thrown when compiling with -gen gcc and -O >0;





* F.A.Q.


Q: What programming language/libraries/software/tools did you use to develop this game?

FreeBASIC compiler 1.06.0 (git snapshot);
OpenGL 2.x for graphics;
SDL and SDL_mixer for audio;
FreeBASIC PNG Library - fbpng (thanks to yetifoot);
FreeBASIC FLC Player - based on the old QB FLC Player program (thanks to Carl Gorringe);
Audacity and Bfxr to create the sound effects;
ACS, Computoser and Abundant-music to create music;
Autodesk Animator Pro (with DOSBox) and Gimp to draw the graphics;
Geany as code editor.


Q: Can I redistribute it?

Yes, as long as it's for free and you don't remove this readme or any other files from the package.


Q: Can I sell it?

No.


Q: Can I use your media in another project?

We can discuss it. Please contact me.


Q: Can I make changes?

Yes. If you do it, please contact me.


Q: Can I make my own game using your source code?

Yes. Please make it free, open-source and give me some credit.


Q: Can I make a commercial/closed source game using your source code/media?

We can discuss it. Please contact me.


Q: I really like your games. What can I do to help?

If you want to help me continue making games, you can make a donation.
Visit http://cmcgames.blogspot.com and donate any amount.
It will be very much appreciated.




Copyright(C) Cleber de Mattos Casali. All rights reserved.

-

Source: README.txt, updated 2019-02-10