Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (808)
Games in Android Showcase (239)
games submitted by our members
Games in WIP (872)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Final Outpost - Moddable Open Source game engine  (Read 4308 times)
0 Members and 1 Guest are viewing this topic.
Offline EpicGuru

Junior Devvie

Medals: 2
Projects: 3
Exp: 3 years

return "Hope";

« Posted 2017-04-16 15:29:06 »

Hey there!
Download link :
So I would like to start by saying that, even though this will be a game, and it is currently 'playable', it is not interesting as a game of any sort but is rather a framework ATM.
Sorry, I know that this is a java gaming forum but I decided to post this here because I am sure that some of you might be interested in a moddable framework. What little game there is consists of a giant tiled map (1000x1000 tiles), and a simple character. There are currently only 2 types of tile, dirt and stone, and stone is solid. You cannot interact with the world ATM simply because I am still working on framework rather than game. Stone tiles randomly spawn and are solid using Box2D bodies.
So what Final Outpost is is a game engine that is based around mods, know as Plugins in Final Outpost. These plugins add everything to the game such as tiles, menus, entities and other content.
Final Outpost uses the following libraries to achieve this :
  • Plugin Framework for Java (PF4J)
  • Commons IO
  • Box2D
  • Gradle integration to build and export plugins
  • A lot (17k lines) of my own Engine code, which brings everything together
  • And of course LibGDX

Final Outpost automatically loads any plugins, which are stored as .zip files, and extracts them. It then packs all textures into tetxure atlases, and loads all assets. This includes automatically loading Tiles and Parsers.

This project also includes a launcher, which allows the user to download any version of the game and also updates itself. This launcher works using Github Pages.

All code for this game/engine/launcher is located on github here All of the code (at least all important classes) are very well documented, so I hope that it is understandable. The repository also includes an example plugin, for those of you interested.

How to set up in eclipse
So if you wish to edit or mess around with the source code, you may want to clone to code into Eclipse. Below are the steps to do this.
  • Have a git client or command line ready. I personally use GitKraken, it is great and very visual.
  • Clone into a new workspace.
  • Open up eclipse
  • Import the 'Game' project as a gradle project. It is very important that it is imported as a gradle project because Final Outpost depends on gradle.
  • If there is no option to import using gradle, check that you have Buildship installed in eclipse.
  • There should be at least 4 gradle projects in your eclipse view now.
  • Open up the Gradle Tasks view within eclipse.
  • Ensure that Show all tasks is enabled in the tasks menu.
  • In project Game, under Other run tasks 'plugin' and 'copyPlugins' in that order by double clicking on each of them.
  • In the Package Explorer in Eclipse, select the project 'Engine' and Right Click>Run As>Java Application. The main class is called FOE (Final Outpost Engine).
  • Done! You can now edit Engine code or go into Example Plugin and see what plugin code looks like. All code is documented. Please note that when you make changes to plugin code, you must run the 'plugin' and 'copyPlugin' tasks again for the changes to take place
Here are some visuals for the tricky steps.

Well thats about it for this explaination. I know that setting it up is not easy (my bad explainations do not help!) so please post any problems below. If you do take an interest in this project, please post something below to let me know, may it be a question, a problem or a suggestion. Thanks and have agreat day!  Wink

Deep meaningful message here :p
Offline EpicGuru

Junior Devvie

Medals: 2
Projects: 3
Exp: 3 years

return "Hope";

« Reply #1 - Posted 2017-04-17 08:30:57 »

Hey, sorry I forgot the controls.
- WASD to move character around.
- F12 to bring up debug mode.
- F1 to enable / disable vSync (I recommend disabled)

You can also run the game in full screen by editing the config file at Game Data/Configs/Final Outpost/Graphics.FO_Config

Also, you can configure the keys by editing Game Data/Inputs/Keys.txt

Deep meaningful message here :p
Pages: [1]
  ignore  |  Print  

mercenarius (13 views)
2020-06-04 19:26:01

mercenarius (21 views)
2020-06-04 19:13:43

Riven (865 views)
2019-09-04 15:33:17

hadezbladez (5847 views)
2018-11-16 13:46:03

hadezbladez (2656 views)
2018-11-16 13:41:33

hadezbladez (6272 views)
2018-11-16 13:35:35

hadezbladez (1517 views)
2018-11-16 13:32:03

EgonOlsen (4748 views)
2018-06-10 19:43:48

EgonOlsen (5803 views)
2018-06-10 19:43:44

EgonOlsen (3297 views)
2018-06-10 19:43:20
A NON-ideal modular configuration for Eclipse with JavaFX
by philfrei
2019-12-19 19:35:12

Java Gaming Resources
by philfrei
2019-05-14 16:15:13

Deployment and Packaging
by philfrei
2019-05-08 15:15:36

Deployment and Packaging
by philfrei
2019-05-08 15:13:34

Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!