Realtime Events Journal

by Yiming Li

This project has been a lot of fun for me. Even though it was rushed. It was my first attempt at building something with a game engine, but I still really enjoyed learning and using it. I think a game engine is like a big crock pot, mixing all the code, models and audio together to make something really great. You know it’s an amazing feeling, looking at a scene that you’ve built with your own hands – it’s like building blocks – and watching it become complete little by little. Sorry for getting a bit off topic, let’s get started on the real Realtime Events.

As I was getting this thread, I was thinking about what kind of thing I should make. I realised that Unity is a very handy thing to have around and it allows me to play around in it as much as I want. I decided to make something big, very BIG.

Something nebulous has always appealed to me. However they are too abstract and I’ve racked my brain without being able to realise them (or visualise them). After the first few Workshops, I decided to try to start making something first, like an experiment, even though I wasn’t sure what I was going to make.

I started making a large piece of terrain and editing it to give it the undulations of the terrain. Then walk in it using first person. It gives me a sense of playing the game. From then on I felt the oppressive feeling that large terrain brings in a 3D world. Even though I reversed all of this later on, it was still important and influenced the direction I ended up going with the project. During the first tutorial, I told the tutor that I wanted to make a world that could be turned upside down. I admit that was a bit too idealistic. Because in the many attempts I made after that, I used many different methods, but neither Unity’s functionality nor my personal abilities were enough to support me in realising this thing. Besides, this is just my personal idea, and a project without research to support the foundation is not destined to go far. So I decided to start fresh. But I have to admit that the countless attempts in front of me did accumulate a lot of valuable operational experience for me.


The universe was the size of a speck of dust on billions of years ago. A massive explosion occurred, which caused it to expand and expand, and a series of chain reactions happened until everything we know today appeared. So we thought, ‘Well, if that’s the case, does this “everything we know” have a centre? It’s like the origin point of a coordinate system. And, expansion is followed by collapse. If collapse occurs, then will everything return to this original point?

In a game called Darksouls, the author cleverly introduces this idea. Released in 2016, Darksouls it is the third in the series. One of its DLCs is called Ringed City.In the game’s worldview, Ringed City is the centre of the world as well as the end of the whole world. Everything in the world is born with the burning of the Initial Fire. Similarly, under the influence of the Initial Flame, all living and non-living things will gather, gather and pile up towards the Initial Flame. Eventually these things form the Ringed City, a kind of ‘gathering place’.

A museum of distorted reality. I got the idea and now I’m going to try to realise it. I really like the theme. I started to rebuild the scene to make it look like ‘Edge of the World’. And I started to design some ‘sightseeing routes’. Because I wanted my work to be less like a game and more like a ‘walking simulator’. There’s just a lot to consider with this one, which means that if the scene design isn’t eye-catching enough, or if there aren’t enough interactions in the scene, it’s all going to be boring. Some challenges honestly, but I decided to start making it first.

I set the scene in a desert. Because I thought it would be a good place to bury things 🙂 there are mountains made of sand, dunes blown by the wind, and different kinds of ruins. I downloaded the components for designing the terrain from Unity’s Assets Store, which gave me a lot of more natural-looking brushes of high quality. This allowed me to edit this terrain more as I wanted.

Regarding the selection of these models, I try to make them cover every aspect of my life. You could say that each different model represents some imagery. For example, this large telephone is actually a design from the Matrix. Sort of a little homage from me. I made this world like an illusion, and if you pick up the phone, you’re transported to the real world. It’s actually kind of a trigger, but it’s not for the game object, it’s for the player to guide them in that direction. At the same time, I will make their materials and colours as close as possible so that they don’t look out of place.

Of course, there are models that have little or no real meaning, such as these stones, which are merely decorative. But they are still an essential part of what makes these scenes enriching. I tried as much as I could to try and make the scene not look empty in any direction, but not overdone either.

Next up is my personal favourite part for building this scene. To create a ‘gathering place’, you can’t just rely on simple individual objects. If anything can represent human civilisation, I think it has to be these skyscrapers. This has been seen in many film scenes, where people use the ruins of skyscrapers to represent the ‘doomsday scenario’.

So I started looking for similar models, destroyed buildings, intact buildings and so on. I stuffed them all into the game file and started building them bit by bit, like building blocks. I wanted them to appear in a less natural form in this scene. After all, this scene is rather grotesque. At the same time, I’d like them to remain somewhat movement – although I won’t be animating them.

The ‘tall mountains’ that surround the scene are actually made up of ruins that have been buried in sand. I wanted to show this, so I filled the surrounding scene with various buildings and ruins. But that wasn’t enough. Thinking back to the previous research, since I wanted the scene to have the property of a ‘gathering place’, I had to make these objects look like they were ‘gathered’. So I made these ruins that look like twisted growths at the tip of the mountain. This is what I meant when I said that I wanted to add some ‘’movement‘’ to them.

After this is done, the scene is considered roughly built. I chose a skybox with mega sun to further enhance the atmosphere of the whole scene. Next up is some detailing and trying to add some triggers. I decided to start with the sound part. Looked online for some sound sources I needed, downloaded them and put them into Adobe Audition for editing. Because even though Unity comes with some sound editing options, I decided to edit in more professional software for better results. Here I used some of the things I learnt from last year’s project. For example how to change the channel for the sound, add some effects like distortion and reverb, and noise reduction to the sound.

Added some effects to basically all the sound sources to make them sound a little more interesting on scenes and objects. A few interesting clips, like a Morgan Freeman monologue in a film or the old song The end of the world, are interesting memories from my life and I decided to put them in this ‘reality museum’.

Some of the items in the scene play sound, such as this small tape player. Also I wrote a script so that I could add a little red light to it that could blink repeatedly.

After that, I made two sound sources that could be triggered. This alarm clock and a telephone. I don’t want their sounds to play when the game starts. At the same time I intentionally made them sound similar, as if this alarm clock was paving the way for the telephone. In this way they need a segmented trigger device. A single script can do both parts.

The next thing I think should be the most worthwhile part of this project. Regarding the giant statue in the scene, I thought of many ways to make it interactive. I decided to try and write a script that would allow the whole big head to detect the player’s position and rotate as the player moves. After searching the internet I found tutorials on the subject. After following the steps above I got a general idea of how this script works, I’ll show it below before explaining it.

It’s basically letting Unity do a Vector calculation on its own. First get the direction of the object towards the player, immediately after that calculate the direction x-axis rotation angle, get the result and then transfer that result variable to the object. At the same time I only care about the rotation of the object on the Y axis, so I don’t make it rotate on the X and Z axes. Also since I have an initial angle for the Y axis, I have to add that in the calculation as well. Finally after doing all this, only one line of code is needed to make the whole object rotate independent of the frame rate to make it look smoother.

The effect looks great, although the big head looks a bit creepy.

At this point basically the project is almost complete. I also added some kinetic effects to the sand to make it look like it’s being blown by the wind. This part is still relatively simple, so I won’t go into too much detail. Basically, I just found a sand material and made it stick to the terrain and move. At the same time I also added post effects to the player camera, a little bit of aperture masking to make the whole scene look more atmospheric.

Well, basically that’s everything about this project. Thanks to the students and tutor for their help, please enjoy my Realtime Events:)

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部