For the sake of documentation of my maser thesis in integrative design and also for sharing my achievements with a brother and interested audience I decided to create this development blog. The main topic so far, but this might change during the process of elaborating necessary fields for realising my intentions, is all about creating procedurally generated landscapes and do research about the meaning of the individual assets for the players. Mentioning “players” means, yes, I will make a game out of it. Or at least a working prototype that represents the thesis’ final results in an applied case.
The engine I use is Unity (Link to Unity). I use this particular engine because I made other projects in it before and have enough knowledge to work fluently within its possibilities. Also, it uses the scripting language C# which I am familiar with (at a semi-advanced level I guess) since I started developing and designing virtual worlds.
I had in mind to swap to Unreal Engine for a while to not wrestle with Unity’s build-in terrain engine later on (read about the problems here), but the short amount of time for the thesis and the motivation of getting to learn more about the software’s possibilities outside the stiff build-in terrain engine made me stick with it. Obviously, I’m learning and therefor I use tons of references I will try to always mention the source correctly.
I will post about problems I encountered, solutions I found, designs I create and people I met (read what David O'Reilly "Everything" and Kate Edwards "Halo" answered to a question I asked them at Ludicious Game Festival in Zürich soon.)
I hope this will help others to get basic knowledge about procedural world generation in Unity and please let me know in the comment section what you think I could have done better/changed/whatever. Bring up your own ideas!
I will post updates to the project whenever something happened that should be shared with the world. Stay tuned!
Software I will use
As I mentioned Unity will be the engine. I use cinema4D to make my 3D-models, texture them and export them to Unity for further work. Of course Photoshop is essential for any illustrative or graphical part. I also use a Wacom tablet (Mobile Studio Pro) to draw and paint but as I also work inside Photoshop I'll keep this list short and don't go deeper into details.
And by the way I work most of the time on my Macbook Pro, so maybe no compute shaders (argh!)
Who am I ?
Read about it in the “about me” section. To cut a long story short: I’m a 24 y/o illustrator with a bachelor in art education. I loved games since childhood and began to develop my own digital experiments (check them out here) two years ago. I did a guest semester at game design department of the Academy of Arts in Zürich (Switzerland) and currently I’m finishing my master of arts in integrative design at the Academy of Arts Basel (Switzerland) with a strong focus on developing in Unity. I’m not a native English speaker so I already apologize for mistakes I make.
What is my motivation ?
My motivation is built up from my own experiences with explorative, digital game environments. According to Richard Bartle’s classification of game types I’d say I’m more an explorer than any other of the types, even if one's never just one of them.
I love to hunt for creative designs and lovely crafted details, so as I enjoy exploring huge worlds, interact with them and get inspired by the developer’s and designer’s stunning work.
Have a look at the graphic I supplied or the great video explanation team of Extra Credit if you are not familiar with Bartle's taxonomy.
But now, hands on the theory!
What does "procedural generation" mean ?
I’d like to quote this definition form a paper I’ve read a month ago about procedural content generation. The authors of the first chapter, Julian Togelius, Noor Shaker and Mark J. Nelson, give an awesome introduction into a variety of techniques to generate assets and mechanics using non-human design agents. Download the full pdf here. it’s absolutely worth having a read through.
The definition they give about the term procedural generation is as follows:
The definition we will use is that “procedural content generation” is the algorithmic creation of game content with limited or indirect user input. In other words, PCG refers to computer software that can create game content on its own, or together with one or many human players or designers.
(Togelius J./ Kastbjerg E./ Schedl D./ Yannakakis G.N)
The theoretical background
After I decided to make a project that includes landscape typology and picks out the player’s relation to it as a central theme, I was searching for literature that could build the base, or at least give some theoretical input for the thesis. I found some mentionable sources I’d recommend to everyone who tackles the field of geography in her/his daily life.
- Tuan, Yi-Fu: Topophilia. A Study of Environmental Perception, Attitudes, and Values. New York: Columbia University Press 1974
Yi-Fu Tuan is a Chinese-American geographer that wrote about landscape typology and the human perception of it it through different cultures and time periods of homo sapiens’ history.
Another book is a must-read for every architect (I’ve heard saying). A philosophical discussion about the abstract term “space” written by the french philosopher Gaston Bachelard.
- Bachelard, Gaston: Poetik des Raumes. Frankfurt am Main: Fischer Verlag 2017 (german version
- Bachelard, Gaston: The Poetics of Space. (english version)
I'm not linking this to any amazon offer. I suggest you support your local bookshop or check out the library in town :)
Both books gave me a base knowledge to think about questions one might ask in a theoretical discourse about fictional, digital environment and the interaction with the player or even perception of humans towards environments in general. Worth reading for sure!
I will post all about how I started my terrain generation tool with the help of the world wide web's resources. So, go for it right now!