Took a break this past week from development to spend some holiday time with family and friends. Back to work on Relativity now, feeling refreshed and re-energized.
In reading some of my old posts on this devlog, I noticed that I’ve tended to focus mostly on technical aspects of the development process – optimization problems, etc. I think this has mostly been because these were the types of challenges I was dealing with these last few months.
I’m going to start talking about some of the design aspects of the game from now on, as I think you guys might find it interesting, and also I think it would help me organize my thoughts to write them down.
I’ve mentioned before that my design process is very iterative-driven. Instead of starting with any concept art, I’ll usually just go with a vague idea of something in my head, program up something with placeholder art, see how that goes, then rewrite everything with slight improvements. I’ll then repeat this process until I have something I’m happy with, or there’s something more important I need to work on.
This has been the case with doors in Relativity, which is now on the third version.
This was version 1:
I basically just placed some sci-fi looking texture on the doors, and had then move linearly when opening and closing.
During a playtest sessions, one of the feedbacks I recevied was that the aesthetic of the door didn’t really match that of the environment. Everything was so bare and minimalist, and contrasted very strongly with the texture on the door.
This led me to do version 2:
Here, you can see that because I’ve introduced the grid pattern to the environment, I decided to incorporate that pattern into the door as well. I also added a bit of ease-in and ease-out to the animation curve of the doors, so that they’re not just moving linearly. You can see the doors slowing down a bit towards the end while opening, which I really liked.
The problem with this design, however, is that it is biased towards certain planes. What I mean is that, because the doors open along one axis, it has an obvious up/down direction vs side direction. Since in Relativity, the player can walk on any surface, the environment should be designed so as to accomodate different perspectives.
So here’s the latest, version 3:
While it’s not the final version yet, you can see that by having the door break into 4 parts like this, it solves the bias problem in version 2. The door appears the same from 4 planes and thus accomodates all of those perspectives. To me, this design makes more sense given the physics of this world.
One other thing you will notice is that the wall around the door is flat against the surface of the door, instead of protruding forward a bit. This wasn’t so much of a design consideration, but more simply that I found a solution to a problem I couldn’t solve earlier.
Basically, in versions 1 and 2, the thickness of the door is 0.5 units, and the wall around it was 1 unit thick. The reason why this was done was because if the wall was 0.5 units thick, then when the door opened, the mesh of the door would overlap with the mesh of wall and cause a flickering effect.
By making the wall thicker than the door, I was able to hide the door mesh inside the wall mesh. However, this led to a number of other problems as most other walls were generally 0.5 units thick, and it would throw of the gemoetry.
When doing version 3, I realized I could make the mesh of the doors decrease in scale from 100% to 99%. This prevented the meshes from overlapping and flickering, and from the player’s point of view, the decrease in scale is not noticeable at all.
So anyway, this is where doors are at at the moment. I do think there are still improvements to be made. For one thing, I’m not too happy with the texture pattern at the momnet. Additionally, I think the animation can be a bit more snappy. I also need to get a good sound effect to go with the door opening and closing.