Dunestrider

Dune strider is an explorative adventure game made in Unreal Engine 4 with 13 people in total over the span of 40 weeks of actual development time. We started the project from scratch with 30 people, which went through the 4 phases of development all the way to the release phase where we ended up with only 13 people. In this project post I will reflect on the takeaways throughout the project, together with some hard skills I learned while working in the engine.

Group members: 10 designers, 4 programmers
Platforms: Windows - Steam
Span: September 2021 – June 2022
API/Engine: Unreal engine 4
Software/Tools: Houdini, Unreal Engine 4, Visual Studio 2019, Perforce, Jira, Monday.com, Swarm, Jenkins.

My responsibilities as a PR lead (preproduction/production/release)

-  Overseeing work on all technical aspects.
-  Overseeing the mental state of the programmers and making sure they feel save within the working environment.
-  Ensuring deliverables meet the technical requirements:
  -  Code conventions
  -  Code documentation
  -  Team pipeline setups, e.g.: code reviews and CI.
-  Acting as a mentor-like figure through the means of:
  -  Peer programming
  -  Taking lead in bugs or code defects
  -  Conducting peer reviews

My responsibilities as graphics programmer (concept/pre-production)

-  Introducing new graphics techniques that would inspire the team and move the project forward.
-  Providing technical support for the VA and DP in my team regarding VFX/Materials and low-level rendering opportunities.
-  Ensuring the quality of the lighting in the game (we didn't have any artists after the concepting phase, so this became my responsibility).

My responsibilities as a generalist programmer (production/release)

-  Deliver work of quality defined by the standards of the team’s defined pipelines.
-  Feature implementations in accordance with the design of the project, implemented to move the project forward.
-  Support on the technical pipelines where needed.

Image Context: A screenshot of the ingame combat of the game.


Evaluation

The following sections briefly cover the main takeaways from the project, within the constraints of the presented roles:

Lead programmer
-  As a lead I learned how important it can be to outsource parts of your game, everything except for the lighting in our game was outsourced in the end, either through the available outsource teams or through asset packs.
-  As a lead it's important to listen to your peers and coach them through 1 on 1 to stay up to date with their ideas and health.
-  As a lead, don't micromanage, instead delegate tasks to the team when possible.
-  Have meetings streamlined through timeboxing and clear agenda points.
-  As a lead, know when to scrap a feature to shift the priority of more important tasks at hand.
-  As a management team have a clear communication pipeline in order. This will make sure that no misconceptions happen, and that risk management is taken care of.
-  As a team make sure that the documentation pipeline is in order and adhered to, this can save a lot of time.

Generalist programmer/graphics programmer
-  Don't try to design a custom code structure in unreal engine 4, instead stick to the class structure the engine provides, otherwise this will create risks for the future and confusion in the future.
-  When going for a unique art style make sure to do so under good or strict supervision of an artist that is capable of the deliverance of such. During this project we did not have any artists, which caused a lot of preventable struggles.