top of page
slide bg_edited.jpg
CoverArt_.png
PsykoRadz is an extreame sports game which has a heavy emphasis of physics based movement. You play as a delivery driver who wants to paint colour to his monochrome world.

Role :

Tech Lead

  • Created all the effects and visuals in the game

  • Was responsible for managing code and how all others are supposed to connect

  • Responsible of the base of the technical document

  • Learning and understanding masking for the paint mechanic

  • Created the road editor for designers

  • Project Management

  • First time making shaders

PsykoRadz is my first ever long project where as in all other projects I've worked on are game jams or mini games for assignments where you can easily finish in one week.

​

Before this project, I've already set out to fix the problems I've had in previous projects when working with a team and it was about code clashes that could happen. I've created a system and a way to track who does what and if the scripts we wrote might affect the others.

​

In this project, I've learned so much from my own flaws as a developer and also on how to work with a team with different skills and different ways of working and learning how to gel them all together.

​

Overall this pass 3 months of making PsykoRadz was super fun!

Effects / Paticle Systems

Creating the splots

Creating the splots was an interesting process where I get to really play around with Unity's particle system. What's even better is that I realize how efficient it is in generating lots of particles without effecting performance.

​

The initial way of oh the buildings will be painted was also via particles but eventually I scraped the idea due to how it doesn't really achieve an effect I wanted with how it looks.

​

How the splots are done via a mask, each splot has a mask and it will render only render on the roads, which also has a mask which it can communicate to.

​

I used sprite shapes to create the roads but problem is that masking actually does not work on it. So I had to create a separate material just for it to render.

ooo colours.gif
GIF 29-9-2023 12-03-21 AM.gif

Here is what happens if your code has an error

​Roads / Sprite Shapes

Level Editor

Unity has something call a sprite shape which allows you to twist and extend your sprites which was amazing for our game. So we created something like a tile set for the sprite shapes and have an outline overlay on all sprite shapes created so the splots can get hid by the outline.

​

The caveat of sprite shape is that, masking does not work. So the way I solve this was by giving a material that accepts masking. I've learned a bunch of stuff about Stencil and pixel buffer but I still don't think I'm very suitable to go into a project that fully utilizes it.

Line Renderer

Painting Buildings

Using the Unity line renderer and camera, I was able to generate a random pattern and a "brush stroke" look towards painting the buildings.

​

Utilizing how Unity's camera is able to only render a certain layer, I utilize that as the mask in which the game should draw on top of the top layer of the building, revealing the back side of the building which is coloured.

​

What I didn't realized was how expensive was reading pixels on a camera. To combat that, I have it done only on certain frames and also changed how Unity deals with the colours is the game. I do wish to improve on this by somehow utilizing Graphics.CopyTexture, but I ran out of time within the semester.

​

Overall I'm actually pretty happy how it turned out.

Shader Graph

Reflective Water

This was also the first project where I decided to play with Unity's shader graph.

​

This simple shader just referenced the camera that is on top of the water texture and apply it into the water texture. Then I offset, manipulated and apply some noise onto the texture to create this water like look. The noise is a combination of Perlin and Voronoi combined together and mixed in with bits of colors of white to make it reflective. The whole texture is then darken to give it a more ink like look.

​

If I would have use this again in future projects, I would have made the texture more modular cause the way I did it now is that if just by increasing the scale, it would have break. 

​

It was really cool playing with shaders and I'm thankful for this project to let me dabble in it.

image.png

For a more technical explanation along with the tools we developed.

Check out the:

Technical Document

Follow me

  • itch-io
  • Twitter
  • BlueSky Icon
  • LinkedIn
  • linktree_logo_icon_247832

©2022 by Lai De Zhi. Proudly created with Wix.com

bottom of page