PLEN

PLEN is a 3D multiplayer programmable flight simulator written from scratch in the Java programming language. The library LWJGL 3 was used for purposes such as rendering.

Download

You can download the current version of the game from here.
Currently the file is Java, therefore any computer that has the JVM then the game can be run.

PLEN Scripting Library Documentation

PLEN's scripting, (valid file extensions are .as or .airscript), library is not hard to learn, as it is a simpley JavaScript with external functions. Note that all functions detailed in the documentation formatted as _GAME.(insert_function_name_here)((required_parameters));
Documentation page

PLEN Resource Modification

If you would like to modify the resources of the game, which are contained in the res folder where the game executable is, these are the ones that you can modify.

Please follow these instructions modify the model:


If you would like for these custom resources to be used in the game, make sure the name contains the thing you are changing.
For example if you are texturing the grass, then make sure the filename contains "grass", Lastly at the end of the file name add the word "main" to use it as a main texture in the game.

For images you can use any editor, for models please use Blender 2.8+.

Keybinds (Default)

These are the current keybinds, they will change in future updates of the game.
-== Camera controls ==-
W - Move camera forwards
A - Move camera right
S - Move camera back
D - Move camera left

-== Aircraft Controls ==-
Up arrow - Pitch down
Down arrow - Pitch up
Right arrow - Turn right
Left arrow - Turn left

-== Misc controls ==-
L - Reload the scripts
O - Reload config file
Q - Regenerate terrain
R - Set camera rotation to 0, 0, 0
M - Create server on given port
C - Connect to server on given IP and port

Note: For server creation, make sure you select a port that is open in your firewall, or use port 25565

If you would like to change the configuration of the game, you can change it inside of the config.cfg located inside of the "red" folder

If you would like to use keycodes instead of the character, refer to the GLFW website, the keycodes are at the very end of each line under the "Macros" section.


Anyways, the format of the config file goes like this property:value
the property, which is a key bind or a color of something, is declared, then the value which is seperated from the property by a :
if you add a // before a line, the line will not be parsed as it is commented.
The properties that can be set, how you set them, and the default values for that property:
Property Definition Value Default
bg-color The background color of the logger Three integer values between 0 and 255 reperesnting the R G and B values (bg-color:0,0,255 // Blue background) 0,0,0
std-color The standard color of the logger text Three integer values between 0 and 255 reperesnting the R G and B values (std-color:255,0,0 // Red standard text) 255,255,255
warn-color The warn color of the logger text Three integer values between 0 and 255 reperesnting the R G and B values (warn-color:0,255,0 // Green standard text) 255,255,0
error-color The error color of the logger text, occours when the game runs into an error Three integer values between 0 and 255 reperesnting the R G and B values (error-color:255,255,0 // Yellow error text) 0,0,255
fatal-color The fatal error color of the logger text, occours when the game runs into a fatal error and crashes Three integer values between 0 and 255 reperesnting the R G and B values (fatal-color:255,255,0 // Yellow error text) 64,0,0
unlock-key The key that is used to lock and unlock the cursor from the window A character or a integer key code value (unlock-key:-
// or
unlock-key:45
)
256 (GLFW_KEY_ESCAPE)
pitch_up-key The key that is used to pitch up the aircraft A character or integer key code value (pitch_up-key:s
// or
pitch_up-key:83
)
264 (GLFW_KEY_DOWN)
pitch_down-key The key that is used to pitch down the aircraft A character or integer key code value (pitch_down-key:w
// or
pitch_down-key:87
)
265 (GLFW_KEY_UP)
left-key The key that is used to make the aircraft turn left A character or integer key code value (left-key:a
// or
left-key:65
)
263 (GLFW_KEY_LEFT)
right-key The key that is used to make the aircraft turn right A character or integer key code value (right-key:d
// or
right-key:68
)
262 (GLFW_KEY_RIGHT)
reload_scripts-key The key that is used to reload the game's version of the scripts inside of the res/scripts folder A character or integer key code value (reload_scripts:l
// or
76
)
59 (GLFW_KEY_SEMICOLON)
create_server-key The key that is used to create a server that clients can connect to A character or integer key code value (create_server:m
// or
77
)
77 (GLFW_KEY_M)
reload_config-key The key that is used to reload the game's version of the config.cgf file inside of the res file A character or integer key code value (create_server:m
// or
77
)
77 (GLFW_KEY_M)
create_client-key The key that is used to create a client to connect to a server A character or integer key code value (create_server:m
// or
77
)
67 (GLFW_KEY_C)
ai-mode The mode that the AI is in, the mode is parsed by the first letter in the mode Record, Train, Use none
default-port The default port that a server is created on Any integer that is not negative none


6E 69 63 65

awewsomegamer