Listed here are both the software and hardware specifications for the game and for running the source code.
Listed here are the hardware requirements for playing the game. If your hardware is below the minimum specs, I cannot guarentee that the game will run correctly for you or perform well. The most important requirement here is the screen configuration. Please do not download this game if your resolution is lower than 1280 x 720, as the game window will not load correctly and may be inaccessible. Also, make sure you are at least in Windows 7, as the game has not been tested on any earlier version. Finally, the game is mostly run on the CPU, however based on previous testing, having a GPU does tend to help increase performance.
Type | Minimum | Recommended |
---|---|---|
Operating System | Windows 7 | Windows 11x or 10x |
Screen Resolution | 1280 x 720 | 1920 x 1080 |
Aspect Ratio | Any | 16/9 |
CPU | 4 Core | 8 core |
GPU | Optional | NVIDIA RTX 3060 Ti |
Memory | 4 GB | 16 GB |
Here is the software needed for playing the game through the current executable:
- Have any recent version of the Windows operating system.
- Must have Microsoft Visual C++ Redistributable 2015 or later.
- Note: You do not need to have Python installed on your computer to run the executable!
Here is the software you should install if you want to look at and work with the source code and also the software used to create the game:
- Python version 3.7.3 (Recommended to avoid potential compatibility issues and was used for the game development)
- Visual Studio Code or PyCharm Community Edition 2019.1.3 x64 (Both were used for the games development)
- Any version of Git - For organizing the project
- Any version of Krita - For creating textures
- Any version of Audacity - For creating and editing game sounds
- Paint 3D - For saving a gif with transparency
- The Laser Fighter Image scaler provided in the "tools" directory of this repo - For scaling .gif texture files
The following is a list of external libraries used in the development of Laser Fighter. These libraries must be installed to run the source code. Note that some of these libraries are included with Python by default, while others require manual installation.
- os - Provides functions to interact with the operating system, such as file handling.
- math - Offers mathematical functions like trigonometric operations, logarithms, etc.
- time - Handles time-related functions, such as frame rate and delta time
- random - Used for generating random numbers, essential for various game mechanics like spawn chances
- turtle - A standard Python library used for basic graphics and drawing, forming the core of the game's visual elements.
- TKinter - Python's standard GUI toolkit, utilized for creating button functions and configuring the screen
- Pillow (PIL) - An external library for image processing, used here for handling and manipulating textures.
- pygame - A set of Python modules designed for writing video games, used for handling frame rate, sound, and improving performance
IMPORTANT: For Linux users wishing to work with the source code, you will need to manually change these with Linux compatible libraries in order to run the source code!
- win32api - Part of the PyWin32 library and used to interact with the Windows API. Here it was used to extract the users monitor information
- win32con - Another component of PyWin32, providing constants used in various Windows API functions. Used for extracting the monitors refresh rate
- configparser - Used for reading and writing configuration files, enabling easy management of game settings.
- subprocess - Allows the spawning of new processes, connecting to their input/output/error pipes, and obtaining their return codes. Used to backup the configuration files.
- ctypes - A foreign function library for Python, allowing the calling of functions in DLLs or shared libraries.
- scipy.optimize - Part of the SciPy library, providing optimization algorithms. Used for the calculation of hitboxes.
- gc - Controls the garbage collector in Python, useful for managing memory in a complex game environment.
- fractions - Provides support for rational number arithmetic, and used for calculating the scaling of text.
- threading - Supports multi-threaded execution, allowing the game to perform tasks like background loading or parallel processing.
NOTE: These libraries were NOT created by me and were simply used in the production of this software.
If you are still having problems running the game, try disabling any antivirus software for a short period of time. Since the executable is unsigned, some antivirus software may detect it as a threat.
Copyright (c) [2024] [Christian Marinkovich]
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.