Lazyploy - Developer Build Deployment For The Masses

Lazyploy - Developer Build Deployment For The Masses

Lazyploy is an open-source suite of tools designed to replace a plethora of custom batch files and deployment setups that I make for generally every project I work on. I wanted an incredibly simple way of cooking a new build of a UE4 project and have it automatically deployed to my test machines on my LAN without having to maintain batch files or a Jenkins server any time a hostname, project build rules, or when any other factor in scripted deployment changes.

A WIP video of the system is available here on my YouTube.

Lazyploy Server is the central server component of the Lazyploy suite of tools. It is a Node.js Feathers REST API backend server as well as a web frontend server. Lazyploy Server can govern, recieve, distribute, and monitor builds of UE4 projects. The only limit to how much it can store is the size of the storage device it is installed on.

Lazyploy Launcher is the ‘engineer’ component of Lazyploy. Instead of creating and maintaining a set of batch files per project, Lazyploy Launcher aims to consolidate batch operations such as launching clients, cooking, and deploying of builds. It runs as a standalone program built against your UE4 Engine source and runs on Slate. It also contains a Session Frontend tab for easy remote-monitoring of other UE4 instances.

Lazyploy Watcher is the remote ‘build runner’ component of Lazyploy. Its goal is to automate build updating on targets to avoid manually copying development builds to test servers through Samba Shares, SMB, FTP, or pushing builds through the Steam Pipe. When working with Server code, it can be really convienent to spin up local tests for cooked builds outside of any pre-existing build pipeline, for example, relying on Steam Pipe builds to test minor changes in code just so test servers an pull down a patch can take a lot of time if you have the storage and the speed for simply downloading whole new builds over a LAN. Its designed to keep WindowsServer and LinuxServer builds always online and restart them in-case of a crash, but it could also be used to keep client builds running as well.

Custom Marketplace Frontend

Custom Marketplace Frontend

One Sunday I got fed up with the lack of usability updates regarding the UE4 Marketplace within the Epic Launcher. It has since then improved but there is still a lot more that could be done. I wanted to address its sluggishness, navigation issues, and add a few ‘nice to haves’. The result of this was a fully working Marketplace browser that worked across Windows, OSX, and Linux. At the time of this writing the Epic Launcher still doesn’t run on Linux and Linux users have to use another OS to get their marketplace purchases.

The only missing features making it from being usable is the downloading of assets you own. I have achieved this but have not posted code due to what I foresee as a possible security risk.

It ended up turning out really nice. Nice enough to get a good comment from Tim Sweeney and kick off a job interview process for a position at Epic.

You can read more about it here as well as read a long and involved blog post about its creation.

Epic UE4 Game Jam Playthroughs

Epic UE4 Game Jam Playthroughs

Starting November 2015, I have been streaming playthroughs of all entries to the monthly Epic UE4 Game Jams on my Twitch channel.

These playthrough streams on average last around 16 continuous hours. They are great fun as the game jam teams tend to join in on the stream and we get to hear from the developers of the game jam entries while playing through their submissions.

Some cool things resulted from this, such as being able to visit the Epic HQ and being a part of their livestreams.

Fundamental: UE4 December Game Jam Entry

Fundamental: UE4 December Game Jam Entry

I used to do a lot of game jams early in my game dev career but after my time became eaten up with more and more client work, I took a break from them. After several months of my Game Jam playthrough streaming, many people kept asking me when I am going to submit an entry.

I happened to have two days free during the December 2015 UE4 Game Jam and figured that it was as good a time as any to see if I still got the chops for a game jam. The theme of the December 2015 UE4 Game Jam was “The End Is The Beginning”, which naturally inspired the thought of mobius loops. I ended up playing with the idea of a track that folded on itself yet still had a continuous path with the ability to flip between ‘top and bottom sides’ even though if you never flipped you would traverse both sides. The end result ended up being a game I called Fundamental, a ‘fill in the track while avoiding obstacles’ game that ended up winning one of the three winner slots of the Game Jam.

You can download this game jam entry of mine here

UE4 WASD Keyboards Template

UE4 WASD Keyboards Template

I do a lot of work at various VR, Film and FX houses. When I work on-site, I grew steadily envious of all the custom keyboards for various 3D software packages and film editing tools, so I said to myself, why not make one for UE4?

So I made one. Ended up being pretty cool and pretty popular. It also serves as a keyboard shortcut reference guide. You can check it out here.