Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Ship Control

Build your ship. Tweak your ship. · By ThaiCat

Changelog Sticky

A topic by ThaiCat created May 15, 2016 Views: 598 Replies: 32
Viewing posts 21 to 33 of 33 · Previous page · First page

Version 0.32.2017-05-31(completely experimental)

fixed external ip detection

external ip detection is now performed in separate thread

broken object creation (completely) as result of major networking rework, see more in announcement (soon)


Version 0.33.2017-06-30 (still experimental, 3)

updated network backend

collision detection is now done on clients with authority over colliding object (This way it can be used in cases, in which server can not detect collisions properly. As disadvantage it provides less accurate results in the case when collision happens between objects with different authority.)

projectile hit detection now performed only for objects with corresponding client authority. (same advantages/disadvantages as above, plus significantly reduced server CPU load)

precalculated turret dead angles (reduced cpu load on server when shooting, uses some cpu time when building a ship)

particulary fixed block block creation

improved block destruction and removal, it now uses less traffic to sync results, and less time to calculate separated ship parts in total, but a bit more in one frame.

reduced network traffic for objects spawn in general, only data that is changed on spawn will be sent now instead of all networked variables, only 16 bits of data is used instead of 128 bits networkhash as a unique asset id now to spawn objects. (avg traffic reduction ~2x-3x for this specific case)

reduced network traffic for variables sync for objects with multiple QoS channels, only data that has to be sent on specific channel is sent, instead of duplicate data being sent on every QoS channel (avg traffic reduction ~1,5x-5x for this specific case)

minor fixes

Developer (1 edit)

Version 0.33.2017-07-24 (still experimental, 4)

fixed teleportation between sectors

skyboxes are now generated for each sector and saved on sector save

fixed movement sync for clients without authority

velocity and angular velocity are not being sent when movement sync occurs, in case they are not changed

player position no longer synced and only calculated locally

minor changes


Version 0.33.2017-07-29 (still experimental, 5)

changed sector save file format, new and old sector saves are no longer compatible

changed movement sync, it now uses global position instead of local sector position to sync position, this way it is independent from sector and sector position sync, and allows to keep position precise when objects are far from sector origin (it’s not the world origin, it’s different)

doubled amount of data sent to sync positions due to global position sync (192 bits instead of 96)

position and rotation no longer sent on spawn for all objects

sector coordinates only synced for sector objects now

fixed default collision state for client ships on server

authority assigned to player (not to his objects) can not change anymore until player reconnects now

fixed health bars being too long if health>max health

minor changes


Version 0.33.2017-08-09 (experimental-6)

4x times reduced amount of data sent to sync rotations (32 bits instead of 128), but when building no compression is used and all 128 bits of data is sent, to keep maximum precision when positioning blocks in ship

fixed ship energy settings sync regression caused by network backend update (now energy settings sync no longer uses old workarounds to sync variables from client to server via player object, so no additional data is sent at each and every parameter change, greatly reducing network traffic for this specific case)

turrets no longer sync their target position (this way each turret only sends 8 to 40 bits of data when turret behavior changed by player or turret target changes, instead of (8 to 40)+96 bits of data each time target changes position, avg traffic reduction for this specific case ~30x-100x times)

fixed turret incorrect sync regression

fixed projectile hit explosion particles and sound position sync

fixed ship save/load regression caused by network backend update

when saving a ship, ship design data will only be sent to player which requested it, instead of everyone

Engine particles state is now calculated on server regardless of authority and synced to all clients. Client with authority ignores this state and uses his own, as more up-to-date. This way client with authority no longer needs to send his state to the server.

minor changes


Version 0.34.2017-08-29 (experimental-7)

Changed collision detection algorithm for blocks being created, collisions are now determined using single physics update, instead of 2, and takes <0.02 seconds (old one took in between 0.02 and 0.04 seconds). Also new one provides much more reliable results and this should fix old bug with not being able to build new blocks in some cases.

Ship building now works with client authority, this means server no longer checks the data that client sends to it when building blocks and creates block instantly after the data is received. This way it works for ships those are very far from the server’s world origin (server could not calculate proper data for them). Amount of data sent is increased to let the server skip the checks and calculation of that data.

ship building is now in 3d space

added scaleable blocks

new inputs for movement system (added key to toggle ship stabilization, implemented 2 movement control schemes: using keyboard for steering, using mouse for steering) right now inputs are hardcoded and no visual feedback is provided to the player

minor changes


Version 0.34.2017-10-31 (experimental-8)

reworked controls configuration

Developer (1 edit)

Version 0.35.2017-12-23 (experimental-9)

updated inventory and chat code to use unet LLAPI instead of HLAPI to sync data over network (regression fix)

game will now generate very simple world map, based on visited sectors (server only, clients will have an empty map for now, i will fix it soon)

updated save/load code to store map data, compatibility with old saves is broken

forced system cursor when navigating in menus

minor internal fixes

Due to error in my network code reliable messages are not being properly enqueued, thus causing bugs with too many objects in the sector in multiplayer. It is recommended to set sector object count to “few” when creating new world for now for testing.


Version 0.35.2017-12-24 (experimental-10)

world map updates as soon as new sector is loaded now

fixed world map network sync


Version 0.35.2018-01-03 (experimental-11)

fixed shaking of grid and block being build

changed algorithm of resolving relationships between blocks in ship (in post within a day or 2)

blocks with mesh colliders removed from the build list

some blocks with compound colliders temporarily removed from the build list

scale of blocks now affects their health, mass, power, thrust.. etc.

minor internal fixes


Version 0.35.2018-01-12 (experimental-12)

implemented buffering for network messages, small network messages will be packed into one big network packet, reliable network messages will no longer be lost and will be buffered if needed.

Added station that does absolutely nothing in every sector at exact same position.

updated save algorithm, it now saves ships and stations including ownership and together with health and shield values for every block. Each player must have his own unique id set up in main game screen in order to be saved and loaded (id will be automatically generated and will not be saved if left empty).

minor internal fixes


Version 0.36.2018-02-22 (experimental-13)

implemented sector unloading

implemented network visibility system

changed player spawn order

world no longer needs to be moved locally while sector respawning

improved world movement algorithm

improved authority management, players only receive authority for objects withing their network visibility scope

improved movement sync, it no longer requires to load sectors first and is far less likely to bug out

removed unnecessary monobehavior method calls (mostly server side now)

asteroids and ships are the same thing internally now

asteroids now have multiple blocks but single mesh generated at runtime (right now server only)

particularly improved target selection

broken saving and loading

minor internal fixes and optimizations


Version 0.37.2018-03-31 (experimental-14)

Implemented mirror mode for building

implemented block painting

changed controls for building mode, system cursor is now always forced for building mode

changed sector generation algorithm, it generates save data in memory now instead of sector objects, then immediately loads it. It is very unlikely to get broken now with upcoming sector data generation changes.

changed save files format, they now use compression, compatibility with old save files is broken due to this

removed minimap & ship status windows, as they make no sense

minor bugfixes & changes

Viewing posts 21 to 33 of 33 · Previous page · First page