devlog001: Starting with Unreal Engine 5.1
Martin Michalski
Posted on April 28, 2023
This devlog
I am starting this devlog as a means to track my progress and stay motivated on my project: an ecosystem simulator, complete with humans able to throw the system out of whack, who are forced to negotiate with one another using natural language. I am interested to see if it's possible to generate relevant and goal-driven interactions with natural language, conditioned on the environment surrounding an agent.
That's the core idea, chosen to span across my areas of interest. When I grow bored of working on the perfect landscape, I can shift to the decision-making process for agents in the game, the natural language processing models I will have to develop, or creating new animals and organisms to introduce to my world.
If all this sounds vague, it's because it is. As time goes on and I learn more about Unreal, simulations, and natural language processing, I'll refine the project's scope.
Where am I starting?
I have experience with Natural Language Processing, so I'm leaving the development of those systems for later. I have absolutely no experience when it comes to game development, 3D graphics, or 3D modelling.
Why Unreal?
I've watched one too many cool YouTube demonstrations. This video in particular blew me away. Also, from the looks of it, it has decent documentation, and a good amount of tutorial content on YouTube.
Starting in Unreal
As a start, I read through the first couple of pages in the documentation. As someone who has never been exposed to game development or Unreal, I learned about a lot of things. Actors, Levels, Materials, Textures, and Meshes. These were all new to me. Below are some definitions of common terms I ran into.
Level: A gameplay area.
Actor: Any object which can be placed into a level. This could be a camera, player, or mesh.
Mesh: A "wire-frame". Defines a surface or volume in 3D space.
Static Mesh: A geometry that does not change over the course of gameplay.
Skeletal Mesh: A geometry which has "bones", which connect to one another and allow for animating the polygons of the mesh surrounding the bones.
Pawn: An in-game persona. Either controller by AI or player. When controlled by character, it is considered possessed.
Character: A player-controlled Pawn.
World: A container for all game levels.
Volumes: A bounded 3D area. Example use case is to apply effects to a player, for example, a fire volume hurting a player.
Texture: A map of the fine-grained surface details of a mesh.
Material: The "coloring" applied to a textured mesh.
This is by no means a comprehensive list, but these were the most important terms I learned which helped me understand what was going on in YouTube tutorials. I recommend reading the documentation I linked, going through the Understanding the Basics and Working with Content sections.
After reading those sections, I wanted to get my hands dirty, so I found this tutorial, booted up Unreal, and started messing around. After a couple hours, I had a basic island.
What's Next?
I am going to follow the rest of that tutorial to try and prettify my island. Once that's done, I'd like to learn more about the options for procedural generation in Unreal, and see if that is relevant given my intended use case.
Posted on April 28, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 30, 2024