EZ Math.

This week I struggled on the coding for quite a bit. Part of reason is that UI elements in Unity don’t work with certain commands, also infinite spawning with variables attached to it makes it quite tricky. I couldn’t get the score to reset upon reloading the scene most likely because I often directly referred to variables in other scripts. The variable that adds up to become the points in the middle is written within the same script that instantiates the Texts falling down on both sides, which I assume was the reason why I couldn’t get the score to reset without making the score set to zero each time a new Text is spawned.

The visual design is definitely too plain but i spent most of the time on the coding again, only if i wasn’t that bad at it. All the struggle for a simple little game was what made me realize coding a game from scratch is actually a hard task, especially when I’m not familiar with the programming language. As a model/character builder, I got to experience the difficulties of being a game programmer, though its probably easy for those who are actually decent at math and been doing it as a computer science major. The game definitely has potential to become a decent local versus game, if the problems were more challenging and the design was more engaging.

Endless.

For this week’s game, I spent most of my efforts on figuring out the code. The inspiration of this project came from a horror game I saw some streamer playing on Twitch, where the player goes through an infinite loop unless a condition is triggered. I initially planned to have doors on each room, but that requires some more coding I’m not familiar with yet, though the main reason is short on time.

As on how I got the code to work, I calculated how much distance I have to advance among the Z axis to create the next room, and generate the whole scene again upon colliding with the trigger at the door. A variable keeps track of the times of new rooms generated, so each time a new room is triggered, the whole scene is pushed forward by (fixed distance*how many rooms generated so far) along the Z axis. As for the furniture in the room, I have them placed within a random range of the current room, and assigned them different ranges among the X axis to avoid overlapping.

The feedback i received are good ideas to polish the project further, and I would definitely try if I had enough time.

Welcome to 2017.

For this game, I’m glad I learned more about coding in C#. I tried to code infinite spawning from an empty Gameobject, but can’t get the code to add on a script to the newly spawned objects. I only later knew about creating prefabs for this, which could made it possible. However, the infinite spawning would eventually overload the system since the total number of objects could only get larger, but making the spawning stop at a certain number of objects could prevent that. I learned online how to make objects follow an object in the scene, and trigger an event upon collision or when a target exceeds certain coordinates. The responses I got in class was pretty cool, some struggled at first but they eventually could outrun the spheres. The game was not meant to be winnable, sort of like you can’t please everyone in the society. There are always people who have different opinions or values. I wanted to make the spheres collide with each other but couldn’t get the ‘convex’ to work on the spheres. I was also afraid the system would overload with that many colliders, also the game would be a lot harder.

FeelsBadMan

Math is one of my weak subjects since high school, that is my excuse for not being sharp when it comes to coding. I settled on creating a short animation for week 2, and since the “if” function is the only one I know of C sharp, I used only the “if” function. As a result, I animated based on the simple technique of one if statement per frame, which resulted in numerous lengthy strings as huge blocks of text as shown below. The “if” statements are triggered by a single variable Time, which is set to increase at a specified rate endlessly from the start. There are definitely other functions that could execute the same thing more concisely and efficiently, but only with the knowledge of “if” functions, I’m glad I got the animation to work with lots of Copy Pasta.

 

I also thought a text-only animation was a little dull. That’s when I thought of text art, otherwise known as ASCII art. I watch Twitch streams frequently so I thought of using Pepe the Frog, which fits with the random text I inputted. I was glad many classmates recognized the meme and shared the reference, while others simply enjoyed the animation.

Abandoned Shrine

As someone aspired to work in the gaming industry, I challenged myself to use only my own models for this first project. I opened up a shrine I modeled before and started doing the UVs, but I quickly realize I don’t have enough time to do this in a week along other courses, so I settled on the auto UV feature for many parts of the mesh. The first screenshot is an optimized UV I created myself, and the second screenshot is an example of an auto-generated UV in Maya, which is not ideal, but usable.

I downloaded textures from textures.com, also created my own texture for the roof and the lamp in Substance Painter. I modified them in PS to made sure they are consistent in style.

To make the overall environment more natural, I added some default trees from unity assets, to give the sense of the shrine’s solitude in the woods.

Most of my previous works are rendered in Maya with Vray, mostly  aiming at achieving semi-photo-realistic characters(work-in-progress render above). I have no experience in creating optimized textures and models for a game(limited poly-count, resolution, cached simulations etc.). I was excited about learning in-depth optimization of models and textures in Unity(including caching and real-time simulations), but I realize the class’ main focus is on assessing interpretations of the gaming experience and designing experimental games that only touches the surface of the technical aspect. For me personally, the common mysterious and abstract designs of experimental games is a cover-up for the lack of technical/artistic skills or lazy game-making, but I do recognize most of these games are independent. For me, experimental games are like modern art, overly praised for the effort put into it. Although not exactly what I was expecting, the class offers experience in Unity, which I am looking forward to.