Categories & Tags

Testing by gaming, ACCU and Ukraine

April 24, 2014 in Events by

For several weeks I’ve been preparing a playtesting blank solution that contains integration tests based on Unity Test Tools and stubs for game objects.

Earlier this month, I was lucky enough to have the opportunity to present it at a workshop held at one of the best programming conferences in the world – ACCU conference. Each year, ACCU attracts top speakers from the computing community including Andrei Alexandrescu, James Coplien, Tom Gilb, Robert Martin, Kevlin Henney, Andrew Koenig, Eric S. Raymond, Guido van Rossum, Greg Stein, Bjarne Stroustrup and Herb Sutter.

Workshop attendees got access to the project source files which they could then work on in Unity. Scenes that contain tests are called “Level1”, “Level2” and so on. When you open the scene, the tests fail. The challenge is to start implementing functionality to make tests pass, and as you do so, the game starts growing.

When all the tests pass, you can proceed to the next level, and the process itself is like a game. After completing each level you can open the scene called “Game” and try it out.

If you’d like to play around with it, the Growing Games Guided by Tests project is available on GitHub. The game involves building an ultimate weapon of intergalactic destruction to fight back an invasion by green aliens: Have fun!

Solution packages are available for each level. If you get stuck, just navigate to the Solutions folder and open the package with the corresponding level name. Using these solutions you can navigate back and forth within the exercise. “Level 0” reverts the solution to its initial state.


My workshop gimmick is to trade chocolate coins for audience attention. If someone asks me a question or points to a mistake, I give them a chocolate coin in exchange. As it was a live coding session, I made both intentional and unintentional mistakes but the audience always noticed them.

They also asked lots of questions, even asking me to show how the tests were made and how to make one from scratch. That input that will let me make my next workshop much better. By the end I was right out of chocolate coins. Thanks guys!

On the conference’s second day I volunteered to hold a lightning talk: “Public Speaking for Geeks.” I’ve been holding talks since 2011, and when I delivered my first conference address it didn’t go smoothly. Actually, it was a failure. But I’ve learned a lot since then and I wanted to inspire people to try public speaking, learn from their experience and try again.

As you might already know, Unity Technologies has an office in Odessa, Ukraine; a beautiful city on the Black Sea coast. The Odessa office is home to 11 engineers from 3 teams: SDET, STE and Toolsmiths, and it’s where I’m based.

Ten minutes before my lightning talk, I got a message from my friend Tom Gilb: “Forget public speaking. Tell them about Ukraine!” It came as a shock. I suddenly realized how much I wanted to tell the truth about Ukraine, to tell people what has happened and how it affects us.

In a strange way this helped keep me calm and meant that my Public Speaking for Geeks address went well. Already, I had another idea for a talk I really wanted to hold.

The feedback I received after my Geek talk was very positive, and a number of people approached me the following day and told me that, after hearing my talk, they had also submitted lightning talk proposals. And that gave me extra motivation to talk about Ukraine.

In the end, the act of explaining the situation in my homeland to my audience made my talk a very emotional occasion, not least because of the feedback and support I received from so many people. ACCU, I already miss you.


Share this post

Comments (9)

Comments are closed.

24 Apr 2014, 4:52 pm

German occupation of my country: 1938- 1945, 7 years
Russia occupation of my country: 1968- 1991, 23 years

(1968- Russia, Bulgaria, Hungary, Germany and Poland invaded my country)

Be aware from Russia…

24 Apr 2014, 5:10 pm

Yes, be aware of us, please.

24 Apr 2014, 6:28 pm

*Grabs pop corn for the flame war*

24 Apr 2014, 6:59 pm

Greeting alexzzzz. Stay cool, my english is too bad for flame, but you can read something about Hitler’s “border regions” method at wikipedia:

24 Apr 2014, 8:19 pm

Hey Alexzzz, what about Eastern Germany? It was part of the same block like czechoslovakia and in western germany are still US soldiers. Drone killer commands are partly controlled from German ground. NSA is spying us all.
So what do you think? Were we free in the past and are we free right now? Why could it happen that the NATO where involved in much more wars after the breakdown of the sovjet union?
We all should raise and call for freedom, peace and social justice. Dont let you divide into parts.
Did you know that the word part and party has something to do with each other? Parties will always divide us into parts. But we all have the same goals to live prosper in peace, freedom, to raise kids, to love our partners and families and to make games of course! :)
So try to walk in my (German) shoes, in the shoes of an Ukrainian or Russian and dont let you catch from ideology!

Thomas Petersen
24 Apr 2014, 10:00 pm

Shall we keep the global politics in the background and focus on the awesomeness that is Test Driven Game Development? Has anyone tried the project?

24 Apr 2014, 10:13 pm

I’ll be glad to hear any feedback regarding the project. How can I improve it? What do you think?

25 Apr 2014, 7:05 pm

Oh please! Double standards, eh?

25 Apr 2014, 9:11 pm

Dmitriy, You have had great idea to use test tool to learn Unity. I checked and solved all test in project from Github. Very nice hints in comments, smart usage of scenes with solutions and very nice particles with starts. It is my first practical contact with Test tools and I hope that more teachers / book writers will use them as practical tests.

Leave a Reply

Comments are closed.