Hello and welcome to StarMade,
finally the next version is in a state to be tested in public. The milestone features are in and a lot of testing has already be done internally (thanks to my crew, arsat, andy, and all the other testers). Tom (Kupu) and Keaton(Omni) have done some amazing artwork for this update, and we are just at the beginning of all the new exciting things yet to come. The new textures by Kupu look amazing and even come in 3 different resoultions by default. Normal maps are provided for the realistic pack (must be turned on in the start-up options). The new player model from Omni comes with a lot of high quality animations
Please be especially careful with this pre-build if you plan to use it on a server, and even please make sure you backup your database before you use this build. Also please don't use this build to work on big projects, as i can't guarantee the data generated by the pre-build to be 100% error free, because a database migration has to be done from the old version.
You can download the build here: http://files.star-made.org/build/pre/starmade-build_20140202_162011.zip
(The username and password is "dev")
This version will be installed on play.star-made.org:4242 to test.
A full and formatted write-up will follow as soon as the build reaches release status. Here is the change-log:
- improved character physics (hopefully no more gliding through lifts)
- improved transformation pipeline in physics, so objects no longer fall out of other moving objects if bound (astronaut in gravity falling out of ship)
- changed universe rotation system to local rotation of planet sectors
- usernames now case insensitive (means, all variations of cases of the same name point to the same account [e.g. "Test", "test", "teSt" all point to the same player save-file, and have the same protection]. Same goes for white/black lists, as well as admins. It will be applied automatically, so admins won't have to rewrite any files) (needs further testing)
- fixed crash on recipe (number overflow)
- soft migration for block structure to allow for additional orientations. things get migrated as they are loaded, so no version compatibility issues will occur (unless a newly saved blueprint is loaded into an old starmade version). old->new: ok, new->old: not ok
- added penta shape
- added tetra shape
- added additional corners front/back
- added additional corners left/right
- implemented fast threaded AStar pathfinding in an abstract way to be usable in various parts of the game
- cleaned up orientation system (confusing bit of code) with migration
- spawn_entity command now works from console
- built system to automatically include all symmetry options for all new and old shapes
- astronauts can now align themselves with a ship by pressing the jump button. the alignment works just like in gravity without actual gravity
- improved block-orientation system to remember last selected for each block type
- optimized character physics further (100 characters on the same planet from 10 to >200 fps)
- fixed lighting not updating all surrounding segments when a block is added/removed
- complete redesign of mid level segment data-structure into a dynamic octree structure (on top of the existing low level octree)
- integrated new structure for more performance in memory, light calculation, physics, simple iteration, etc. (especially on structures with lots of empty space)
- fixed ugly little graphical glitch in planet atmosphere (white parts)
- fixed a memory leak that would fill up over a longer time (mostly on clients)
- fixed occlusion bug that would cause areas to be brighter when there is non-opaque objects near (flora, glass, etc)
- fixed bug that may have cause faction ids to be wrongly set on server restart
- fixed bug where case of the names of members in a faction would cause bugs when logged in with a different case
- implemented cascading shadow maps with zoom fitted frustum
- improved shadow quality and fixed some bugs in the system
- implemented shader preprocessor to efficiently handle options and backwards compatibility
- fixed bug from new system where single blocks are not updated on server
- fixed turrets not being controllable by players (in hotfix)
- fixed received a player buys (coarse/refine) will now refund credits instead of blocks if the recipe cost credits
- fixed command auto-complete
- added player name auto-complete to all command parameter as well as /pm and /f
- improved method to check on modified blueprints (hopefully won't misfire modification)
- fixed turret movement in chain docking
- turrets no longer reset rotation when entered (and flight mode is used)
- made restricted camera (turrets) homogeneous to be much easier to use for any advanced application
- turret rotation is now persistent (does not reset when turret get loaded after being unloaded)
- chain docked objects are no longer excluded from faction home base protection
- player movement speed in gravity now independent from look direction
- added key for player slow-walking in gravity (default left shift)
- implemented multiple texture packs chooser
- fixed graphical glitch where stars/sun would be visible through glass/water (or through any other transparent object) even when there is a solid block somewhere in the background
- fixed client turret glitching if rotation has been already modified by another client before the client enters a the sector containing the turret
- fixed docked structures becoming physical on client when the docking process was not completed yet (major lag)
- improved loading times of structures by setting initial sizes of maps from expected data (possible through new octree structure)
- improved blueprint loading time using a faster method to transfer block connection data
- improved general block-block physics collision performance
- debug mode no longer stays active when joining a multiplayer game after activating it on single player
- fixed faction offer/relation id's possibly colliding leading to random war/peace declarations (in hotfix)
- added error handling for texture packs (to check if all files are there and if they have the right resolution), so modders get good feedback
- added fixed helmet animation triggers
- fixed character getting stuck on ceiling when jumping
- implemented directional gravity blocks. Players can walk on walls/ceiling
- fixed new-block-transmission not generating segments other then 0,0,0
- further improved shadow quality (not quite there)
- fixed bug that caused clients to have a 5-10 second delay when adding/removing/harvesting blocks or open/closing doors (in hotfix)
- decreased network overhead by using pure primitives for buffers when applicable
- fixed background when using framebuffer only
- implemented signature fetching: clients request a map of what the server knows for sure at the time and the region file is going to be empty.
This decreases load times and network overhead because empty segments don't have to be processed in the segment-manager at all.
And thanks to the octree system, the update of empty segments takes 0 memory and is very fast
- fixed out-of-direct-memory danger for 32bit java when using texture arrays
- fished shadows of characters being falsely frustum culled
- fixed method of saving virtual memory (memory outside the heap). Out-Of-Memory crashes on 32bit systems should now be eliminated
- added auto-rotate camera (default key tilde)
- added gif recorder (default key 'pause'). Press once for record, and again for stop and finish gif. Gif will be placed in the starmade folder
- chain-docked objects now also in home-base protection (if origin is home-base)
- fixed faction home not resetting when removing faction block
- added info to track a faction home change (faction news) to track eventual bug causing faction home resets (made that already more robust already, also)
- redesigned AI panel
- added crew tab
- added fleet tab
- implemented crew AI control
- implemented fabricator animation control
- docking beam origin is now currently used cockpit
- fixed 6 sided gravity
- implemented fabricator to harvest blocks instead of being able to remove at once
- added scaling to bone implementation
- added rest of the new blocks to the config
- fixed bug that would cause brightness on blocks when a ship is exited when using shadows
- integrated Luaj libraries for full Lua support
- implemented Lua interface
- implemented new conversation system
- implemented system to create conversations with Lua
- implemented networked conversation
- fixed block modding tool not to crash when reflection reports non accessible field
- improved shadows to not "shine through" far away objects when close up to something else that normally should be shadowed from that far away object
- fixed some shader issues for mac-graphics card drivers
- added failsafe for path calculation to stop after a threshold is reached
- implemented normal maps
- fixed source of bugs: on unloading entities were triggered to save twice. one time for the sector unload, and one time on unload of the object itself. This was a source of various random bugs like Objects completely vanishing
- fixed characters controlled by players falling of moving objects when in gravity (or in sector change)
- implemented skin files
- implemented transmission for full skins
- removed lag from flying through open doors
- further improved physics performance with advanced lookup tables
- removed unnecessary non-scaling transformation from physics cube-cube collision process
- improved performance of single block-updates by a lot (building, salvaging, opening doors)
- reduced lag from load of missiles in one place by a lot
- improved AStar path finding to avoid turning if possible
- implemented basic path smoothing
- implemented settings sliders
- integrated sliders for advanced build mode
- advanced build mode size now saved by ship entered
- integrated sliders for weapon settings
- implemented OAuth2 test communication
- server config option for collision damage (damage and pyhsical response is not yet calculated perfectly, but fast block transmission to handle from physics works)
- minor physics optimizations
- fixed small synch problem with octrees (server didn't apply the data it sent to clients (marking a segment as empty), and since the clients had the data, empty segments where never requested and therefor checks if a segment has been loaded returned false on the server which sometimes lead to gravity not being applied
- fixed several chunk error sources
- fixed hidden flag not being updated correctly after docking process
- implemented message log
- implemented message log filters
- implemented message log fast chat (system will place /f for faction chat or "/pm name" automatically if chat is used in message log panel with the according filter selected
- fixed lag/bug on docked structures after the object has already loaded in, the server tells the client that the object is physics active
- fixed extension error in skin transmission
- implemented structure to handle unloaded AI entities for clients (in the future when a controlled entity e.g. fleet is not necessarily fully loaded and has to be simulated in the database)
- fixed pirates attacking the NPC character in shops
- redesigned AI crew Panel buttons and fixed functionality
- added AI settings
- implemented basic customizable AI behavior for NPC crew
- fixed bug where gravity block cannot be turned off
- explosion blocks (disintegrator) now cause chain reaction with each other
- explosion blocks (disintegrator) now explode on damage
- draw distance no longer an option (calculated over "max segments" now)
- navigation filter setting is now saved on the client
- fixed migration problem when a sprite style block was activated
- fixed bug where an object would be displayed from cache after spawning if before an object with the same name was deleted
- buying from catalog with blocks now includes value of docked ships
- if not enough blocks to buy from catalog, a list of total blocks needed will be sent to the player (using new chat-log panel to view)
- core can now be entered on the same ship if someone already is in the build block
- now skipping docked structures that are already occupied when up/down was pressed in flight mode
- fixed bug where would not be able to pick up core as astronaut
- fixed docking beam not resetting to core when cockpit changed to core
- auto-completion of player name not puts right case
- auto-completion of player name now works outside of commands
- docking on faction base with faction exception will no longer change faction of the docked ship
- fix for AI not firing on turrets
- fixed bug where cache would be considered newer even if object has been modified in absence
- fixed mass calculation in docking situations
- fixed build orientation arrow
- fixed bug where docking zone is not drawn in buildmode when the ship itself is docked
- fixed possible crash in shutdown
- fixed shield hit effect
- homebase protection now extends to all docked ships (e.g. if faction permission block was used)
- ship indicators of docked ships are now again displayed in structure (in build mode)
- fixed missile sector positioning for new system
- immensely decreased lag from loading in big structures with a lot of usable blocks (weapons etc) by first eliminating an unnecessary network transmission, using a better data structure in the grouping algorithm, and removing an inefficient exception
- changed faction_create to include name of initial member, and added faction_create_as to also include faction Id to create faction as (useful when importing sectors)
- fixed several bugs that might cause a crash of the lighting threads
- fixed synchronization bug that lead to crash or other glitches when re-requesting segments (missile battles)
- Turret/ship AI no longer engages targets in invisibility mode
- fixed freeze on faulty transformation orientation
- fixed narrow-octree invalidation by repeatedly removing the same position
- AI now shoots on turrets
- improved AI engagement behavior
- improved menu vs ingame activity behavior
- reorganized initial items a bit and added helmet
- fixed exploding block update not triggering
- fixed stations, because faction members weren't able to pick up blocks
- faction owned blocks can now be activated by docking beam of a ship without a faction signature, but being flown by the pilot of that faction
- fixed missile head graphics
- increased maximal number of missile trails
- further decreased lag from missiles
- improved long term performance of server by fixing a bug that could possibly prevent sector from unloading (even if players are no longer present)
- fixed clustering of shops (for newly generated sectors)
- implemented personal enemies of factions
- made personal enemies of factions consistent
- added GUI options for personal enemies of factions consistent. Editable if the rank of the faction member has permission to edit
- attack on hostile action now will add a non-faction-player to the personal enemies, and no longer consider all neutrals enemies
- fixed naming in AI dialog
- added option to rehire/discharge AI by dialog
- filled in some shop employee dialog
- implemented buttons light up on mouse over (used in dialog options to make navigation easier on the eyes)
- fixed AI exception (caused by another bugfix)
- not checking if all textures use the same color depths for a texture array (prevent texture glitches)
- used chance for migration to set all 3sided (e.g. grass patches) blocks as TOP orientation in preperation for them to be able to be rotated in any direction
- fixed texure bug for some graphics cards (mac)
- fixed possible server block service hang-up when placing autoconnected blocks like disintegrator (ty tominosama)
That's it so far.
Thank you for playing StarMade,
- schema
finally the next version is in a state to be tested in public. The milestone features are in and a lot of testing has already be done internally (thanks to my crew, arsat, andy, and all the other testers). Tom (Kupu) and Keaton(Omni) have done some amazing artwork for this update, and we are just at the beginning of all the new exciting things yet to come. The new textures by Kupu look amazing and even come in 3 different resoultions by default. Normal maps are provided for the realistic pack (must be turned on in the start-up options). The new player model from Omni comes with a lot of high quality animations
Please be especially careful with this pre-build if you plan to use it on a server, and even please make sure you backup your database before you use this build. Also please don't use this build to work on big projects, as i can't guarantee the data generated by the pre-build to be 100% error free, because a database migration has to be done from the old version.
You can download the build here: http://files.star-made.org/build/pre/starmade-build_20140202_162011.zip
(The username and password is "dev")
This version will be installed on play.star-made.org:4242 to test.
A full and formatted write-up will follow as soon as the build reaches release status. Here is the change-log:
- improved character physics (hopefully no more gliding through lifts)
- improved transformation pipeline in physics, so objects no longer fall out of other moving objects if bound (astronaut in gravity falling out of ship)
- changed universe rotation system to local rotation of planet sectors
- usernames now case insensitive (means, all variations of cases of the same name point to the same account [e.g. "Test", "test", "teSt" all point to the same player save-file, and have the same protection]. Same goes for white/black lists, as well as admins. It will be applied automatically, so admins won't have to rewrite any files) (needs further testing)
- fixed crash on recipe (number overflow)
- soft migration for block structure to allow for additional orientations. things get migrated as they are loaded, so no version compatibility issues will occur (unless a newly saved blueprint is loaded into an old starmade version). old->new: ok, new->old: not ok
- added penta shape
- added tetra shape
- added additional corners front/back
- added additional corners left/right
- implemented fast threaded AStar pathfinding in an abstract way to be usable in various parts of the game
- cleaned up orientation system (confusing bit of code) with migration
- spawn_entity command now works from console
- built system to automatically include all symmetry options for all new and old shapes
- astronauts can now align themselves with a ship by pressing the jump button. the alignment works just like in gravity without actual gravity
- improved block-orientation system to remember last selected for each block type
- optimized character physics further (100 characters on the same planet from 10 to >200 fps)
- fixed lighting not updating all surrounding segments when a block is added/removed
- complete redesign of mid level segment data-structure into a dynamic octree structure (on top of the existing low level octree)
- integrated new structure for more performance in memory, light calculation, physics, simple iteration, etc. (especially on structures with lots of empty space)
- fixed ugly little graphical glitch in planet atmosphere (white parts)
- fixed a memory leak that would fill up over a longer time (mostly on clients)
- fixed occlusion bug that would cause areas to be brighter when there is non-opaque objects near (flora, glass, etc)
- fixed bug that may have cause faction ids to be wrongly set on server restart
- fixed bug where case of the names of members in a faction would cause bugs when logged in with a different case
- implemented cascading shadow maps with zoom fitted frustum
- improved shadow quality and fixed some bugs in the system
- implemented shader preprocessor to efficiently handle options and backwards compatibility
- fixed bug from new system where single blocks are not updated on server
- fixed turrets not being controllable by players (in hotfix)
- fixed received a player buys (coarse/refine) will now refund credits instead of blocks if the recipe cost credits
- fixed command auto-complete
- added player name auto-complete to all command parameter as well as /pm and /f
- improved method to check on modified blueprints (hopefully won't misfire modification)
- fixed turret movement in chain docking
- turrets no longer reset rotation when entered (and flight mode is used)
- made restricted camera (turrets) homogeneous to be much easier to use for any advanced application
- turret rotation is now persistent (does not reset when turret get loaded after being unloaded)
- chain docked objects are no longer excluded from faction home base protection
- player movement speed in gravity now independent from look direction
- added key for player slow-walking in gravity (default left shift)
- implemented multiple texture packs chooser
- fixed graphical glitch where stars/sun would be visible through glass/water (or through any other transparent object) even when there is a solid block somewhere in the background
- fixed client turret glitching if rotation has been already modified by another client before the client enters a the sector containing the turret
- fixed docked structures becoming physical on client when the docking process was not completed yet (major lag)
- improved loading times of structures by setting initial sizes of maps from expected data (possible through new octree structure)
- improved blueprint loading time using a faster method to transfer block connection data
- improved general block-block physics collision performance
- debug mode no longer stays active when joining a multiplayer game after activating it on single player
- fixed faction offer/relation id's possibly colliding leading to random war/peace declarations (in hotfix)
- added error handling for texture packs (to check if all files are there and if they have the right resolution), so modders get good feedback
- added fixed helmet animation triggers
- fixed character getting stuck on ceiling when jumping
- implemented directional gravity blocks. Players can walk on walls/ceiling
- fixed new-block-transmission not generating segments other then 0,0,0
- further improved shadow quality (not quite there)
- fixed bug that caused clients to have a 5-10 second delay when adding/removing/harvesting blocks or open/closing doors (in hotfix)
- decreased network overhead by using pure primitives for buffers when applicable
- fixed background when using framebuffer only
- implemented signature fetching: clients request a map of what the server knows for sure at the time and the region file is going to be empty.
This decreases load times and network overhead because empty segments don't have to be processed in the segment-manager at all.
And thanks to the octree system, the update of empty segments takes 0 memory and is very fast
- fixed out-of-direct-memory danger for 32bit java when using texture arrays
- fished shadows of characters being falsely frustum culled
- fixed method of saving virtual memory (memory outside the heap). Out-Of-Memory crashes on 32bit systems should now be eliminated
- added auto-rotate camera (default key tilde)
- added gif recorder (default key 'pause'). Press once for record, and again for stop and finish gif. Gif will be placed in the starmade folder
- chain-docked objects now also in home-base protection (if origin is home-base)
- fixed faction home not resetting when removing faction block
- added info to track a faction home change (faction news) to track eventual bug causing faction home resets (made that already more robust already, also)
- redesigned AI panel
- added crew tab
- added fleet tab
- implemented crew AI control
- implemented fabricator animation control
- docking beam origin is now currently used cockpit
- fixed 6 sided gravity
- implemented fabricator to harvest blocks instead of being able to remove at once
- added scaling to bone implementation
- added rest of the new blocks to the config
- fixed bug that would cause brightness on blocks when a ship is exited when using shadows
- integrated Luaj libraries for full Lua support
- implemented Lua interface
- implemented new conversation system
- implemented system to create conversations with Lua
- implemented networked conversation
- fixed block modding tool not to crash when reflection reports non accessible field
- improved shadows to not "shine through" far away objects when close up to something else that normally should be shadowed from that far away object
- fixed some shader issues for mac-graphics card drivers
- added failsafe for path calculation to stop after a threshold is reached
- implemented normal maps
- fixed source of bugs: on unloading entities were triggered to save twice. one time for the sector unload, and one time on unload of the object itself. This was a source of various random bugs like Objects completely vanishing
- fixed characters controlled by players falling of moving objects when in gravity (or in sector change)
- implemented skin files
- implemented transmission for full skins
- removed lag from flying through open doors
- further improved physics performance with advanced lookup tables
- removed unnecessary non-scaling transformation from physics cube-cube collision process
- improved performance of single block-updates by a lot (building, salvaging, opening doors)
- reduced lag from load of missiles in one place by a lot
- improved AStar path finding to avoid turning if possible
- implemented basic path smoothing
- implemented settings sliders
- integrated sliders for advanced build mode
- advanced build mode size now saved by ship entered
- integrated sliders for weapon settings
- implemented OAuth2 test communication
- server config option for collision damage (damage and pyhsical response is not yet calculated perfectly, but fast block transmission to handle from physics works)
- minor physics optimizations
- fixed small synch problem with octrees (server didn't apply the data it sent to clients (marking a segment as empty), and since the clients had the data, empty segments where never requested and therefor checks if a segment has been loaded returned false on the server which sometimes lead to gravity not being applied
- fixed several chunk error sources
- fixed hidden flag not being updated correctly after docking process
- implemented message log
- implemented message log filters
- implemented message log fast chat (system will place /f for faction chat or "/pm name" automatically if chat is used in message log panel with the according filter selected
- fixed lag/bug on docked structures after the object has already loaded in, the server tells the client that the object is physics active
- fixed extension error in skin transmission
- implemented structure to handle unloaded AI entities for clients (in the future when a controlled entity e.g. fleet is not necessarily fully loaded and has to be simulated in the database)
- fixed pirates attacking the NPC character in shops
- redesigned AI crew Panel buttons and fixed functionality
- added AI settings
- implemented basic customizable AI behavior for NPC crew
- fixed bug where gravity block cannot be turned off
- explosion blocks (disintegrator) now cause chain reaction with each other
- explosion blocks (disintegrator) now explode on damage
- draw distance no longer an option (calculated over "max segments" now)
- navigation filter setting is now saved on the client
- fixed migration problem when a sprite style block was activated
- fixed bug where an object would be displayed from cache after spawning if before an object with the same name was deleted
- buying from catalog with blocks now includes value of docked ships
- if not enough blocks to buy from catalog, a list of total blocks needed will be sent to the player (using new chat-log panel to view)
- core can now be entered on the same ship if someone already is in the build block
- now skipping docked structures that are already occupied when up/down was pressed in flight mode
- fixed bug where would not be able to pick up core as astronaut
- fixed docking beam not resetting to core when cockpit changed to core
- auto-completion of player name not puts right case
- auto-completion of player name now works outside of commands
- docking on faction base with faction exception will no longer change faction of the docked ship
- fix for AI not firing on turrets
- fixed bug where cache would be considered newer even if object has been modified in absence
- fixed mass calculation in docking situations
- fixed build orientation arrow
- fixed bug where docking zone is not drawn in buildmode when the ship itself is docked
- fixed possible crash in shutdown
- fixed shield hit effect
- homebase protection now extends to all docked ships (e.g. if faction permission block was used)
- ship indicators of docked ships are now again displayed in structure (in build mode)
- fixed missile sector positioning for new system
- immensely decreased lag from loading in big structures with a lot of usable blocks (weapons etc) by first eliminating an unnecessary network transmission, using a better data structure in the grouping algorithm, and removing an inefficient exception
- changed faction_create to include name of initial member, and added faction_create_as to also include faction Id to create faction as (useful when importing sectors)
- fixed several bugs that might cause a crash of the lighting threads
- fixed synchronization bug that lead to crash or other glitches when re-requesting segments (missile battles)
- Turret/ship AI no longer engages targets in invisibility mode
- fixed freeze on faulty transformation orientation
- fixed narrow-octree invalidation by repeatedly removing the same position
- AI now shoots on turrets
- improved AI engagement behavior
- improved menu vs ingame activity behavior
- reorganized initial items a bit and added helmet
- fixed exploding block update not triggering
- fixed stations, because faction members weren't able to pick up blocks
- faction owned blocks can now be activated by docking beam of a ship without a faction signature, but being flown by the pilot of that faction
- fixed missile head graphics
- increased maximal number of missile trails
- further decreased lag from missiles
- improved long term performance of server by fixing a bug that could possibly prevent sector from unloading (even if players are no longer present)
- fixed clustering of shops (for newly generated sectors)
- implemented personal enemies of factions
- made personal enemies of factions consistent
- added GUI options for personal enemies of factions consistent. Editable if the rank of the faction member has permission to edit
- attack on hostile action now will add a non-faction-player to the personal enemies, and no longer consider all neutrals enemies
- fixed naming in AI dialog
- added option to rehire/discharge AI by dialog
- filled in some shop employee dialog
- implemented buttons light up on mouse over (used in dialog options to make navigation easier on the eyes)
- fixed AI exception (caused by another bugfix)
- not checking if all textures use the same color depths for a texture array (prevent texture glitches)
- used chance for migration to set all 3sided (e.g. grass patches) blocks as TOP orientation in preperation for them to be able to be rotated in any direction
- fixed texure bug for some graphics cards (mac)
- fixed possible server block service hang-up when placing autoconnected blocks like disintegrator (ty tominosama)
That's it so far.
Thank you for playing StarMade,
- schema