• Home
  • Index
  • Search
  • Download
  • Server Rules
  • House Roleplay Laws
  • Player Utilities
  • Player Help
  • Forum Utilities
  • Returning Player?
  • Toggle Sidebar
Interactive Nav-Map
Interactive DarkMap
Tutorials
New Wiki
ID reference
Restart reference
Players Online
Player Activity
Faction Activity
Player Base Status
Discord Help Channel
DarkStat
Server public configs
POB Administration
Missing Powerplant
Stuck in Connecticut
Account Banned
Lost Ship/Account
POB Restoration
Disconnected
Member List
Forum Stats
Show Team
View New Posts
View Today's Posts
Calendar
Help
Archive Mode




Hi there Guest,  
Existing user?   Sign in    Create account
Login
Username:
Password: Lost Password?
 
  Discovery Gaming Community Discovery Development Discovery Developers Forum Discovery Unofficial Development Discovery Mod FLHook Projects
1 2 Next »
[FLHook] SolarCntl

Server Time (24h)

Players Online

Active Events - Scoreboard

Latest activity

[FLHook] SolarCntl
Offline Laz
04-10-2018, 06:38 PM,
#1
Out-of Retirement Code Monkey
Posts: 1,912
Threads: 107
Joined: Jan 2014

I wonder how much work it'd take to add features to the Playerbase plu-.. Oookaay, that aint' happening.
Time for a redesign.



SolarCntl?
SolarCntl is a plugin which has been in the works for over 7 months by myself, and @Remnant back when he was around. It is intended to eventually replace the current playerbase plugin. Ultimately, the goal was to take what already existed in regards to playerbase operations, and create a framework which the PlayerBase system rests on top of.

The plugin handles spawning in all sorts of solar objects, be it static solars, weapon platforms, jumpholes, or playerbases by thoroughly abusing C++ virtual functions to delegate different features, into each type of object in question.

SolarCntl is being written in an objected oriented fashion, meaning that if any new features are requested, it's very, very easy not only for changes to be made to each piece using the framework, but new pieces to be made completely without very much analysis of existing logic.

This announcement is being made, because the core behind the plugin is reaching completion. I expect the barebones framework to be completed in a day or two of this posting date. Old news.

What does that mean, exactly?
Picture a pancake. It's easy to add butter to the pancake. If you wanted more, you simply place another pancake on top of the buttery pancake below.

Now picture this. A plugin which handles things such as playerbases, where it's rather easy to make tweaks to the code, with how the plugin is designed. But say that you decide that you wanted to make Siege Guns, which aren't exactly like playerbases.
That's just fine! With a new class, and implementation of virtual functions, custom logic can be created for the Siege Gun, and be seamlessly slotted into a list of spawned objects, and have it work without much qualms.

Basically: The rework makes extending the playerbase plugin extremely simple compared to how it is now. New features will no longer be scary to make. Most of the code has also been commented, which means it tells people exactly what it does, making it much more long lasting for future developers.



What does this mean for me?

Right now, this means very little for the user. By the time version 1.0 is released, the plugin will act almost identical to the current base plugin. There will be a few command changes, coupled with some basic additions and changes, like how the shop handles stock limits, for example. Ultimately, you wont notice much of a difference, it'll be like BasePlugin++. A majority of the current plugin has been refactored into code used by the new one.

There are some differences behind the scenes, but ultimately you as a user will notice very little. There will be some new commands and some commands will have new usage / different ways of being implemented. All PoBs will be carried over to the new system and with them all of their modules, equipment, cargo, etc.



It's good at being extended you say? Extended how?

Well, as stated up above, new types of solars with custom logic can be created. Say that you wanted for some reason, a jumpgate which you cannot dock with, but every 10 minutes, you see a large wave of energy come from it, teleporting all of the ships in the radius to a different location. That's something possible through this plugin's framework, without very much extra work. The basic logic already exists for spawned objects. One simply needs to override the logic which they need changed.

In regards to playerbases, perhaps the more relevant aspect to the plugin, the biggest change is going to be truly modular modules. Adding new modules for playerbases is simple. Picture refinery modules, science modules, you name it. New features can be quite literally, slotted into a list, and be made available for all users of playerbases.

What are these modules going to be? Who knows. That's something to look at after we get a 1.0 release out for solarcntl.



How far are you currently with the plugin?

Originally, when this announcement was made, the plugin was in it's early stages. The framework was nearly complete and we just about to make some serious changes and get the entire thing underway. A lot of time has passed since then. Remnant moved on to other things and I took over with this becoming my pain main project. I am not nearly as skilled as he was when it comes down to C++ or programming in general, but using the framework left to me, I've been able to get this plugin into a state that could be considered the "current base plugin++".

There are a few remaining bugs left over that I am working to fix, but other than that, things are almost ready to get reviewed and finalised. There are a lot of new features and changes to take note of, for a list, please see the most recent announcement within this thread.

[+]Old Announcement
At the moment, the framework has almost been completed. There are no fancy features yet. There is simple the abstract and default implementation of spawning objects ingame. These objects don't do anything, but they're very, very easy to have logic placed on top of.

If I were to give things a percentage value to completion, I roughly am going to say 20% - Although I will note that as soon as this core framework is completed, feature implementation will be speeding up considerably.

If you want to keep an eye on what's going on, check out the Trello page. It's being updated with new features, and progress as we go.
For more technical users, check out github.

If you're wondering about an ETA until plugin completion, I will not be giving one. I do not know how to quantify what remains into an amount of time. I suggest that you watch the Trello board and see how things go. Everything required is documented there, as well as progress on each individual piece.

Development is second after life. We aren't spending every waking hour on this like we would a job. This is merely a note that this project exists.

Github Link

Trello Board



Project Credits:
@Laz - Hi, it me. I did this.
@Remnant - I literally could not have got anywhere close to where I am with this project without this guy.
@Its Raisu - My trusty little helper. Has called me an idiot when I did things wrong and helped me test loads.

Reply  


Messages In This Thread
[FLHook] SolarCntl - by Laz - 04-10-2018, 06:38 PM
RE: [FLHook] SolarCntl - by Laz - 04-16-2018, 06:49 PM
RE: [FLHook] SolarCntl - by Laz - 11-19-2018, 05:32 PM
RE: [FLHook] SolarCntl - by DSE|= - 11-22-2018, 01:41 AM
RE: [FLHook] SolarCntl - by Its Raisu - 11-22-2018, 08:11 AM

  • View a Printable Version
  • Subscribe to this thread


Users browsing this thread:
1 Guest(s)



Powered By MyBB, © 2002-2026 MyBB Group. Theme © 2014 iAndrew & DiscoveryGC
  • Contact Us
  •  Lite mode
Linear Mode
Threaded Mode