Hello again guys! At first I have been writing my blog posts as I complete projects as almost a post mortem with additional details on how to do certain tasks such as “create a taskbar that does this” or “exp component in C++“. This time around, I want to document the process to see if I can learn from that.
I have been attempting to do this on and off with different scopes of projects and haven’t been able to fully kick one off. I have met a lot of people and a learned a lot of things. One of the biggest being, if you can afford to buy a prebuilt solution and it works for your game, do it! You will save countless hours and forward traction is quite important in order to keep momentum.
That being said, my game will be built using Ascent Combat Framework(ACF), I haven’t decided whether I want to go all the way with ACF yet or just to prototype and then roll out my own custom solutions. I like the one GAS works and wish it integrated well with ACF. That would be the main reason that I would switch. For now ACF offers quests, dialogue, state machines, melee/range combat, mantling, blocking, stats, crafting, inventory and as of this month, a new plugin with prebuilt UI’s that all promise seamless integration.
Before we hop right in, this project will get slow traction for the next month or two as I’m working on another project. This project is a mobile app that will get some hype as soon as I get a beta version ready
If you guys have been reading my content you know I like to setup dev ops first while I’m in the planning the stages of a project. I’ve already gone over how to setup an unreal engine container so I won’t go over that in too much detail.
- Setup ue4-docker
- Run the following command. This will create a docker container for 5.2.1 and since I’m using this for ci/cd, I opted to remove templates to save a little on storage
ue4-docker build 5.2.1 --exclude templates --visual-studio=2019 --monitor
- Come back in 4ish hours. Depends on your machine, I have a Ryzen 5950 (16 cores) and 64GB ram and it takes this long for me. If your pc is slower, don’t be surprised if this takes all day. Its more or less building the engine which already takes some time and then compiling the engine into a version thats useable like the launcher.
AMD has some issues with dockers isolation mode. While attempting to build these images my computer blue screened several times. I was also working on other virtualization projects at the same time. If you are having blue screen issues, just let it run and walk away from the pc for a while
- After my build finished I then started out with a sample deployment config for team city. Once I get something a bit more complex setup I will add details. For now its simple, I just want to make sure my game can always build. Within the docker container all you need to do is run the following command
ue4 package DebugGame
> I prefer DebugGame over Development and Shipping for testing. In my opinion, development build is useless since its equivalent to running it in the editor, shipping strips all debugging capibilities and its too soon for that and DebugGame is similar to shipping except it adds enough capabilities for you to attach to your game via Rider