Today we’ve got another update for you as well as a sneak peak at what we’re working on for the next one!
Today’s update primarily consists of bug fixes for the Multiverse, but also a couple of new primitive objects for use in the level editor! For a full list of changes/fixes see the changelog at the bottom of this post.
Please note that a change has been made to variables which may break some logic setups. Starting a Variable dependent event that is already running will restart the event. This is intended and prevents a lot of problems that would otherwise occur.
We also wanted to take this opportunity to talk about the next update that we’re working on, which is currently available on the experimental steam branch. The next update will contain a set of advanced building tools, another heavily requested feature by the community!
This addition will bring several features allowing greater customization in the construction of your war machines and hopefully making the whole process quicker and easier. Including but not limited to; multiple block selection, block duplication, custom block rotation and much more!
Please note that the new construction features will not include the ability to scale blocks or machines, you will have to do this with a mod or manually within the machine’s .bsg file.
The advanced building tools are also disabled by default to avoid confusing newer players and can be turned on in the options menu.
We’re working on a few other features at the moment, which aren’t currently in the experimental build and may or may not make it into the next update. We’re not quite ready to talk about them yet so stay tuned for future posts!
That’s all for now folks but we’ll have more for you in the near future!
Cheers,
Von
PS: If you don’t know how to access the betas tab you can find out here: http://steamcommunity.com/games/346010/announcements/detail/1662260472464792763
Changelog V0.60.0-6878
ADDITIONAL CONTENT
Added Pyramid primitive object to level editor
Added Pyramid Corner primitive object to level editor
CHANGES
Added ability to toggle off texture of simple primitives
Changed AI behaviour tooltip text to be clearer
Default Scale for Primitives is increased to 4x
Starting a Variable dependent event that is already running will restart the event. This is intended and prevents a lot of problems that would otherwise occur. This will break some logic setups that are currently working.
Instant Transform now happens on the same frame as it is called.
Other players building sounds will now be affected by distance.
Fire avoidance option reimplemented for AI
FIXES
- Ipsilon brick can no longer be destroyed by rockets
- No Longer Possible to place blocks on simulation machine 1-N frames after exiting simulation
- Explosive Effects now scale accordingly.
- Fixed issue where scaled AI would not trigger behaviours correctly.
- Fixed issue where values setting position and scale got rounded off incorrectly
- Fixed case where copying a skin from one block type to another reset the block parameters
- Fixed bug where level title shadow would stay visible
- Fixed typo in piston block description
- Fixed problem with detecting whether the player is in menu after disconnecting.
- Fixed issue where uploaded machines did not retain their tags when updating them
- Fixed Inconsistency with copying old logic and new rebuild logic
- Fixed bug where copying a Trigger could cause the texture to mess up
- Fixed problem where Scaling tool's visual could break in some cases
- Fixed inconsistency when transforming deactivated objects
- Fixed case where resetting a BuildingBox's position would cause machines to intersect which would normally not.
- Fixed issue where resetting an objects that starts deactivated would make it active.
- Fixed problem where sometimes Setting a value in a TransformEvent would not display the change.
- Winch can now be burnt
- Changed a bunch of objects to scale uniformly to avoid collider deforming
- OnExit Trigger now correctly detects if a player respawns while inside it.
- Fixed case where blocks would not connect while the player or server experiences lag
- Fixed problem where the Repeat event would continue infinitely if count was set to uneven numbers.
- Fixed issue where transforming Wind would not move the area where the force was applied.
- Fixed thumbnails not showing on Mac
- Fixed bug where Extended Pistons would be folded upon machine load.
- Fixed NRE When AI would die in some situations.
- Fixed issue meaning Host/Client Machine could rotate itself when entering sim
- Fixed typo in Spring block mapper
- Fixed Small propellor not taking damage
- Small Rock object now has a collider
- Fixed bug where TransformEvent's would desync slowly (Faster if the Server had lag spikes)
- Guardian Column now properly scales
- Fixed NRE when stopping sim on machine when machine is destroyed
- Fixed issue where Fireball was not on fire for clients
- Fixed bug where AI arrows did not scale for the client
- Fixed bug where physics enabled objects, when reactivated, was not tracked on the client side.
- Fixed bug where Local transformation on wind did not have the intended effect
- Trigger Enter will no longer be triggered by static objects starting inside of them, Respawning won't cause triggers to run again.
- Fixed issue where Value would show 0.00 but was not actually changed.
- Galaxy texture now follows the player even if timescale is 0
- Fixed case where wind would apply force differently from above or below.
New Update Added to Experimental Branch For Testing
Hello Everyone!
Today we’d like to talk about our next update to Besiege and let you know that it is currently available on the Steam Experimental Branch.
The Experimental Branch update includes some more level editor objects to the ‘Primitives’ section, a pyramid and pyramid corner, but the primary purpose of this update is bring in another heap of bug fixes!
If you’d like to assist us with testing this update before it officially goes live you can do so by switching to the Besiege Experimental Branch in the Steam Betas tab.
Open your Steam Library and right click on Besiege, then select properties. Navigate to the “BETAS” tab and then select the experimental branch from the dropdown box.
You may need to verify your game files to get the game to update.
If you encounter any bugs or issues with the update please report them in this forum: http://steamcommunity.com/app/346010/discussions/5/
Cheers everyone!
Von
Update V0.6.0-6437 - Multiverse Bugfixes
Hello Everyone!
Today we’ve got a small update for you that fixes a few of the most common bugs that have appeared since the launch of the Multiverse last week, as well as some small UI improvements to help with navigation of the update’s features.
We’ve been absolutely amazed by the amount quantity of positive feedback we’ve had from the community since the launch. It’s wonderful to finally get to see you all playing about with the tools we’ve been developing these past months.
We know there’s still a lot of room for improvement and you can expect to see regular updates containing bug fixes and other improvements as development continues.
From myself and everyone on the development team, we’d like to thank you for your patience during the updates development and for the positive feedback we’ve received from you guys!
Thank you!
PS: If anyone is having a resolution error appear on launch or only gets a black screen when launching, you should try setting your game resolution manually in the game's launch options.
Right click on Besiege in your Steam library, properties, set launch options and input the following (changing the values to your desktop resolution): -h1920 -w1080
Changelog:
Changes:
- Added Arrows to Timeslider when FPS is low, indicating it should be reduced. (30fps)
Bug Fixes:
- Fixed issue T1177 Error caused by Rotating blocks in Sandbox
- Fixed issue T1176 When evaluating UseSelf, it shouldn't assume there are any targets
- Fixed issue T1175 TriggerActivate shouldn't be called on the clients
- Fixed issue T1174 Fixed BraceCode.RemoveBrace error
- Fixed issue T1167 Can not connect over IP but can over Steam invite
- Fixed issue T1169 Reset Event will not run in some cases.
- Fixed issue T1170 Sometimes players can't switch teams in playlist mode when machine modification is off
- Fixed issue T1171 Bounding boxes don't always fade correctly
- Fixed issue T1166 Low FPS caused by IPHostEntry errors (Mac)
- Fixed issue T1162 Translate (and Rotate) Machine is still available in Playlist mode if it was active before switching
- Fixed issue T1185 Joining players are visible, even if they enter the wrong password
- Fixed issue T1180 Move into buildzone arrow does not disappear when hovering over it while entering sim
- Fixed issue T1173 Hashtags in machine/level filename result in very odd behaviour
- Fixed issue T1172 Mirror tool visual breaks when pressing Alt
- Fixed issue T1158 Spelling Error In Server Management(edited)
- Fixed issue Fixed Machine, Level and Folder images not being shown correctly
- Fixed issue T1196 Physics Tiles break's to easily in MP
- Fixed issue T1207 Balloon strings are getting out of order
- Fixed issue T1203 Reload Player wont work if there is a wait event before it is activated.
- Fixed issue T1195 Zones 15 and 34 say Next Zone instead of Next Island
- Fixed issue T1194 Flags on campaign map have transparent backgrounds
- Fixed issue T1190 Triggers with 'hide visuals' off are still invisible in Playlist mode
- Fixed issue T1186 Red Tents in Zone 24 can't be destroyed with fire.
- Fixed issue T1187 Tents in Zone 9 can't be destroyed by fire.
- Fixed issue T1208 Some Blood stays visible
- Fixed issue T1191 Resetting AI after death doesn't initialize behaviour
- Fixed issue T1193 NPCs in Sandbox can't be set on fire or killed by arrows
- Fixed issue T1205 Joining another game while hosting causes occasional crash
- Fixed Mac crashing on startup
- Fixed nre from walls and wind.
- Fixed next zone button not working
- Fixed blood z-fighting
- Fixed case where rotating host machine sporadically would cause a slight desync in machine rotation
- Fixed OnDeactivate not running correctly in relation to wait and TransformEvents
Besiege Multiplayer and Level Editor Released!
Hello Everyone!
Today we’ve released Besiege’s biggest update, the Multiverse Alpha!
Put your war machines to the test and face off in custom battles against your friends, Co-operate to lay waste to your own custom fortresses and annihilate armies of unfortunate knights, and show off your creative genius in the new level editor!
https://www.youtube.com/watch?v=tTLPXPrNucs
The level editor is a powerful tool with a whole bunch of features that will allow you to create fun and interesting levels with your own custom objectives. We realize that it may be a little daunting at first glance so we’ve created an introductory guide for the editor which should hopefully help you get to grips with it: http://forum.spiderlinggames.co.uk/index.php?threads/introduction-to-the-level-editor.6467/
Developing the massive update to Besiege has proven a long journey but we’re pleased to finally be giving you guys a chance to sink your teeth into it! Besiege is very much still in an Alpha state so there are likely to be bugs but we’ll be working hard to fix them.
Thank you all for your patience during this process and we hope that it brings you many hours of fun!
Everyone here at Spiderling wishes you a Merry Christmas!
Join the Forums & Community Discord and find others to play with:
Forum - http://forum.spiderlinggames.co.uk/index.php
Discord - https://discord.gg/besiege
Check out these tips on how to get the most out of the Multiverse:
http://forum.spiderlinggames.co.uk/index.php?threads/getting-the-most-out-of-the-multiverse.6468/
Guide to Playing Multiplayer Without Steam:
http://forum.spiderlinggames.co.uk/index.php?threads/playing-multiplayer-without-steam.6469/
If you'd like to downgrade to the previous Besiege version to use mods, then you can do so by right clicking on Besiege in your library, going to properties, then the Beta tab and selecting "previousbuild" from the dropdown menu.
If you’re having trouble getting the update, try verifying your game cache or restarting Steam.
Multiverse Dev Blog 4 - 10/11/2017
Hello Everyone!
Today we’ve got another development blog for you but we also wanted to address the requests we’ve had to release the update early.
We understand that you guys are willing to put up with bugs in the game in order to play it before it’s finished, however the multiverse update still hasn't hit a point where we're happy with its quality enough to bring it into the public beta.
We deeply regret that we’ve not been able to hit our initial estimate and humbly ask for your continued patience.
In today’s devblog I wanted to talk more about how Multiplayer & the level editor will actually work in Besiege. Many of you have many different assumptions or ideas about how it will function, so I wanted to try and clear all that up so everyone knows what to expect. As part of this we're going to be taking a look at the level settings menu.
In addition to working on the Multiverse, we also have a couple of new Valfross levels on the back burner. No release estimation yet but we’ll keep you updated. But for now lets get into some more Multiverse stuff!
I thought the best way to present this post would be in FAQ format, so that the information is clearly divided and easily consumable! So, without further ado, here it is!
How do I play a game with my friends?
Besiege’s multiplayer will not have servers in the traditional sense, instead all players will be able to create their own multiplayer sessions, which other players can then join via IP address or through the Steam friends list.
The player that creates the multiplayer session is considered the Host and has access to additional options such as god powers, the ability to kick or ban players and the ability to turn off global simulation to ensure players can edit the level unhindered.
The Host’s computer handles all of the game’s physics calculations which means that other player’s computers are barely put under any strain at all. It is therefore wise to have the person with the best computer host the session.
What about performance in multiplayer?
Generally speaking if your host can normally handle 700 blocks in singleplayer then they should be able to handle 700 blocks spread across all players in a multiplayer session. Not per player, but 700 blocks total!
Mostly it is the Host who will experience lag at high block counts, but the players may notice odd desync behavior if the host is lagging.
Can you share levels on the workshop?
Yes!
Can I make a basket ball game in the level editor?
How will mods work with Multiplayer?
Unfortunately we do not currently offer official modding support for Besiege, so we can’t know exactly how mods will work with Multiplayer. However it is likely that, when the mod loader is updated to the new version of Besiege, if all players have the same mods installed they will likely function in multiplayer. (Please note that a lot of the game has been re-written in the multiverse update so it may take some time before the modders update the loader)
What’s the maximum allowed players?
At the moment the player limit is set to 8, which can be decreased if you so choose.
Can I sculpt/mould the terrain in the level editor?
Unfortunately you can’t sculpt or mould the terrain of levels at this time. We might explore this option later on and add it in a later update.
However, there are terrain objects which you can use to build terrain, like those used in the new sandbox level.
Can I use the Level Editor in Singleplayer?
The simple answer is Yes.
Although there is no specific Singleplayer version of the Level Editor, you can just create a private multiplayer session in order to use the editor. Creating a multiplayer session does NOT require access to the internet, so if you're away from the internet you can still use the editor.
Will there be a server Browser?
No, at least not on launch. Besiege’s multiplayer was designed with playing with your friends in mind more than playing with random players but this may be something we add to the game later on.
Will there be a dedicated server?
We have been working on a dedicated server mode for Besiege but to be honest we’re not expecting it to be very useful, the dedicated server has very similar performance requirements to the normal game. It is very CPU intensive and renting a server with a CPU good enough to run a multiplayer session will be very expensive.
Can I impose rules in my level?
Absolutely! There are a variety of options which can be saved to the level:
Can I limit or turn off blocks?
Yes! In the level editor you can disable specific blocks or limit specific blocks per player, for example allowing each player to use only one bomb on their machine.
You can also set a total block limit for each player to help with server performance or balance.
Can I make people use specific machines in my level?
Indeed you can! You can specify 1 or more machines which can be used with your level and all others are prevented. This option is designed for more strict PVP sessions or racing type levels.
Then upon joining the game players will be presented with the selection of machines you specified in the level options.
That's it for this dev blog, we hope that this answers some of your questions about the multiverse update!
Cheers everyone,
Von
Multiverse Dev Blog 3 - 05/10/2017
Hello Everyone!
Today we have some information about how the Multiverse’s development is going, as well as the next in our series of Dev blogs about the update!
Unfortunately, as you all know, we were unable to hit our original estimate for when the Multiverse update would be ready for release. We had planned to release near the end of September. The primary reason for not hitting our target is concerns over the quantity of bugs and stability issues which, we feel, would significantly impact your enjoyment of the game. Developing an efficient method to network hundreds of separate physics objects in a way that retains and improves the essence of the core game has proved a very difficult task. We’ve worked as hard as we can to create this system, and we’re still tweaking it.
We want to provide you with the best experience that the Multiverse can offer, but we feel releasing the update in its current state would be disappointing and frustrating for a lot of people.
A lot of you have requested information about when the update will now be released. Unfortunately, we can’t offer you a precise target at this time but we can tell you that our current estimation is late Q4, or worst case scenario Q1 of next year. Bug bashing has been going well, we’ve squashed more than 300 bugs in the past few weeks, but we still have a long way to go.
We’ll try to keep you regularly updated on our progress as things move forward, but for now we have another Dev Blog for you to check out.
In this blog post we’re going to be delving into the level editor’s logic system in a little more detail and giving you more of an idea how you might use it to create your own custom objectives or levels.
So let’s start off with the basics..
What is the logic system?
The logic system is used to make things happen in the level you are creating, whether that means opening a gate as you approach it or getting the “Level completed” effect as you destroy a specific object. It basically allows players to script events in the game without any programming or coding knowledge.
So how does it work?
The Logic System works very simply, first you create a Trigger and then you create an Event that occurs when the Trigger is activated, for example if an object is destroyed the level is completed.
The best way for me to explain how the logic system works is by showing you, so I’m going to run through a couple of examples here to explain how it all comes together!
Example One - Destroy The Village
I thought we’d start with the most basic example possible, one which features in Besiege’s First level, where the player must destroy some buildings to complete the level.
So first we need to design our level layout. Here's one I made earlier…
The goal of this level will be to destroy the 3 buildings in this peaceful farming hamlet. I will therefore need to edit each of the building’s logic to add progression towards completing the level when they’re destroyed.
Using the “Modify” tool in the Level Editor Panel, I select one of the buildings like and click the Logic tab.
As you can see, the house currently has no logic attached to it. I want a bit of the level’s progress bar to be filled up when this building is destroyed so I’ll need to add a Trigger with an Event attached to it. The Trigger will be the building being destroyed and the Event will be the Progression Bar partially filling up.
To add this logic to the object I start by clicking the “+ ADD EVENT TRIGGER” button.
This has now added a Trigger to the object and allows me to create one or more Events attached to said Trigger. Notice at the bottom I can also create more Triggers with their own events attached to them if I so wish.
Next, I need to decide the type of trigger I want to use for this bit of logic, the default one is “ON ACTIVATE” which isn’t what we need so I hover over it with my house and use the side arrows to cycle through until I get to the trigger I need “ON DESTROY”.
Now that I have the correct trigger selected I can add an event that will happen if the building is destroyed, so I click the “+ ADD EVENT” button and select “Increase Progress”.
If there was only one building in the level I would change the Increase Progress event to increase the bar by 100% but my level has 3 buildings and I want them all to be destroyed before the level can be completed, therefore I’ve set the progress to be 34% (To ensure we don’t get stuck at 99% progress) for destroying this house.
I then add the same logic to the other buildings in my level and I’m done! Now when the player destroys all the buildings in my village the level is completed!
Example Two - Destroy Opponent
This next example is for a multiplayer PVP battle between two players.
The Multiverse update has an optional damage system for machines which allows you to display health bars above machines and use logic to pronounce a winner of PVP Battles.
First I create two Build Zones. Next I’m going to assign each Build Zone to a specific team, one to the red team and the other to the green team. When a player selects a build zone (or is placed in one upon joining the server) they are automatically assigned to the team that Build Zone belongs to.
To assign the Build Zones to different teams I open select the MODIFY tool, from the level editor panel, and click on them. At the bottom of the newly opened window I can select the team which the Build Zone belongs to.
Once the Build Zones are assigned to different teams I need to add a bit of logic to them for my game mode to work. Under the Logic tab I create a new Trigger and set the type to ON MACHINE DAMAGE. This trigger’s event is activated when the machine from this Build Zone takes the specified amount of damage.
I’ve set the damage value to to be 50% rather than 100% because I feel requiring the player to destroy every single block and joint could be tedious. I feel if a machine has taken 50% damage it’s probably disabled enough to give the other player victory.
Next I need to add an event to this trigger. I want the event to be that the opposing player wins the game if this player’s machine takes 50% damage, so I will set the event to be INCREASE PROGRESS and set the value to be 100%
We also need to set which team should gain progression if the event is triggered. We do this by clicking the little person icon until its the colour we need, which is red for the green team's build zone and green for the red team's build zone.
Once I’ve applied this logic to both boundary boxes it should result in one player winning the game if their opponent takes 50% damage.
The logic system can be a very powerful tool for you to create complex levels with dynamic environments and interesting game modes. The examples given in this blog post are very basic but in the future I hope to give more advanced uses of the logic system to create game modes such as football or king of the hill, and intractable levels with traps or puzzles. The Logic editor is a powerful tool and we can’t wait to see what you guys create with it!
Unfortunately that concludes with Dev log, but don’t worry there will be more to come before the release of the update! The next blog will either feature a more advanced look at the logic editor or take a more general look at Multiplayer as a whole, explaining how it will all work and what you can expect when it’s released.
We’d just like to take this opportunity to thank you all once again for your patience and support as we work through the remaining Multiverse issues. We’re working hard to bring the update to you as soon as we can, but we are not comfortable releasing it until it meets a standard we’re confident you will enjoy.
Cheers,
Von
Important Multiverse Notice - 30/08/2017
Hello everyone!
Unfortunately we don’t have a full dev blog for you today, as we’ve been extremely busy lately, but we wanted to update you on how things are going and give you another peek at some of the stuff we’ve been working on.
First I wanna get some bad news out of the way. Unfortunately it's looking very doubtful that we will be ready to release when we had initially planned at the end of September. At this time its very difficult to say how long we will need to delay by, so we’re reluctant to set an exact date here, but we will be trying to keep you updated and we’ll let you know when we have a more solid idea. We realise this is upsetting news, we know you guys were really looking forward to playing it in a few weeks time, and we apologize for having to delay.
The reason we will be delaying the update’s release is primarily due to bug squashing, we really want the Multiverse update to be as robust as possible for you guys to enjoy! In that department we’ve made huge leaps and bounds, but there is still more work to be done before we’re happy to release it.
We deeply regret that the update won’t be finished in time as we’re really excited to get you guys playing and building, but we feel it’s important to make sure the experience is the best we can make it and isn’t overshadowed by instability and bugs. We are all working flat out to get everything finished asap and we’ll be sure to update you when we can.
Onto a brighter note; we have another sneak peek into the Multiverse update and some of the stuff we’ve been working on!
There will be some new additions to the game to complement the multiverse update, including some new level objects and a new environment to play in.
We’ve created a whole selection of tiles & objects for you to use when designing your levels, they were specifically designed to maximise their usability in creating large level environments for you and your friends to play around in.
I also thought I’d share with you a few examples of level types that the logic editor allows you to create. Please note that these are merely examples created by our team during playtesting and you should not expect to see these released with the update!
If you and your friends are more interested in structured gameplay or competitive objectives, rather than Besiege’s traditional more relaxed sandbox play, then the logic editor is the perfect tool for you! It allows you to create levels with objectives and games, of your own design.
For example, the screenshot below was taken from within a level designed as a kind of capture the ball type gamemode. Using the logic editor, we were able to create two opposing teams, each with their own iron ore ball. The objective being to steal the other team’s iron ore and bring it back to a collection point. Each time the enemy ore is collected, you can a point which brings you closer to winning the round.
Once one of the teams has retrieved a set number of ore, they are pronounced the victors and after a short delay, the level and scores reset!
Another possible game you can design is that with a ‘King of The Hill’ type objective, where teams gain points over time for being inside an insignia, like in the screenshot below.
The progression bar for each team slowly ticks up the longer they are in the insignia until one team reaches 100% and wins!
And just to finish things off I’ve put together a few gifs showing some of the new level objects we’ve added in.
I’m afraid that’s all for now, next time I’ll be bringing you a blog post about how the logic system works and delves into settings in a bit more detail.
We'd just like to appologise once again for the delay. Everyone here at Spiderling is working very hard to bring you the update as soon as possible but in the meantime, we really appreciate your ongoing patience.
Cheers,
Von
Multiverse Dev Blog 2 - 21/07/2017
Hello Everyone!
Today we’re bringing you the second in a series of development blogs about the Multiverse update! The last blog focused on Physics in Multiplayer, how that all works and what kind of performance you can expect to get out of it.
Today's blog however, will be part 1 of 2 blogs on Besiege's new level editor. The first part will focus on how you'll be able to create an environment, using the editor, and the second part will focus on creating game modes and interactive levels using our newly created logic system!
Please keep in mind that the Multiverse update is still in active development and anything shown here may be subject to change.
Besiege levels are created using a variety of game objects which are placed into the world and can then be edited, including; structures, foliage, NPCs & environmental effects. And for those of you wondering, we are in the process of creating assets specifically to be used in custom levels & multiplayer levels.
Besiege's level assets have been divided into several different categories, making it easier for you to find what you're looking for.
To place an asset into the level, you simply select it and then click somewhere in the level to place it. Once we have the object in the level, we can use the tools along the top of the editor panel to edit it.
First we have the Translate tool, which allows you to move a selected object around the environment. Then there's; the Rotate tool for rotation, the Scale tool for altering the object's size, the Mirror tool for moving objects in relation to one another, the Eraser for removing objects and the Modify tool for editing an object's properties.
The properties tool has different options depending on the object that you're editing. For example editing a wall allows you to dictate whether the wall works in a physics way and the amount of force required to destroy it. Turning off the physics option will cause the object to become static and not to break into physics pieces when it’s destroyed.
You can also use the Properties tool to switch between several variations of certain models.
Other objects such as the AI for example, have considerably more options, allowing you to change their behaviour, stats and even make them friendly to a specific team! Allowing AI vs AI combat!
In addition to the object tools we have some more general level editor tools as well, including; a paintbrush mode for placing lots of a particular type of object, a snap to grid option and a duplicate option which has the hotkey Ctrl + D.
By clicking the green pencil on the snap to grid button, you can edit the size of the grid you wish to use:
The paintbrush tool works by holding down mouse button one and then moving your cursor around. Objects are then periodically placed along the path of your mouse, with random rotations and scales.
Levels can be saved and loaded at will by any player in the server, these level files can be shared with other players and you will be able to upload and download them from the Steam workshop as well!
You can also customize the aesthetic environment for your level in the level settings menu, we’ll be talking more about the menu in the next dev blog.
And remember, at any time you can just start simulation and test your level, easy peasy!
Unfortunately that's it for this Dev blog, but be sure to tune into the next one where we'll talk about configuring your levels to have rules and we introduce you into the editor's logic system which allows for more complex and interesting levels & game modes!
Multiverse Dev Blog 1 - 19/05/2017
Hello everyone!
As I’m sure many of you are aware, last month we announced the Besiege Multiverse update, which will bring a Multiplayer game mode as well as a Multiplayer Level Editor.
Today I’m bringing you the first in a series of development blogs which will go into greater detail about the features of the Multiverse update and generally explaining how things will work!
We decided to focus on how Physics will work in Multiplayer for this first blog, as we’ve noticed it’s been a major point of query and concern amongst the community.
Anyway let’s just jump right into it.
Performance
In Besiege Multiplayer all the session’s physics is handled by the host’s computer which then communicates with the connected player’s computers telling them what is happening. This ensures a relatively smooth experience, with all war machine’s appearance & movements being synced together giving each connected player an accurate view of what's going on in the game.
Because all the physics is simulated on a single computer, you can expect to get a similar performance in multiplayer as you do in singleplayer. If your host’s computer can handle 500 blocks easily in singleplayer, then they can handle 500 blocks easily in a multiplayer session. Just to be clear, we’re talking 500 blocks total when all player’s machines are added together.
Another useful benefit of running all the game’s physics on one computer is that there is almost no performance load on the client player’s computers. This means that even if you have a low end computer, you can take part in multiplayer sessions containing as many blocks as the host can handle without experiencing poor performance!
We want to be abundantly clear here.
If the total block count of every player’s machines added together is too much for the host’s computer to handle, there will be performance drops. We have decided not to put a cap on the total allowed blocks, so it’s in the hands of the players to decide whether they want to load large elaborate machines into multiplayer.
During the course of multiplayer’s development we have tried several different ways of simulating accurate interactions between machines over a network and found the current method to be the best at balancing performance with accuracy.
Simulation
Besiege’s Multiplayer mode has two different types of physics simulation, Global and Local.
During Global simulation, all players can interact with each other's machines and the environment they’re playing in. In global simulation all the physics behind war machines and the level are run on the Host’s computer (aka the server).
Whilst Global simulation is active the level cannot be edited, but if a player is in local simulation, then the other players can continue editing the map.
Local simulation was created to allow players to test their machines without preventing other players from continuing to edit the level!
Local simulation (aka Ghost Mode) is where individual players simulate their machines independently from everyone else in the Multiplayer session. Players in Local simulation can still interact with the environment/level as it existed when they pressed the simulate button. During Local simulation all physics are simulated on the player’s computer and their machine is still visible to other players in a kind of ghostly form.
Clustering
One of the first hurdles we had to overcome when making Besiege multiplayer was the sheer volume of information that would have to be sent via networking to the host and other players.
The main way in which we overcame this problem was using an innovative clustering system which, without wanting to get too technical, allows blocks to be placed into groups in order to reduce the amount of information being sent to other players.
This system reduces lag between players and the host whilst providing an accurate view of simulated machines which is shared by all players without sync issues.
Under the in-game menu you can toggle on a visual representation of the cluster system and see how your war machine’s blocks are grouped into clusters. You can use this mode to help you design machines that are more efficient for use in multiplayer, as some methods of building work better with the cluster system than others, see below for examples.
That’s all for now but we’ll be bringing you more Dev blogs about the Multiverse update as we get closer to releasing it!
We also thought we'd include this live action reproduction of a typical Besiege multiplayer session:
EDIT: Just to remind people, we're aiming for release of the Multiverse update before the end of Q3 this year. (Around September)
Update 19, Version 0.45 & The Multiverse Announcement
Hello Everyone!
Today we’re bringing you Version 0.45 and the unveiling of an upcoming exciting new addition to the game, The Besiege Multiverse.
The Besiege Multiverse
The Multiverse is a combination of the Besiege community’s two most requested features; Multiplayer and a Level Editor. For the past year or so we’ve been working on not only bringing these features to life but, combining them in a unique way for your enjoyment!
https://www.youtube.com/watch?v=Dh_LXRF0myw
The Multiverse allows Besiegers to create multiplayer sessions of the game (Up to 8 Players) to build, battle and compete with their friends. Alongside this we’ve included a large set of tools, allowing players to not only create their own custom levels, game modes & objectives, but create them with their friends in real time. Furthermore, players can choose to play/simulate custom levels, while their friends are still working on them!
The Multiverse update is not yet ready but we are aiming to have it released by the end of Q3 of this year. As you can imagine there’s a lot of testing that needs doing to ensure your experience of these new features is as smooth as possible.
Over the coming weeks we will be releasing regular Dev Blogs, explaining the Multiverse features in greater detail and how it all works, as well as a collection of guides which will help you to get the most out of Multiplayer and the powerful new Editor Tools.
The price of Besiege will also be raised by $2 after the Multiverse update is released, inline with our early-access pricing plan. However if you already own the game you will not have to pay anything extra!
In addition to the exciting announcement above, we also have two new Valfross campaign levels for you to complete/mess around in and some bug fixes to the game.
The first being an abandoned mine constructed by the peoples of Valfross, ruled by the infamous Withered King, with the apparent purpose of extracting ore from the mountainside…
The second level contains one of the great fortresses of Valfross, its mighty towers surviving countless ages of ice and snow, and guarded by fearsome warriors...
In other development news the localization system is entering its final stages of testing and we’ll be hoping to release that very soon. As we previously announced, players will be able to upload custom translations to the workshop and it is our intention to implement the most used of those into the standard game. Work on the options menu is also continuing and we have some other exciting levels in the works which we’ll be talking about in the coming weeks.
Going forward it is our intention to release individual pieces of content as and when they’re ready, instead of grouping them into larger updates.
Well, that's all we have for you right now, we hope you enjoy the levels and share our excitement for the Multiverse update! Stay tuned for more information in the coming weeks.
Cheers,
Von
PS: Please note that each time an update is released, Spaar's modloader is broken and requires updating in order for mods to function again. Please be patient while Spaar updates his modloader and download the new version when he's done. Attempting to use an outdated version of the modloader will cause problems with the game.
We are sorry for any inconvenience caused.