Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (723)
Games in Android Showcase (216)
games submitted by our members
Games in WIP (790)
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 414 times)
0 Members and 1 Guest are viewing this topic.
Offline EpicGuru

Junior Devvie


Medals: 1
Projects: 2
Exp: 3 years


return "Hope";


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


Hey there!
Download link : https://github.com/Epicguru/Final-Outpost/releases/download/v0.0.4/Launcher.v1.jar
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 https://github.com/Epicguru/Final-Outpost. 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 https://github.com/Epicguru/Final-Outpost 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: 1
Projects: 2
Exp: 3 years


return "Hope";


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

Hey, sorry I forgot the controls.
Use:
- 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  
 
 

 
buddyBro (189 views)
2017-04-05 03:38:00

CopyableCougar4 (619 views)
2017-03-24 15:39:42

theagentd (612 views)
2017-03-24 15:32:08

Rule (663 views)
2017-03-19 12:43:22

Rule (636 views)
2017-03-19 12:42:17

Rule (640 views)
2017-03-19 12:36:21

theagentd (652 views)
2017-03-16 05:07:07

theagentd (586 views)
2017-03-15 22:37:06

theagentd (426 views)
2017-03-15 22:32:18

theagentd (355 views)
2017-03-15 22:31:11
List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05

SF/X Libraries
by SkyAphid
2017-03-02 06:38:56

SF/X Libraries
by SkyAphid
2017-03-02 06:38:32

SF/X Libraries
by SkyAphid
2017-03-02 06:38:05

SF/X Libraries
by SkyAphid
2017-03-02 06:37:51
java-gaming.org 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‑gaming.org
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!