If you get a crash on start-up and you have an ATI card, please turn off occlusion culling in the advanced options on startup. For some reason some drivers don't support this over 10 year old standard.
here are a few fixes:
- fixed yellow box in build mode of stations
- fixed some shader related crashes
- fixed factories being broken when old recipes are used
- fixed server list sorting
- server list item compatibility checkbox now doesn't need refresh
- normal maps from kupu are now updated with the latest blocks.
Having a little time for optimization I did some profiling and found some rather taxing parts. After optimizing those processes server performance should get a good boost (less red messages ^^)
More server optimizations are planned, especially for huge servers to bring database size and scalability under control.
Thanks for playing StarMade,
a huge update is now finally done. Here are the new features (amongst other smaller ones):
Warp technology was something I held back to really have the necessary core to be able to make work, as that can easily break game play. With all the updates to the core, as well as all values available in the config, and also combined with our now concrete plans for a universe redesign, it's finally time to put warp into the game.
Warp gates are the stationary version of structures that enable players to warp. Their rage is 8 systems (128 sectors), but that still can change if needed (available in config). They have a steady power cost on size, and also a one time cost per ship that passes through, which is based on the mass of the ship.
Once passed, your ship will take 2 seconds to warp up and then warp. Note that you can only jump to stations with an operational jump gate.
How to build and connect Warp Gates
Warp gates have to be build in a two-dimensional loop. That means, each block that is connected to the gate computer (place that one first) must exactly touch two other gate blocks. The simplest form is to build a flat square. The computer will give feedback if the gate is currently operational. Be sure to select the computer with 'C' as it also happened to me that I patched up a gate without connecting the blocks to the gate computer, and then wondering why it didn't go online.
Now that you have your gate, it's time to connect it. For that you will need need the new marker beam. It will be in your inventory as a fresh player, or you can ask an admin for it (/give_marker_weapon yourname). This new beam is not only going to be used with gates, it will be the main tool to use for inter-structure connection, which for example also comes in handy with the coming AI fleets, and more.
This marker beam has two firing modes: Right Click will mark a structure. In the case of warp gates you can shoot the gate station anywhere to mark it. Right clicking the marker beam in the inventory will not tell you that it has a marking saved. You can now shoot the marker beam on another gate to enter its destination. To do that you have to use Left Click on the gate computer you want to set the destination for. As a fast way to connect the other ons to this, you can then then shoot the gate with right click to overwrite the saved marking with that gate, go then through the now working gate, and enter the mark on the other gate. You now have both gates connected.
Kupu(tom) made the textures for all the new blocks and items.
Jump Drives are the portable version of structures that enable players to warp. You can put them on a ship, charge them up, and instantly travel up to 8 sectors (max distance is also in the config). The destination to jump can be influenced in two ways. Either you jump in the direction you were looking at when engaging the jump drive, or you can use a more precise method: entering a waypoint in the navigation panel will enable you to jump towards the waypoint no matter in which direction you look in. It even puts you directly at your waypoint sector if it is fewer than 8 sectors away.
Jump Drives can be placed like any other weapon or effect. They will appear in the weapon panel to put in the hotbar to use. Keep in mind that there is a sweet spot for jump Drive modules depending on ratio of total mass to jump drive modules. You can build them as small as you want, but they will take much longer to charge up. Placing more blocks than the sweet spot will make charging even faster, if you want to specifically build a jumping ship. But keep the power costs in mind. The statistics of where the sweet spot is are in the weapons panel if you click on the jump drive.
To charge, you have to hold the left mouse button in flight mode like shooting a weapon. After it is charged, you can press right click to jump. The mechanic to actively have to charge up the Jump Drive is in place to make it more dangerous to use in battle. The drive has a small cooldown after jumps (10sec at the moment).
But be warned. Changing the blocks on a jump drive will reset the charge immediately. The charge will also be reset if hit, so make sure you are save before starting to charge up (you can still of course do it while flying).
Save/Load Templates to paste
A new feature has been added to the advanced build mode. You can now save what you selected with "copy" and load it to paste any time you need it. The only restriction is, that you can't paste templates that exceed the mass build area dimension of the server you are playing on. These files can also be shared (located in StarMade/templates) to make toolboxes for any purpose.
Optimization for up to 50% more fps (depending on hardware)
Occlusion Culling was a technique I tried over and over to make work over the past 4 years. The problem is that it has a very narrow line of performance taken to gain performance. So a wrong design or a small mistake will cause it to not give any performance boost, or even lower the overall graphics performance.
Some graphics cards have not full support of this feature (even if they say they do by specification), so if you get any flickering, you can turn it off without having to shutdown the game in the in-game options. A one time message when starting the game will also provide this info.
Technical: Basically, occlusion culling is the technique to not draw parts of geometry that is behind other objects (occluded). What sounds easy informally, is one of the hardest problems to get working right. The first problem is, that at the time of draw, you don't know which objects are occluded without drawing them first. Draw too few, and the objects that would be normally occluded will be falsely drawn, draw too much, and there is no actual gain in performance, as you have already basically drawn it. The second problem is that graphics processing is happening in a pipeline and asynchronous, so the data is not actually there yet at the time the draw command returns. That means a lookup to check if an object is occluded forces the pipeline to a halt to have all the data flushed before being able to continue. And this of course means immense slowdown. The third problem is that occlusion culling require objects to be drawn front to back (else they objects wouldn't known to be occluded), and blended draw (for glass etc) requires back to front.
To combat the first two problems, there are two techniques used based on the same premise: "If one object was not visible in this frame, it's highly unlikely to be visible in the next". What is done is drawing all chunks that are known to be visible, then (very fast) bounding boxes are drawn for each chunk that may be visible or not. At the start of the next frame, the results of the query of the last frame are pulled to have no pipeline stall. The again, all possibly visible chunks are drawn based on the new result, and the rest as bounding boxes.
The 3rd problem is lucky already solved by design. StarMade sorts chunks threaded, and vertex storage is done in a way so non-opaque parts of chunks can be drawn separately.
Movement cancel (cancel rolling of big ships)
Pressing 'V' (but you also can assign it to the break button) will now cancel any mouse movement. This is especially handy for bigger ships, when you start to roll the ship and want to stop.
Storage blocks filters
Another big feature are storage block filters. The storage blocks now essentially work like factories, but have a distinct use case. You can make list of which blocks and how many of them to take each cycle from other storages. Just open up your storage block and click on filter. The blocks will be taken out of any block that is connected to this one with 'v'.
This way you can not only sort items after production or from looting, you can also split them up and direct them into a factory system to make exactly what you need.
Each storage block or factory can be turned on and off now. Please note, that factories placed in the old version had the default active state "false", which means you will have to switch those back on again. All newly placed factories or storage blocks are switched on by default though.
The whole system now also is fully logic capable, so you can connect storage/factories to activation modules to control your production and item sorting with the press of a button.
Oculus Rift support
StarMade now has full oculus support, including head tracking. It was an amazing experience to try out for the first time.
By fiddling with the way StarMade versions are built and deployed I was able to decrease the size of the main program to 5-7MB. That means, that unless there are more files to download (like in this update, as you have to download all the libs one time, as well as textures), an update will only be 5-7MB with the new launcher.
Launcher version 14
Downloadable from the main download list, the new launcher version is now fully deployed. Some bugfixes have been done based on the feedback from the tests. One new feature since v12 is that downloads will now be a lot more stable, as they can actively resume. As a test, I was able to resume downloading after disabling my network card for 30 seconds.
StarMade Server List
StarMade now has its own dynamic server list. You can now click on the server list button next to multiplayer and get an overview of all StarMade servers that choose to annouce themselves to the list.
For Server Admins:
Announcing to the Server List is just a few server.cfg parameters:
This is an example for the test server
ANNOUNCE_SERVER_TO_SERVERLIST = true //announces the server to the starmade server list
HOST_NAME_TO_ANNOUNCE_TO_SERVER_LIST = play.star-made.org //this must be a valid hostname (either ip or host, e.g. play.star-made.org)
SERVER_LIST_NAME = Official Test Server //max length 64 characters
SERVER_LIST_DESCRIPTION = Unlimited building //max length 128 characters
please make sure, that the host name is right. The server list server will check if there is indeed a real starmade server on the other side.
Port is set automatically by the running game server. You can also enter multiple instances from the same server that run on different ports.
The server will usually appear within a few moments of starting it with correct parameters.
The personal salvage beam now has a 25% chance to harvest an extra raw resource each harvested block. This setting can be of course modified in the config.
The personal power supply beam now provides a lot more power per hit to be a lot more usable in survival situations. Also the display bug of factories showing 500/100 has been fixed.
Calbiri is currently working on missing recipes as well as overall tweaking on the balance. It's now also possible to set the manufacture time of each block individually to allow for more balance options.
Lots of Bugfixes
There has been a lot of testing and a lot of fixes. Thanks especially to AndyP, der_scheme, gamesaucer, Lancake, Spaceking, testkil, and all the other testers! You guys are awesome!
Next updates will include more small features, as well as more work on the universe redesign and creature AI.
Thanks for playing StarMade,
here is another update full of bugfixes to long time annoying but also newer bugs, and some small features.
Shield Supply/Drain Beam
This new beam will work like the power drain/supply beam with the difference that instead of power, it will drain/supply shields. This is just a first version, and it might not be balanced yet, but that will be done as soon as possible.
New Moddable Tutorial System
When going into the main menu, there is now a new option "Tutorials" on the bottom, where you can select from a list of topics. These are at the moment mostly drafts as the most work went into making the system to externalize the tutorial system. The refinement, organization, and more of those tutorials will be done over time, as basically now anybody can make and change them. The data for them is in StarMade/data/tutorial, and itis based on a simple finite state machine.
The lag from entering a large ship the first time should now be gone.
Planet generation has been improved to look a lot better on the edges. The algorithm now adapts per distance to the edges gradually in itself (hard to explain without getting technical (basically the noise generation is smoothing itself).
This will lead to a lot less hard lined cliffs.
Not that that only planets that haven't generated yet are affected by the change. Planets you visited, or flew by in a one sector distance will not change until universe reset or deletion of the raw planet files individually.
Importing sectors with planets will now also finally work as intended. You will have to export the sector again though, as the exporting was flawed and didn't include the planet core.
A very annoying bug, that the players faces glitch through helmets is now also fixed.
Also, missile radii were calculated with a wrong base always causing small craters, which is now fixed. Additionally we now have the option to assign explosion absorption to the block stats. This means the block damage itself will still be based on hp and armor, but the overall damage the missiles goes on to do in a bigger radius is lessened. This option isn't in use for any blocks yet though, to not accidentally make something overpowered.
And lastly one extremely annoying bug for basically ever was that the build indicator in moving ships was flickering. This has now be finally fixed, too.
Here are the other bugs fixed. Resolved means, that they are not 100% confirmed to be fixed.
Thanks for playing StarMade,
after waiting and verifying for SSL signing the certificates are finally here, and I was able to sign the executables. That means upon starting, there should not be any malware warning, which happened because of missing certification.
I'm not raising the current minimum launcher version, so players using the old one will not get a message that a new one is out until public testing is done.
Both launchers should work at the same time.
Download them here (Please make backups just to be sure):
Here are the new features:
Download only differences in updates
When downlaoding a new version, the launcher will no longer download files that havent changed. This makes the base download slightly bigger (since it's no longer zipped), but regular patches will be as low as 30MB. We will further reduce that size by externalizing even more.
In the top menu there is now a new item for installation settings. You can either enter a relative path from where your launcher is (like it is now), or choose a fixed location. Also you can use this to switch between installations on the fly. The launcher will automatically scan the selected directory for an installation.
Also in the installation settings, you can now choose the branch of builds: Release (default and recommended), Pre, Dev, and Archive. Please note that if there is no entry for a branch (like pre, and archive currently), an error message will pop up. Leaving it as release is best at this point.
Dev versions are accessible now, but they will soon be exclusive usable by testers.
A new options button the main panel has been added. In this panel you can choose to go to any version and build of the branch you selected, so rolling back if your server is on an older version is no longer a hassle. The differences between the versions are of course downloaded here as well.
By selecting the latest version in the options, you can not repair a damaged installation (if the damage is not in the player database but the game files of course). It works like the steam file verification and re-downloads every file that became corrupted or changed. You can also choose to force re-download every file of the chosen version, which of course will take longer.
Better Download Statistics
The progress bars are now much more detailed giving you exact information of what the launcher is doing
Before every version change you now have the option to either backup every file, or only backup the player database, which can be a lot smaller for singleplayer worlds. You also of course have the option to not backup at all.
Finally the display of the latest news is fixed. Also there were quick links added to the most common StarMade resources.
For future fixes and updates on the launcher, the system now can update itself, which makes updating to a new launcher version just clicking one button. WARNING: since i didn't raise the minimum version yet, doing this option now will replace your new launcher with the old one
Please send any problems with the new launcher to either one of the testers (better for me to handle), or to my email.
A new version with a lot of bug fixes is on the way (thanks to all the testers!), and the planning for the new universes as well as ftl-related things is almost done, and implementation can begin probably next week.
Thanks for playing StarMade,
another hotfix patch is being uploaded now (available in about 15-30 min from this post). (Edit: Upload takes a little longer.)
- fixed rendering glitches (structures not or only partially drawn). I looked in to problems with intel, but in this case it wasn't intel at all. Due to the optimization in chunk lighting calculations, some raytrace counts selected in the options would cause the bug because of a rounding error. You can now also change the raytrace count ingame without having to restart
- Nacht ore blocks should now give you the correct raw ore when harvesting.
- As promised, I implemented a simpler dynamic lighting model for older graphics card to gain some fps (can be selected in the ingame options)
- Some more optimizations have been done to shaders to further gain some fps in the default lighting model
- New textures for new light blocks and new tinted glass have been added (Arwork from Tom(Kupu) of course).
Sorry about the inconveniences,
thanks for playing StarMade,