1. Hey Guest! We're currently translating StarMade. Anyone can translate, if you can, feel free to!
      Dismiss Notice
    2. Interested in helping moderate SMD? We're currently looking for moderators, check out this thread.
      Dismiss Notice
    Hello players, ~

    the next dev blog, along with our usual update on what we are working on, will feature end goal documents for StarMade. They are going to be spread out over multiple parts.

    It takes a bit to transfer the format and wording from our internal documents into something presentable to the public, so that is why it's taking a bit longer this week.

    thanks for playing StarMade,
    - the schine Team
    Greetings, citizens ~

    Here’s what we’ve been up to:

    Server Performance

    While looking into server performance, we noticed an issue with NPC Fleet Management: something is preventing the proper clean-up of spawned fleets. This has been causing some of the larger servers to experience mysterious performance issues recently. If you have a server and are encountering high response times for ship creation, or server-related ping spikes, this issue might be the cause. We are working on a fix for this, and are monitoring the problem. In the interim, you may want to manually wipe all NPC-Fleets from your server from time to time (once per week should suffice). You may do so by running the following command:

    /despawn_all FLTSHP all true

    However! Please warn your players before running this for the first time, as it may result in the server becoming unresponsive for several minutes. (Instances of cleaning up 150k to 300k ships are not uncommon, and that takes some time to process.)

    SQL in StarNet

    In one of the previous updates, we added the ability for server admins to query the server’s database directly via SQL. This is an incredibly powerful tool, and many server owners have taken advantage of it to create fancy features on their websites, write fine-tuned automated scripts, gather game metrics, etc. However, this functionality required us to inject the command directly into the console, and parse its reply -- not the cleanest or most direct approach. StarNet, our dedicated tool for this sort of thing, also lacked the permissions to do this. The next release will rectify this issue, giving StarNet the permissions it needs to both run SQL queries and get their output directly. This should give admins cleaner, easier access to the internals of their server’s database.

    What’s...
    qGt4rqz.png
    Greetings, citizens ~

    We’ve added some exciting features this week, including a fill and line tool, and new rails. There’s also a new Advanced Build Mode GUI! Everything should be cleaner and much easier to access now. However, keep in mind that the layout and content is still a work in progress, and so may change significantly between builds. Over the next few days, we’ll tweak what each group contains and adjust how the tools work in order to streamline the experience.

    New dev build!
    This first dev build contains the core functionality of two new tools: the Fill Tool and the Line Tool. Both are available under the Shape Tools group.

    Fill Tool
    The fill tool allows you to incrementally fill (or replace) areas with your desired block. It’s quite simple to use: you can freely select your starting point with the camera (similar to ‘create docking’), and press the [Do Fill]* button with a block selected on your hotbar.

    * We are absolutely going to rename this later.

    The fill tool allows both space-filling and block-replacing, depending on what the starting point is. If it’s empty space, the tool will flood-fill; if it’s a block, only that block type will be replaced. Also: this is a step-based system, meaning undo and redo work, allowing you to easily fix any mistakes.

    For now, the filling process is done in a single step, and uses a fixed amount of blocks. We will change this over the next few builds to allow you to specify how many blocks to place at once, as well as allowing servers to impose their own limits to reduce server strain.

    We’ll be adding some optimizations to this in later builds.

    Screenshots below:
    Hollow torus made of crystal armor



    Filling the torus starting from the bottom

    [​IMG]

    Filling the shell of the torus with blue...
    Greetings, citizens ~

    News

    It’s with a heavy heart that we announce, Auburn is leaving the Schine team for new opportunities. He completed his project here and we are extremely proud of his work. We are currently working on its integration into the universe update coming later on.

    What are we working on right now?
    We are currently completely reworking the advanced build mode and other GUI functionality to work with a planned GUI scaling update in the future.

    Advanced Build Mode

    We’d like to go in-depth for one specific build tool that we are going to add. The Fill Tool.

    The fill tool is one of the tools we are most excited about. It fulfils quite a few purposes that the community has been asking for and will help you update your ships in the future power update.

    Once you engage the tool, it uses the camera position to determine where the fill area starts. When the user confirms the fill location, the game will use the highlighted block type to flood fill up to a number of blocks set by the user.

    Each click on “fill” will then add a set amount of blocks (maximum amount per step determined by the server). It will keep track of the blocks already placed so it will reach even into the farthest ends of your ship. Alternatively, it can be used to make some cool spherical shapes on your ships.

    The great thing about this tool is it isn’t only for filling empty blocks. It can also be used to fill over existing blocks. One way this will be useful as a “Paint” tool. You can select which block type to replace when filling. The default is the “Empty” type and it would work like described before as a normal fill tool. But you can also select “Grey Hull”, which would replace groups of touching grey hull blocks on your ship. It, of course, would replace special shapes like wedges or slabs with the right shape...​
    yufTP6k.png
    Hello citizens, ~

    The dev blog for this week features something more on the technical side. It covers a nice feature that will be very important in going forward.

    Optimized Meshes

    With the preview of last week, which is being able to draw any subset of blocks on any structure, we want to share another reason why we implemented this now. Not only is it already extremely useful for making existing GUI elements better and as said, adding new systems like active scanning, it also will be our basis for a new Level-of-Detail system. This system will increase drawing performance by drastically reducing the amounts of polygons at a distance.

    For that, the meshes we had last week needed to be improved and optimized. Since these are one colored representations of a set of blocks, polygon reduction is extremely viable.

    First of all, however, it needs to be explained why this method is not viable for all the mesh drawing, especially close. Reducing polygons means giving up information that is stored in those vertices. In our case that is texture information, the baked lighting, material, and a lot of other graphical meta information. Some of that can be compensated with techniques like deferred lighting, which would work yet does not scale well most of the time, and will force a lot of other optimizations to be removed. Also, the more detailed the mesh is with additional shapes, the less advantage the polygon reduction will provide.​


    That’s why combining both techniques will give us the best result. At a distance we can draw a minimal mesh that will speed up things dramatically. We can even make that multicolored with mixing multiple meshes on a fixed map of colors. Best of all, for close up, this still gives us the option of using deferred lighting eventually, but mixing it with existing lighting...​