FULG is a highly customizable open source utility made in NodeJs that lets you create a launching and upgrading front end for your application or game.
What is a FULG anyway?
FULG stands for FlatUniverse Upgrade and Launching GUI. This tool is part of the development of FlatUniverse a free fan indie game created by MaslasBros. Although FlatUniverse is free but closed source, FULG is developed as an opensource project, giving the opportunity for any fellow indie developer to use or embed this tool on his own project.
Why do I need this FULG thing?
If you are developing an application and you are looking for a simple patch distribution solution then you should give it a try.
What is this FULG thing capable of?
FlatUniverse is developed in Unity 3d game engine but the development of several other software applications, made by other game engines or frameworks than Unity, have set the following specifications for FULG:
- FULG is under the MIT license.
Development framework or game-engine indiependent.
- FULG is a highly customizable external application.
Multi platform support.
- It is tested to work on Windows, Linux and Mac. Check out FlatUniverse installer and see by your self.
Load balancing solutions for increased download demands from the servers.
- It gives you the option to download your patches through random selected web servers (http, https) or by an embedded torrent client mechanism for peer to peer package distribution.
Expandable and modifiable GUI.
Multi language support.
- The event messages and button states can be set in multilanguages by configuring a simple json file.
How do I start working with FULG?
- Download a clone of this mercurial repository:
hg clone https://bitbucket.org/Maslas/fulg
- Inside the fulg repository directory install the node js dependencies...
- ...and Electron.
npm install electron
- Run the default fulg example:
What is this FULG made of?
Is FULG a completed project?
It is complete enough to use it for the distribution of our own game release. Still, there are some future features on the to do list:
- The Wiki is still under construction but I am on it. It is one of my priorities.
- Support for downloading patches from ftp, sftp servers or through ssh tunneling. Now only downloads from http, https servers or peer to peer ports (udp, webseeds etc).
- Wildcard support for the multilanguage event messages. For example, you cannot add in the middle of a translated string information such as the downloading progress of a package or the number of files that remaining until the whole patching process is finished.
- Support of a binnary patching mechanism. For the time being the patching mechanism works with simple compare and replace methods.
Is there any way I could communicate with you?
Sure thing! You may contact with me through the following methods:
- By email: firstname.lastname@example.org.
- By submitting an issue on bitbucket.
- By connecting with me on LinkedIn.
Copyright 2017 MaslasBros
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.