Thursday, April 23, 2015

Online, feedback and other stories

It's been a while since I didn't post anything. It's mostly because I barely had time to work on FtheBlocks. Now I'm finally back at it and I have to make a choice : implement online multiplayer or not.

Doing multiplayer with Unreal Engine 4 is not really hard. The engine provides everything you need to replicate events/variables across all the clients and to do the client/server communication. Even better : one of the latest example shows how to create a session, display a server list and join one all in Blueprints. But implementing multiplayer is easy only if your game was designed for it at the beginning. For FtheBlocks, I made the rookie mistake of thinking that I could just add the multiplayer code later. Now if I want to do, I have to break pretty much everything and rethink all the logic of the game. It's basically a complete rewrite of the code and even if I have a good understanding on how things should work, it might take weeks. At this point, I'm not sure if it's worth it. The game was designed to be a fun "friends on the couch with beers" game and it works very well that way. I might just do multiplayer but for another project.

The other mistake I made was thinking that not doing solo/AI or online multiplayer would save development time. It did but it also made really hard to get feedback from other players. Not only the game is not popular but it also require to have at least one friend to test it. Without feedback, it's difficult to know what works in the game, what is fun and what should be improved. I guess that's why a lot of indie games are platformers, puzzles or adventure games. It's much easier to playtest when you don't have a team.

A few people asked me if I was going to share the source code on GitHub or some other solutions. The answer is : maybe. Frankly the code is not rocket science and I would love to share it with the rest of the UE community. The only issue is that with Blueprints, you cannot share the code without also sharing the assets. Most of them are stock assets that comes with the UE4 examples but I bought a few ones on the UE marketplace so I will have to replace them with stock or TurboSquid models. Finally I don't own the rights of the music so I might also replace it with some stock music for the "GitHub version".

By the way I cannot emphasize enough how much I love the music Olivier composed for the game. I just gave him some simple directions and he perfectly captured the spirit of the game. Not only he composed and recorded the music but he also made the code to play it in UE. You can listen to the theme here and I recommend to check his website. He worked on the awesome game E.Y.E and now he's working on the new game from the same studio (Streum On), Space Hulk - Deathwing. He's also working on the really cool Enemy Starfighter.


  1. Hey Benjamin, just wanted to let you know I downloaded Ftheblocks and I'm really impressed! I started developing a 2d bomber-man clone to improve my skills and maybe have something fun to be able to play with my friends. You don't realize all the amazing programming that that old game had until you try and do it yourself. haha. I'd love to be able to look at your blueprints if you ever post them online. Again, great job on the game!

    1. Thanks man ! Some of the tricks I used are probably a litle dirty but hey, whatever works :)