Swiss Milk Planets

Swiss Milk 2024
Online Competitive Mobile Game

The Game

The game Swissmilk Planets puts you in the role of a cow in a meadow full of lush grass. Navigate the cow to collect as much knowledge and as many points as possible and if you want to you can take part in the weekly prize games.

[KLICK ME TO PLAY THE GAME]

Tools

  • Blender as 3D Modelling tool and Level Editor
  • PlayCanvas

Positions

  • Game Design
  • Lead Level Design
  • Prototyping
  • Lead 3D and Technical Artist
  • Animations and Particle Effects

Prototyping and Level Design

As there was no Level Editor in PlayCanvas Blender helped me put together my sketched Level Ideas fast. The Spheres I put together in the Example are going to be exported so I can set them up as Colliders in Playcanvas.
A custom shader helped me locate the Colliders.

I organized Testings and exchanged with Andreas Halter and other colleagues who gave valuable Feedback on the Levels.

Level Design mainly involved

  • Grass Placement that is going to be eaten on the Planets
  • Obstacles and Collision placement
  • Speed Adjustments of the Player
  • Planet and Obstacle Sizing

3D Environment Development

1. Prototyping phase
2. Adapting Dimensions
3. 3D Envitonment implementation
4. Shader and Lighting Adaptations
Finalization 3D Development
  • Improved 3D Models and remove hidden faces from the 3D models
  • Use a texture atlas for the UV mapping
  • Reduce the number of materials to a minimum, possibly to only one. In our case, we ended up using only one material for all environment assets and planets. The environment and planets both use the same texture mapping material. The grass is procedurally created and has its own material.
  • Separate mesh exports to take advantage of geometry instancing
  • Make the environment art work without dynamic lighting

Visual Development

Moodboards
Testing Style ideas in PlayCanvas
Individual Planet Moodboards based on Cantons of Switzerland
Example Render I made as a visual guide in Blender
Final Planets in PlayCanvas