Modular Destruction Labs - Developer Review
<- Back to blog | Posted on 22 August 2017 by Adam Summerton
Modular Destruction Labs was our entry for Ludum Dare 39. This is our post-mortem, which we like to do as an online developer chat (rather than a long essay). You can play the game here on our website, or over at itch.io here. The Ludum Dare entry page can be found here.
The game was a physics-based robot builder, the idea was to build a robot from various modules and try to navigate to the end of the level. All three of us worked on it in some capacity, and everything was made over the 3-day weekend. Our responsibilities this time were:
Edge: Designed & programmed the game, wrote the music & created SFX
James: Character artwork and animation, plus the majority of level design
Adam D: Environmental art, tilesets and UI
Our post mortem chat is below…
Edge: Hi Team, ready to talk about Modular Destruction Labs? I have managed to forget the format we use for these post mortem chats, so feel free to start somewhere
Adam D: I didn't do a whole lot so I'll let you guys start
Edge: Perhaps the initial idea to begin?
Adam D: Sure
Edge: I think I was happy when we first started, but it didn't end up exactly as I pictured it. It started out as a competition game, the idea being that the world was running out of power, so the governments of Earth held a competition to design the most energy efficient robots. Is that what you guys thought the idea was? Not sure I communicated it that well
Adam D: I think it's a fun idea, quite different from anything we've done previously. We've not done anything physics based before, I kind of imagined it like that when we started.
Edge: The physics was the main point in my head, like there would be assault courses and each country would have to navigate them with their crazy physics robot
James: Not sue about the competition thing, I guess I thought building the a fun robot should be the main focus
Adam D: That seemed like the core mechanic
Edge: I suppose the competition was a bit of a conceit, it was a reason for the player to be building robots and navigating assault courses. That was a big link to the theme too, but it got lost
James: At the time I thought time it seemed a bit complicated and we didn't need such an involved story.
Adam D: Yeah, I think it ended up quirky enough that the reasons why the player is building the robot become secondary, it's most just for crazy robot fun
Edge: It was fine, but I do sort of miss the competition element of it. I could see a lot of ways it could make it funny and endearing. I do concede that we could never have really done that idea justice in a weekend. Maybe one for the future if we ever return to this idea. Also when it transitioned to a lab environment, it meant we could have scientists to knock over, which was great fun
James: We would never have had the time to do anything with the story, we barely finished as it was
Edge: Yes we definitely cut it fine this time. We did completely finish it though, with 7 whole levels!
James: I wish we'd had more time to do the levels actually. Seeing other people play them I resized how many things were wrong with them, but we can talk about that later
Adam D: It reminds me of all the good physics based building and control games. Like Besiege and QWOP, which is good. The control difficulty becomes part of the enjoyment
James: It definitely reminded me of QWOP, I think someone said Octodad as well.
Edge: The game had 2 main stages, which was building the robot and flying it. Let's talk about building first
James: I think the building is a nice element of the game but the way the modules behave and can be placed is restricted and heavily influenced by not being able to have any fixed modules.
Adam D: Building things is pretty intuitive, it would've benefited from a few little UI improvements such as being able to drag and drop blocks that had already been placed but I know there wasn't time for that.
Edge: Well I had a few aims for this, which achieved varying levels of success. One of the fails was the dragging of existing blocks. I also meant to make right-click delete block. I meant it so much that I actually thought I'd already done it, so when someone mentioned in the comments that it should have worked like that I did have a little cry
Adam D: Little things like that just slip through the gaps in game jam time limits, it's understandable.
James: We could have done a lot of improvements but just no time.
Edge: The main focus for me was that dragging and dropping should just work, and that testing the robot should be instant. I spent quite a while focused on that but I was really pleased with that side of it. It was pretty seamless from designing to flying
James: Yep, that worked really well.
Edge: I was pleased with the UI for that part of the game too, having those screens display controls during testing worked really well. But I suppose we should talk about the single biggest complaint from players...
James: Which was?
Edge: That when you placed the blocks, they should stay where they are and be fixed to the main body. Whereas I did it so they were joined by a power line and sort of swung around the body
James: Didn't we plan on having them fixed, that's what I thought would happen at the start?
Adam D: Yeah I think it would have felt more natural if they had been fixed but I don't think it was feasible, it would've taken too long to figure out the right joints.
James: When we started I thought the modules would be fixed so I stated drawing wheels and solid connecting parts
Edge: The thing is I actually wasn't really trying to do them fixed, basically from the start I was doing them as attached with ropes. I thought it would make for a sillier and therefore funnier experience
Adam D: Yeah I think it feels unusual, it's still fun but I guess it doesn't feel very robot-like.
James: I thought we had to change the plan because we couldn't get Construct to do it?
Edge: I guess I didn't communicate that very well, because about half way though you guys asked about them being fixed and I tried to change it in a panic, that's when I realised it could cause trouble
James: I was actually really disappointed they weren't fixed
Edge: Well you sort of made that clear, so I tried to change it. But then I discovered it would be much harder, as I would essentially have to do a bitwise calculation to figure out which other blocks were around the one you placed, like auto-tiling. Then the movement would have to be calculated based on which tiles were where. I basically had a panic attack and then suggested we would have to leave it as it was
Adam D: You would have had to get it to treat it like one big physical object, and apply forces from the particular blocks. It would have led to some technical issues, neither of us have enough experience with the Construct physics to solve those in the time limit. So I do think that it was ultimately a wise choice, even if it was a bit of an unusual surprise.
James: I like it a lot more now and I think the controls are silly but fun, but at the time I was a bit surprised.
Edge: I do really like the spinning madness that those joins create, it makes it feel quite chaotic, but I would have liked to do fixed parts. In hindsight a combination of both would have been ideal, so ropes or chains should have been one of the options. That would have made building more fun, but I don't think was achievable in a weekend (at least not for my first attempt at it)
Adam D: Yes being able to specify different types of joints might have been interesting, but difficult to implement.
James: I think some modules are definitely better being chaotic and moving around. Maybe just boosters fixed or something
Edge: I know we don't have a lot of free time, so we may never come back to this, but if we did something similar on a larger scale I would go for fixed blocks with some ropes. I'd also implement the feature I missed, which was fully customisable key mapping. I was such an optimistic fool to think I could do all of that in a weekend
James: Some comments said that keeping the robot instead of rebuilding all the time would have been better.
Edge: Oh wow yes I agree with that, just another time thing
Adam D: It's nice in besiege where you can place blocks and customise the key presses within the editor itself.
Edge: All great ideas for a post-compo version, but probably sensibly dropped
James: Yep, we couldn't have done them anyway in the time
Edge: So what about the actual flying of the robot, we already mentioned that level design could have been better
James: Yep, some of the levels could have been better. Watching the Scrapman guy on YouTube made me want to redo them all.
Edge: I think the combination of modules we chose did actually give a decent mix of abilities that allowed for some potentially really interesting levels. It would have been great to plan 2 or 3 different ways to complete each level using various tools. As it was you could basically get through all of them with just booster, rocket, magnet
Adam D: In a physics based game where you build the object you are controlling, it is always going to be very difficult to predict how people will play and what they will build. So designing levels I imagine takes on a new complexity.
James: We just didn't have time to test and balance, once the levels were built that was it basically.
Edge: I think we should acknowledge that they are pretty good considering how little time we had. They do offer a few challenges that make you think about that modules to install
Adam D: Definitely, I had fun with it. It's easy to be a bit over critical.
Edge: It's crazy how unpredictable physics is, that one level where you need a shrink ray to get the metal box through the gap - the guy on YouTube just accidentally threw a full size box at the right angle to fall through. I was watching it with my mouth open, like what are the odds?
James: I know and I didn't even think anyone would try going through those moving blocks without a booster but he did and he did it easily.
Edge: Good job it worked I guess. I mean we knew it would work because we thoroughly tested every level right? That is definitely a thing we did right?
James: I think you may have been hallucinating at that point
Edge: I did have some issues during this jam actually, I was in a strange place during the late nights
James: Stranger than normal?
Edge: Yeah I was quite anxious for some reason. I didn't drink anything, but perhaps I should have hit the Gin to calm the nerves. actually this is sounding like an intervention now. I'm broadly fine
James: Maybe Gin isn't the answer for that state of mind.
Adam D: It is pretty stressful, I always find the late nights difficult. Gin is never the answer.
Edge: I hold the exact opposite opinion
Adam D: Well it probably would've made you feel better but productivity may have dropped.
Edge: Anyway, I think the only other thing I would have changed on the gameplay is the various physics properties of the objects. I mean the weight/mass of the modules, the strength of the boosters, the strength of the magnet, that sort of thing. Some of it could have felt a bit more natural, again that was just a time thing
James: I said during the jam we should reduce range of magnet but we forgot to do it. Also we made the energy go down really slow so we could test and make levels and we didn't turn it back up. Maybe it's a little too easy
Edge: I did have the magnet at a lower power level to start with, but it was just too hard to move boxes. Think I went too far the other way, but with the physics behaviours there are so many variables and interactions that a lot more testing would have been needed. Also on the power, I agree it should have been a little harder. I didn't want it to be a really time-pressured thing, but I was too lenient and the power bar felt a bit superfluous
Adam D: Tweaking variables on a game so unpredictable would take too long, definitely best to go with something a bit more chaotic.
Edge: But yet again we tried hard to build a game around the theme, and it just ended up looking like we'd tacked the theme on at the end. Not sure why that always happens
Adam D: Sometimes we get it pretty spot on. I just think we end up going on what feels more fun, rather than worrying about sticking closely to the theme.
Edge: Maybe that's for the best. One day I'd like to go all-out on theme though, one day...
James: I don't know, I think we had the theme in mind from the start
Adam D: We've come pretty close on a couple of them and got high theme scores. It all depends on the initial ideas I think.
Edge: Yeah I guess you can't force it
Adam D: I don't think it feels tacked on here, but it's just that the theme is very broad and we've implemented it in quite a straightforward way. It's the mechanics that are fun and interesting here, rather than the take on the theme.
Edge: It's a shame some of the players didn't see it the way we do, but that's fine, my conscience is clear. Anyway, on to... Graphics!
James: I was pleased with the graphics. Your tilesets and decorations were great Adam. Were you please with them?
Adam D: Thanks James, I did like the look of it. I thought the colours worked well and the robots were cool. There wasn't anything unusual for me, same old environmental pixel art. It was good though because I didn't have much time. Thought it might have looked a touch better if the scaling/sampling of graphics hadn't been smoothed out slightly, if it had been more pixelated. Overall I was happy though.
Edge: I tried a few different scaling methods, without the smoothing the movement of the robot was sometimes quite jerky
Adam D: I see, yeah probably for the best then if it didn't feel right gameplay wise. It was just a minor thing anyway.
Edge: I think from my point of view the only thing I wasn't sure about was the green background. It didn't clash or anything, just that most of the game looked very green. Perhaps that was good though as a very busy background could have detracted from the gameplay
James: I didn't mind that, I think the colour worked OK
Edge: It just made it all felt quite industrial or utilitarian, again this probably suits the game
Adam D: Yeah perhaps going with a different colour palette might have been nice. We picked the NES colour palette again which is limited, it's an interesting challenge and makes for quite vibrant games though.
James: I like using that sometimes instead of a more limited palette.
Edge: The windows were cool, I kind of wanted to see what the world was like outside
James: Maybe we should have done the robot escaping into the outside world at the end.
Adam D: Yeah I thought that actually making a background graphic, and seeing through the tiles would be cool but just a lot more difficult to implement.
Edge: The robot did have a little personality actually, it was good considering each one was built differently. The scientists were also cool
James: I wish I had added some animation to the bodies but just didn't have chance
Adam D: Yeah I really liked them, the scientists were great.
James: Again I wish i could have done them reacting to things.
Edge: Well I liked the thumbs up guy, always reacting with a thumbs up
James: It does add to the ridiculousness of it
Edge: I set all the limbs to rotate except for that one. I spent quite a while on that. Also on making sure you could shrink each individual limb of every scientist
James: I didn't know about shrinking limbs till after we had finished the game.
Adam D: The shrinking of individual limbs is fantastic, that was a surprise to me too.
James: It was a nice touch
Edge: So on to the audio then
James: I think you started the audio later then normal didn't you?
Edge: Yes this was the latest I have ever started, hardly had any time. I started 4 different tracks and didn't really like them. I did feel a moment of genuine panic after I abandoned the fourth one. I thought I was just incapable of writing music any more. I ended up going back to the first track I started and adapting it a bit. I did not feel good about it when I had finished, really felt like I phoned it in, just going through the motions. I listened back earlier today, and it's actually fine
Adam D: I like the music, thought it was good. I understand sense of panic though when things don't feel like they are going right. It's like you say though, when you come back to it after the stress and come down, it's often all good.
James: Yep, nothing wrong with the music. Works well with the game.
Edge: It's not my best, but it did end up fitting at least. I spent even less time on the sound effects, I think I get away with it, but it's a bit hit and miss
Adam D: It's always tight when you have to do the development and music. I'm sure we'll do some more jams where you can focus more on the audio though, once I'm a bit more settled.
James: Yep, you did well to do both.
Edge: I think I should tackle music on the Sunday from now on, rather than leaving until the Monday. So did you guys have any lessons to take away from this one, or overall thoughts? Personally I think there are things I could have done better given more time, but I actually feel like it went pretty well and we got something close to what we wanted finished in time
Adam D: I think the game is fun, it's different from what we have previously done. Overall a really good job. I wish I could have contributed more, the work that I did wasn't a new process for me. I've got a decent workflow for the environment artwork now, just wish I'd had more time to develop the look of the lab and the world.
James: I did have a point whilst making the game that I wasn't happy with it but now I do quite like it. It is a bit different to what we normally do but I think we could have taken that further. As always there is more I would have liked to have done but we just didn't have time. Maybe at the start we could have communicated better or spent more time developing the idea into something we were all clear and happy with.
Edge: I guess my main thought from this jam is that it's been a long time since we did one all together in the same room. I know what a pain that is to organise, it makes sense doing it remotely, but I feel like we do miss something. We sort of go off and do our own little things for a while, and there's not always a clear direction or consensus
Adam D: It is better when we are in the same space. When was the last time we did that? Morphling? It's more motivating, life just gets in the way a bit and I'm glad we can work remotely at least.
James: It would be nice to all get together for the Jam but it is so nice to sleep in my own bed instead of a sofa. One day we should do it again.
Edge: I'm sorry we had a baby and put the spare room out of action. That's on us, totally accept responsibility for that one. I did try to discuss Ludum Dare implications with Gemma beforehand...
James: it was very selfish of you (safety wink)
Edge: I know we can't meet up every time, but we should try and do it again. Maybe once every 18 months or something
Adam D: Yeah that would be good, I'm sure we could fit in somewhere. It's still nice to be able to keep working on them regardless. This time I didn't have a whole lot of time, so working remotely let me be flexible.
Edge: I think that probably wraps it up then, everyone happy?
James: I think that covers everything, speak soon.
Adam D: Yep, thanks guys
Edge: Thank you and good night