Biscuit Olympics
Biscuits! Games! Best idea ever!
This is one of our older test projects. It was created for integration testing of new packages our latest packages.
This project is used now in our continuous integration environment. We update it with new features and tests from time to time. It's mainly used to upgrade test new versions of Unity.
Pacakges under test in this project.
- Cinemachine
- PackageManager UI
- TextMesh Pro
- LWRP (Now Universal Render Pipeline)
- Test Framework
- Post Processing Stack
- 2D Animation
- ProBuilder + Progrids
- Vector Graphics
- Timeline
Mood boards
Result
High Dunk
Weight lifting
Characters
I created the characters with Affinity designer. I wanted to test vector shapes using software other than Adobe's creative suite. This revealed an import bug not found using Adobe export. That was quite a satisfying find. This issue was fixed for release, but not before we could finish the project. The game itself is a bit of a mix of .png and vector files.
I wanted the characters to be silly and a bit of fun. I also wanted them to be simple so that i could animate them quickly. I based the characters around fun vegetable illustrations. You know the ones that try to get kids to each more veg.
Stadium
he stadium is simple box modelling using the first package release of ProBuilder. It was super quick to knock up I then hit the assets store to get some sporty textures. I remember creating a football version of the stadium. I created some props too. Cameras, trees, dugouts, flags with physics and a tunnel for athletes to appear from. I can't remember what I did with them they don't seem to be in this version. I'll try and find them and maybe do a quick overview of how they were created in the future.
I remember we found some bugs when ProBuilder objects are used with nested prefabs. The issues I remember being quite destructive, some still affect the project to this day. It is great when you can catch these corner cases before release. Oh, I remember now why the flags are missing, we found a regression where the physics broke, so I removed them. Another successful find.
The big-screens are render-textures, they display what the cameras are displaying. For some reason they stopped working when making this post. It seems I deleted the original texture. I fixed it now (adding a test) and the missing geometry. I must remember to update the images.
Automated Tests
We added tests with a loose TDD approach. We put time into creating an image compare tool. We did have a compare tool from another team. We found it was not flexible enough for the stuff we did with projects in the test runner. We also could not maintain it within the team.
Our tool worked OK on Windows but required some maintenance on macOS. We created a package for it making it easy to share with other teams.
Here's a list of the tests we had at the end of the week
Did this project catch any bugs?
Lots! Mostly in new features which was the aim. We still catch regressions to this day. The most recent was a regression when upgrading of the URP in 2019.4
Was it worth it?
Yes. It's a bigger project than we usually get the time to create. It caught a lot of issues they were not covered by standard tests.
As a team, we got to experiment and cocktail test new packages before release. We had time to dig into our art tools. Finding issues that were previously missed while having some fun. We got a solid project that continues to help us test Unity some 4/5 versions later.