Alpha 4 released. Now with MULTIPLAYER!
Alpha 4 is out there and ready to go! Your game should auto-update soon if it hasn't already.
The main focus for this version has been on getting multiplayer working. You can now build together with other people and make contraptions together! Create or join a server and start building together. This is the very first version of it, so beat on it and let us know what you think and what you would like to see.
Kevin has been really deep into making a lot of base level float to integer calculation changes in the physics. This is an extremely in depth process, and he wasn't able to get it done in time for this build. This means that he hasn't been able to get any new parts in, but when it comes it will be a super awesome change. It will allow for super helpful features like cut & paste, and it will fix a number of remaining determinism issues so that contraptions will run consistently.
Here is a full list of all the changes and fixes. Many of the bug fixes seen here were for multiplayer builds that were not yet public, so you can ignore those.
This feature has been on our list for a long time, and it's so exciting to finally get version 1.0 out there. In this very first version of multiplayer, you can create or join a server and build cooperatively with people. This behaves almost exactly like the current "make" mode, but you can play together with up to 7 other people.
This is a very exciting first step. Sean and Keith put some amazing work into this over the last month, and their effort really shows. It may open up the door for future types of online play like puzzle solving or a versus mode. Join some friends, or build with fellow community members and let us know what you think!
Contraption Maker is now much less silent. New sounds have been added for the following parts:
- Solar panel
- Lawn mower motor
- Egg timer
- Anti-grav pad
- Balloon pop
- Egg break
- Fish bowl
- Mechanical trampoline
- Ray gun
A new winter themed set of holiday scenery has been added. Play around with snowballs, igloos, and candy canes.
- Auto-save backup: After you save a contraption for the first time in make mode, it will now auto-save every 60 seconds. If the game crashes, or you quit without saving, you will have a backup. When reloading a contraption, we check to see if there is a newer auto-save. If there is, you are given the option to load the new version, or your older saved version.
- Creatures: Adjustments have been made to Tim and his fellow animals. Waldo and Milton will now angle themselves with walls as they walk up them, creatures will now work correctly on conveyor belts, and Tim now has a faster running state that he can be set to. Some of these changes may affect how your contraptions with creatures behave, so be sure to check them out and make any adjustments needed.
- Official puzzle tweaks: Tweaks have been made to some of the official puzzles to remove some of the more crazy exploits.
- Text field improvements: You can now move around in text fields with the arrow keys. If you make a spelling error in the beginning of your puzzle description, you no longer have to delete everything in front of it.
- Do not send object move messages back to originating client.
- Display chat notification when chat window is under other windows
- Chat window can be minimize and closed
- Hide puzzle options when creating puzzle snapshot
- Show notification icon when chat message comes in and window is minimized or closed.
- Fixed crash when cloning scenery and a network update comes in
- TextField fix to do with children sprites in updateLabel()
- Fixed Arrow and various Symbol keys not working in TextFields on Windows
- Fixed text not wrapping past the X extents of a TextField. Fixed some sign mismatches. Fixed minor bug with the Down Arrow cursor when the line below was shorter than the current line and there was longer line below that one.
- Can now insert/delete text based on the cursor position inside of a TextField
- Remove existing move group with same id
- Delete move groups for client when it disconnects
- Show avatar name above avatar
- Send dropped message before sending new picked up message.
- Increase rate of part move updates
- Part move messages are sent
- Show objects currently being moved WIP
- Fixed several bugs related to animation panel.
- Fix initial object id generation bug
- Reconnect to master if the connection is lost
- Allow joinserver command to optionally specify port.
- Client now disconnects from master after connecting to game server.
- Fix crash when cloning scenery
- Only use networked options in level hash.
- Display level hash when stats are visible in multiplayer.
- New stat framework
- Make sure the right controller is always current when the active layer changes
- Display chat message when player leaves/joins.
- Set network dirty on opacity change.
- Recreate info sprites on part update
- Remember chat window position and size.
- Fix nextId calculation
- Disable caching (hopefully for real this time) on OSX
- Make sure we actually remove all windows! Could fix a memory leak
- Unregister with master server when shutting down server.
- Display screenshots for selected servers.
- Ignore selected part updated in the controller if the part/scenery layer is not active.
- Fix for extension cords not propagating dirty flag.
- Fix the clientExternalPort param.
- Fix JSON params
- Fix introduce command handling in server
- Clear server list when reloading.
- Show slots and builders in MP browser
- Update user list when users connect / disconnect.
- Get game working with new master server
- Chat button
- Slide options up when publishing
- Fix dialog control alignment.
- Max client in create server dialog
- Get list of friend ids from Steam to use when querying master server.
- Server passwords work.
- Interpolate avatar positions
- Do not disconnect until they leave Make mode
- Handle the case where a client disconnects and reconnects and gets the same id
- CRC code generation for ensuring MP consistency
- CMServerInfo object to encapsulate server settings.
- Finally found the memory corruption bug. Thank you OSX debug malloc.
- Animation refactor
- More animation refactoring
- Scenery refactor
- Set parts attached to a rope to dirty
- Select correct end of rope when reselecting the rope
- Fix for empty level id initialization.
- Generate starting object ids using the initial load
- Set document modified when text properties closes.
- Fix overlap check. Set network dirty flag for text.
- New server browser WIP
- Ability to now select attached Ropes or Belts that are connected to an a...
- Recheck overlaps after updating parts
- Compress game server traffic
- Ability to now select attached Ropes or Belts that are connected to an already selected part.
- Puzzle goals are networked.
- Reselect scenery after network updates. Transmit animation changes.
- Cloning,push back and forward work across network
- Use parts updated message for creation
- Scenery part creation propogates
- Scenery changes now are networked
- Make sure ids are generated for old layers / scenery objects.
- Object ids are unique per layer
- Show spinner while connecting to server
- Gray out background when showing a modal dialog.
- Block server updates while moving parts
- Create default sprite for unknown avatar.
- Timeout connecting to external IP, connect to internal IP
- Register internal IP with master.
- Send internal IP to master server.
- Pause updates while simulating.
- Fix initial id assignment bug.
- Resort parts by id when added / removed.
- Optimize avatar updates
- Client and server can communicate through NAT
- Object cloning works across clients
- Clients have non-overlapping id generators
- Abstract server source from server for future standalone server.
- Break network manager into client / server
- Electrical cord work.
- Recreate parts on update.
- Update avatar position 10 times a second