StarMade May & April wrap-up

    schema

    Cat God
    Joined
    Feb 17, 2012
    Messages
    1,552
    Reaction score
    2,604
    • Schine
    Hello and welcome to StarMade,




    it have been two exciting months. A huge amount of bug-fixes, optimizations, upgrades, but also features have been added to the game.


    This articles is focusing exactly on those new features, as well as some noteworthy upgrades.


    Upgrade to the ship loading performance


    At the end of march, players have once again reached the limit of what was possible with the game at that time. Huge batteries of shields, weapons, and power modules lagged servers and caused invalid game states. The reason is, that in StarMade sets of blocks are calculated that are next to each other. This process took time, especially executing it within the main loop.


    Now the engine uses a new optimized algorithm as well as its own thread to do that operation. This cut down calculation that took over a minute before to a few milliseconds after.



    StarMote


    As the amount of public and private servers got bigger, the owners and players were asking for tools for administration in the game.

    From that moment on, StarMote was born. StarMode is a Administration frontend, that is fully capable of everything an admin can do with a client, and more.

    From accessing player IP backlogs to despawning single objects or whole patterns, StarMote offers a great variety of tools for admins.


    Graphics improvements


    In addition to fixing countless bugs, StarMade has made some major improvements both in rendering style & performance. Getting rid of ugly lines between blocks, and fully integrating MipMapping made way for an upgrade to the overall style of StarMade. The central piece of that is the new Texture Pack


    New texture pack and style


    Gone are the overly “happy” colors of the textures. Now StarMade has a more distinct stylistic color palette.



    Security



    With more and more players the demand to keep ship blueprints private has risen. Some players were starting to pull the raw block data from the directory, where the client stores the cache from the server to minimize load.

    Obfuscation has been added to make it as hard as possible for humans to find a specific ship in the cache.



    Physics Fixes



    The physics have been updated and fixed countless times, but there still were instances of it not working properly, or not working at all. The decision has been made, to completely take apart the physics library (jBullet) and search for the roots of the errors line by line. This endeavor not only fixed the bugs once and for all, but also provided priceless experience for any bug that might show up in there.


    Customized Docking Area


    The docking area was quadratic, and that proved a problem with ships in certain shapes. The space lost to dock a long ship was simply too wasteful. It is now upgraded to a customizable system, in which players themselves can decide on all three dimension of the docking area.


    More faction options


    On the “North American StarMade Server (NASS)”, the amount of factions and therefore the amount of friendly and hostile relations grew. With fixes of turrets, and AI ships, factions needed a way to protect against griefers of hostile factions. An options has been added to automatically declare war on any faction or neutral, that attacks a ship of that faction.


    Credit Trading


    More players also meant more economy, so players needed a way not only to share blocks, but also to share credits.


    Better AI


    As people were getting better at playing the game, the need for challenge grew. The old AI was not capable of hitting a moving target, and also barely even cared if it was attacked.

    An upgrade has been made for AI to be integrated into the seamless sector system. If you get within a certain radius of an AI controlled ship, they will attack & follow you until either ship is destroyed or the player managed to flee far enough.

    Another upgrade has been made to the combat moving and targeting system: The AI now targets roughly at where the enemy is flying to, and moves more aggressively.

    New Build Tool: Bulk Connections

    It’s now finally possible to connect/disconnect a set of touching blocks at once. This made ship management and maintenance a lot easier.


    New Build Tool: Symmetry Planes


    To take away from the not-so-fun part of building a ship, the player can now place up to three symmetry planes individually. Any block placed on one side will automatically be placed on the other side with the corresponding orientation. This made it possible to place 8 blocks at once with all three planes in place. It also works seamlessly with the mass placement, or deleting tool.


    Seamlessness for Missiles and Projectiles


    To combat the limited scalability of old missiles, they have been completely redesigned. Projectiles and missiles also don’t care about sector borders anymore.


    New Beams


    With plans to update the power system in StarMade, two new beams have been added to extend the strategic use of vessels and structures.

    The Power Drain beam takes away power from a target, but power blocks of any kind have to be targeted. Because this beam ignores shields it also becomes a potent weapon against ships that have no hull, but instead concentrates on max power output and shield.

    The other beam is the Power Supply beam. This beam does the exact opposite of the power drain, with the difference that any part of the targeted structure can be shot at. The usage of this beam can become highly strategic for example support crafts.


    Power Change


    Finally the time had come to change how power works in StarMade. While far from being balanced, the basic system is now in place. The power block that both provided capacity and power recharge was split up into two separate block modules.

    The power recharge block now follows a logarithmic shaped curve, which means that the return of placing more and more blocks on a structure is diminishing, while the curve of the power capacity blocks returns more and more.

    This encourages the build of small vessels that don’t need any capacity and can barely survive on recharge, while big ships will need a massive amount of capacity to stay combat ready. This also makes way for a fuel-like resource. Another welcome side-effect is, that without refueling big ships, they will eventually become vulnerable, so no ship is invincible.

    The balance of this system will target specialization, so, while players can still build an all-purpose ship, it will only be mediocre at everything.


    New Webserver


    The growing user-database caused the website to slow down immensely. At times it took over 10 seconds for a single site to load, which basically made using the forums very tedious.

    Some people offered to help and within two weeks, we managed to do a full server move. With experts at the server configuration, they pulled out the maximum of the new server, and the site now loads incredibly fast.


    AI Simulation


    Despite spawning AI, the universe of StarMade still felt somewhat lifeless, especially in single player. While the AI was now a potent opponent, it lacked the ability to fly across the universe on its own. Also, multiplayer servers were cluttered with spawned ship files of enemies that were very rarely used.



    After lots of hours of work, a new system has been implemented: AI Universe Simulation. This system is a new layer on top of the AI, that is already in place. It abstracts a ship to a name, and can move it across the universe whether it’s currently loaded because a player is near, or only an entry in the database. The whole database migration from the beginning of the year was targeted to do exactly that as performant as possible.



    The system works in ticks and can handle thousands of ships at once.


    One of the first example of this new system is that shooting a shop now actually has consequences. If a player repeatedly shoots a shop, the trading guild will send out a fleet against him.



    Furthermore pirates now operate much more focused. They will randomly patrol the space, and try to raid enemy ships. They will also send out parties from their stations to nearby players, as long as that station is not destroyed. Patrolling pirates will avoid faction space stations, but pirate stations will still attack as long as they are not destroyed.



    Not only the pirates but also the trading guild sends out ships across the universe (and those to NPC factions are just the beginning). If you are in the wrong place at the wrong time, you might get involved in a space battle between NPCs.



    Pirate Space Stations


    A whole new type of station has been added to spawn in the universe. Most parts of this new station is randomly generated, and it’s planned to make it even more random.


    One deciding feature of pirate stations is, that they use a new placement systems, that enables randomly generated structures to use advanced blocks like weapons or docking. The challenge was that, blocks had to be placed and connected either afterwards or right away to a controller block that may or may not have been placed yet.



    Furthermore, the system is now able to spawn specific follow up structures, in this case, turrets.



    This means a pirate base will spawn fully capable of defending itself. Also, as a bonus for defeating a pirate station, it has treasure inside.



    Ruins


    The new system not only benefits the stations, but also any other structure. While this feature is just at the beginning, you can already find something mystical when you explore enough desert planets.



    Sector exporting/importing



    As players build more and more creative structures, the was a demand for an easy and fast way to save and export specific parts of the universe.

    With this new system, whole sectors can be exported and imported anywhere in any universe. It’s even possible to clone the same saved sector over and over.

    This will make server-resets not as hard.

    As an extra, bulk exporting and importing has been implemented, so admins can note all important sectors in a file and export or import them with only one command. So if a server reset is due, the players can tell the admins all sectors they want to have saved.



    Synchronization redesign and Network performance



    A long lasting source of bugs were within the network code. Debugging on network is one of the most exhausting tasks in software development. After very head spinning hours, it has been finally managed to find a bottleneck that resulted in diminishing network performance, as well as a memory leak that was caused by exactly that.

    Furthermore, the synchronization system has been redesigned, which laid open a few very serious bugs, that are now finally gone. Teleporting on clients has been reduced greatly, and object positions are now fully synchronized on both clients and server even for connections with 500+ pings.




    This wraps up all bigger features of StarMade done in April and May 2013. Stay tuned for more exciting features in the coming months,




    and thanks for playing StarMade,

    - schema