All Projects → nkrisztian89 → interstellar-armada

nkrisztian89 / interstellar-armada

Licence: other
A Javascript-WebGL 3D space combat game under development.

Programming Languages

javascript
184084 projects - #8 most used programming language
GLSL
2045 projects
SCSS
7915 projects
HTML
75241 projects

Projects that are alternatives of or similar to interstellar-armada

emvpt
Minimum Viable Payment Terminal
Stars: ✭ 20 (-39.39%)
Mutual labels:  simulator
svut
SVUT is a simple framework to create Verilog/SystemVerilog unit tests. Just focus on your tests!
Stars: ✭ 48 (+45.45%)
Mutual labels:  simulator
sim8085
Online 8085 simulator
Stars: ✭ 83 (+151.52%)
Mutual labels:  simulator
cubosphere-code
3D puzzle game restored from ashes (code base)
Stars: ✭ 17 (-48.48%)
Mutual labels:  game-3d
LedStripSimulator
Simulates an LED strip and allows very NeoPixel-like access
Stars: ✭ 26 (-21.21%)
Mutual labels:  simulator
VAOS
Virtual Aviation Operations System
Stars: ✭ 44 (+33.33%)
Mutual labels:  simulator
snmpman
Easy massive SNMP-agent simulation with the use of simple YAML files
Stars: ✭ 28 (-15.15%)
Mutual labels:  simulator
ARMStrong
A fast and simple ARM Simulator made for education based upon Unicorn and Keystone engines
Stars: ✭ 99 (+200%)
Mutual labels:  simulator
LogiStruct
A pixel-based digital logic simulator written in C.
Stars: ✭ 17 (-48.48%)
Mutual labels:  simulator
gym-mtsim
A general-purpose, flexible, and easy-to-use simulator alongside an OpenAI Gym trading environment for MetaTrader 5 trading platform (Approved by OpenAI Gym)
Stars: ✭ 196 (+493.94%)
Mutual labels:  simulator
CubeSatSim
CubeSatSim, the AMSAT CubeSat Simulator
Stars: ✭ 201 (+509.09%)
Mutual labels:  simulator
OpenBTE
Phonon Boltzmann Transport Equation
Stars: ✭ 31 (-6.06%)
Mutual labels:  simulator
simulator
Desktop simulator for embedded-graphics
Stars: ✭ 52 (+57.58%)
Mutual labels:  simulator
Mitty
Seven Bridges Genomics aligner/caller debugging and analysis tools
Stars: ✭ 13 (-60.61%)
Mutual labels:  simulator
MAPLEAF
6-DOF Rocket Flight Simulation Framework
Stars: ✭ 28 (-15.15%)
Mutual labels:  simulator
yates
YATES (Yet Another Traffic Engineering System)
Stars: ✭ 46 (+39.39%)
Mutual labels:  simulator
MouseClickSimulator
Mouse Click Simulator for Toontown Rewritten and Corporate Clash
Stars: ✭ 20 (-39.39%)
Mutual labels:  simulator
Hack-System
[HackSystem/Hack System] 有趣而炫酷的模拟操作系统。An interesting and cool simulation operating system.
Stars: ✭ 35 (+6.06%)
Mutual labels:  simulator
coupled-sim
Coupled simulator for research on driver-pedestrian interactions made in Unity3D.
Stars: ✭ 20 (-39.39%)
Mutual labels:  simulator
MK404
A functional Simulator for Prusa (Mini/Einsy) Rambo based printers
Stars: ✭ 52 (+57.58%)
Mutual labels:  simulator

Logo

Interstellar Armada: Galactic Ace is a free, Open Source browser-based 3D space combat simulator developed in JavaScript-WebGL by Krisztián Nagy ([email protected]).

Play now!

Though the game is far from being ready, it is possible to try out what has already been completed from it.

Web version

Just head to this page to launch the latest alpha release! Note: The perfomance greatly varies depending on the used browser. In my experience, on most configurations Chrome/Chromium provides the best experience (by far).

Snap version

If you are on Ubuntu or another Linux distribution with snap support, you can install the game from the Snap Store. This comes with the advantage that you will be able to play offline, as all the resources are included, and the game will automatically be updated to the latest version when I publish a new release.

Appimage

If you are on Linux but you don't use snaps, you can also download the appimage for the latest release. This also allows for offline play, but you will have to manually check here for updates.

Flatpak

Creating Flatpak builds is a little more complicated, because the build system I use does not support it out of the box, but I plan to add Flatpaks for future releases (from 0.6).

Windows and Max OS

If you are using these operating systems (or Android, iOS or anything else), just run the web version I linked as the first option, preferably from Chromium or Chrome. Currently I have no plans to add pre-packaged builds for these systems.

Performance

If you experience performance issues, adjust the level of graphics detail from the menu. Or if you have a powerful computer, you might want to increase the default settings. As this is an early version, the performance is subject to changes (and bugs).

For developers

I use NetBeans with its web development (+ ESLint and GLSL) plugins to develop this game. To build the game, you will need npm, Grunt and Sass.

After cloning the repository, in its main folder run

npm install
grunt build

to build the production version of the game. Then serve the game folder with your favorite server of choice and open index.html in the root folder to run locally. (the game uses XMLHttpRequests, so the file cannot be opened directly without a server)

Run grunt clean to remove the build files.

Run grunt dev-build to create a build for development / testing.

Run grunt watch while developing to automatically update dev-build files as you modify the sources.

Run grunt build-with-editor to create a production build that includes the game editor.

Editor

The game includes an editor (also written in JS, in fact it uses modules from the game itself to load / display game data). You can open it by serving and opening editor.html after making a dev-build (see the previous section). Please note that the editor is even less complete than the game, there are things that cannot be edited with it (most notably game configuration / settings and language files), and it has limitations for even the things it can edit (such as not being able to delete items). It is also fairly buggy. However, it can still be useful and more comfortable than dealing with the JSON files manually, and can be great for understanding how the game data is structured. To apply the changes you make in the editor, you need to download the game files to your computer and put them in your server's serving folder (or use Electron, as explained in the next chapter), export the files you changed with the editor (resources/classes/environments/mission), and overwrite the original game files with the exported ones.

Electron

The game can be run using Electron. To do this, just download a release of Electron suitable for your computer, make a build of the game (see above), and then copy the project files over to the appropriate folder of Electron (the app folder, which you will have to create within the resources folder). The project contains the necessary files for the Electron setup, so after this it can simply be run by starting the Electron executable. When run this way, the game has some small differences such as a Quit button in the menu to close the application and the lack of a fullscreen button (as it will run in fullscreen by default).

The last release of Electron tested with the game: 17.1.2

Snap packaging

Run npm run build-snap after you have created a game build to use electron-builder to package the build together with Electron into a Snap. The package file and other build artifacts will be generated in the dist folder.

To clean the folder up, run npm run clean-snap.

Appimage packaging

The same goes as for snaps, just use npm run build-appimage instead.

Latest versions tested:

Electron: 18.2.0

electron-builder: 23.0.3

License and copyright

Please see the LICENSE.txt file or the About page within the game for the details of licensing. In short, most of the source code of the game is released under the GNU GPLv3 license and most of the assets are released under the CC BY 4.0 license, but for exceptions, details and attributions please do check LICENSE.txt.

With game related questions, suggestions and feedback please contact me at [email protected].

Krisztián Nagy

30.04.2022.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].