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 through the final 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 about the engine.

Source code can be discussed during talks but is not shared.

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)

-  Keeping the GPU performance to a minimum
-  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.


Takeaways and processes

This year was long and eventful, I won't go over the processes and will only cover takeaways and reasonings behind them, since there is otherwise too much to cover.

Lead challenges/takeaways from this project:
-  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 lots of time.

Programming challenges/takeaways:
-  Don't do custom builds in unreal, instead stick to the class structure the engine provides, otherwise this will create risks for 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 guiding me through it.
-  Rendering a stylized art style in unreal engine 4 is best supported by a VA team, instead of a graphics programmer.
-  Developing a save and load backend system for designers to use, accompanied with documentation for them to work from. In the end, this however got scrapped due to time constraints.