Hints and Tips
This section covers some hints and tips. These are all based on my own personal experiences with the level editor and building some complex game mechanics.
- Always build logic with the grid – If the elements that make up your gates don’t slip and slide freely, it will break or jam. I tend to use a medium grid because everything stays a nice manageable size. Don’t forget, there is lots of room in levels and you can hide this stuff behind things. If you use medium grid, I tend to use pistons that expand from one cell to two cells. To achieve this, the minimum length is 2.5 and the maximum is 7.5. To place pistons when using medium grid, switch to small and the divisions are exactly half the size of medium.
- Always set pistons to stiff – Pistons that aren’t stiff may twist elements, resulting in a jam or a breakage. Set them to stiff and this won’t happen. There are exceptions… depending on the size of the item and its support, it may be necessary to set the pistons to flexible.
Keep it thin – Keep the logic elements thin (i.e. the thinnest you can make). If space is of the essence, keeping it thin allows you to have up to four layers.
Keep it thick – Don’t make logic elements thin. I’ve experienced all sorts of problems with my thin logic elements slipping around behind each other. Pistons move (even when set to stiff) resulting in jammed control logic.
- Make it from glass – Glass is slippy, allowing the mechanisms to move freely. Other materials seem to get stuck up on surface textures and such like.
- Don’t chain multiple pistons without support – By that I mean if you have combinational logic that requires you to chain multiple pistons together by way of intermediate blocks, ALWAYS support them with runners. One piston with a block on the end is fine, but if you attach another piston to that moving block and expect it to stay put… forget it… many hours I’ve wasted rebuilding courtesy of collapsed mechanics.
- Never copy and paste logic building blocks – The copy functions are great, BUT, if the item being copied includes pistons and such like, they can get broken/detached when the item is placed. Update:- I’ve been having some success with copy and paste, however, I’ve been copying and pasting whole items… not portions of them during construction.
- Emitted object positions sometimes get lost – I’ve experienced one or two issues with the positions of emitted objects being lost when you take a snap of the mechanism and then create an instance of the object from your goodie bag. So, be prepared to readjust any emitters if your design doesn’t work at first.
- Be careful with the glue – Things that you didn’t want to stick together can become glued to those around them. If you are having problems keeping things where you want them, you can ‘stick’ them in place with rods of dark matter. Simply make an anchor point on your item that can accomodate a single small grid size square or circle of dark matter and instantly suspend parts of your level in mid air.
- Be careful with detach – I’ve experienced some issues when detaching items… I glued an item to a backboard, then put a thin layer over the item and bolted it to the one glued to the backboard. I then detached the thin layer and the backboard fell off. Reattaching it wasn’t an option, so I had to resort to suspending the item with dark matter.
- Do NOT rely on the grid too much – I’ve been constructing some big levels and I’ve found that the grid can shift slightly meaning that components don’t line up or fit together properly… VERY annoying when you’re trying to avoid the ‘this object is becomming too complicated’ message by constructing in sections.
- Reduce ‘Maximum emitted’ settings – Wherever possible (and appropriate), always reduce the ‘Maximum emitted at one time’ setting for emitters. This will help keep the level cool, especially if they are churning out large items.
- Keep materials to a minimum – To help keep the level cool, try and keep the number of materials you are using to a minimum.
- Stick to simple geometry – Try and keep the geometry simple. By that I mean try and avoid using shapes that have a high corner count (such as circles). On one of my levels the thermometer was at bursting point, until I downgraded the geometry on some of the level elements. The effect was still the same, but it chopped a chunk off the temperature.
- Think right! – Ok, strange one this, but developing levels will be easier if you think right. Whilst developing a set of levels, frequently found myself thinking like a programmer… if I do this, then this, then I have to do that… DON’T THINK THAT WAY!!! You will easily create ALOT of heat with complex sequencing systems. Think about what you what to happen rather than when you want it to happen. I switched from using complex sequencing mechanisms to simple interactions… as an example, I had a glass shield that was in place to keep explosion debris out of part of the level… unfortunately I needed to move this shield out of the way when other things were happening… I started out controlling this directly… ‘set shield to retract… wait until it’s done… continue’. This added a lot of complexity as I needed to control it at various places. But all I needed it to do was get clear when another moving item got close. So, I simply stuck a switch to the back wall with dark matter and set it and the mechanism up such that it automatically retracted when the moving item got close. Problem solved and I was able to cut out some control logic with the consequence that the level temperature dropped. I found that I was able to clean up ALOT of control logic simply by thinking like this.
- Make resets easy – Sometimes, switching to play mode to test isn’t an option, so you will ultimately resort to testing in the editor. The only problem of course is that things will stay as they are left requiring you to go around and tweak it back to the starting position. So, make this job easy. Either build a ‘reset circuit’ into your level so you can just jump on a hidden switch, or make resetting easy so all you have to do is delete blocks. You might also like to consider adding some ‘debugging’ switches that can block things that make it difficult to complete the level, allowing you to quickly test it.