Master Thesis suggestions

Started by
4 comments, last by MJP 5 years, 2 months ago

Hi guys,

I'm writing Master Thesis this year and my topic is 'Game engine architecture'. I chose DirectX 12 for rendering, but can't seem to come up with any ideas what I could improve in such an engine (the target of thesis is to create something innovative/upgrade something that already exists). Was thinking about low level programming and maybe additing multithreading to some part of the engine. I would really appreciate any ideas in regards to any game engine improvements.

Advertisement

Part of the research process itself involves (surprise!) independent research. Since a new Master's student is not really expected to come up with a complete topic and research direction on their own, some gentle guidance should be provided by your supervisor. Have you chatted with them about this, and your interest in making improvements to a game engine? A good supervisor who is well-matched to your academic interests should be able to help quite a bit.

[Nitpick alert: DirectX is not a game engine---it's a graphics/multimedia API.]

I would start by familiarizing myself with existing game engines (Unity, Unreal) and reading the latest literature (via Google Scholar, etc.) on the topic. (One of my favourite quotes goes something like this: "A month in the lab will save you a day in the library.")

If your aim is to improve (even if only by <epsilon>) such game engine tools then you must become familiar with them first. The mastery in your field that you are aiming to demonstrate necessitates an understanding of what's out there already.

[Aside: A Master's Thesis does not necessarily have to make novel contributions to a field. However, this is preferred where I'm from (Canada), and this may be the case wherever you are, too.]

Hope that helps.

@GeoffN, the problem is that there's literally nobody on the university that knows the topic.

I know that DirectX is not a game engine. I already started developing the engine and I'm using DirectX for the rendering. I managed to create a good base for 'game engine algorithms' to introduce as I can already render objects with physics, textures and lights, handle inputs and update the game logic. I'm also familiar with other engines, as previously I developed a few game projects (mainly in UE4), but now I want to try something new and in lower level programming. Unfortunately, I still can't come up with a proper thesis.

6 minutes ago, Veasst said:

@GeoffN, the problem is that there's literally nobody on the university that knows the topic.

I know that DirectX is not a game engine. I already started developing the engine and I'm using DirectX for the rendering. I managed to create a good base for 'game engine algorithms' to introduce as I can already render objects with physics, textures and lights, handle inputs and update the game logic. I'm also familiar with other engines, as previously I developed a few game projects (mainly in UE4), but now I want to try something new and in lower level programming. Unfortunately, I still can't come up with a proper thesis.

Ah, gotcha. Thanks for clearing that up.

That's a tough situation. As you likely know, ultimately your examination committee should be (at least partly) composed of folks (again, at least partly) familiar with your topic. I'm not sure which university you're at or who you've contacted, but if you haven't already, I might start by getting in touch with faculty members at your university who have experience with software engineering/development in general, graphics/visualization, HCI, and possibly (multi-agent) AI or game theory. (Since, obviously, there's a lot of cross-over between those topics and various facets of game dev.) Themselves or possibly their grad students or postdocs may have connections to folks in academia or in the field who are working on game engine architecture-related research, or something similar enough that they can provide sufficient guidance on a project for you.

Off the top of my head, here's some ideas for newer/more advanced topics that could apply to a DX12-level engine:

  • GPU-driven rendering, including full frustum/occlusion culling and LOD selection on the GPU. Perhaps also including some kind of compute-based vertex/triangle processing.
  • Integrating ray-tracing using DXR, and investigating various trade-offs for scene/shader management, techniques, performance, and runtime PSO creation time (this can really add up, because the driver needs to JIT compile your shaders during this step)
  • Newer flavors of deferred rendering, perhaps along the lines of the Visibility Buffer paper, or deferred texturing.
  • Making a custom shader language and backend that targets DXIL, or perhaps generates HLSL that can be compiled to DXIL
  • More automatic/efficient means of issuing barriers, aliasing render targets, and submitting tasks on async compute queues. The FrameGraph presentation from a while back might serve as good inspiration for this.
  • More efficient ways of automatically scaling back GPU load and memory usage for different classes of hardware, and/or in response to other programs needing to share the GPU with your engine.

This topic is closed to new replies.

Advertisement