Testing by gaming, ACCU and Ukraine

April 24, 2014 in Events

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.

photo

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.

DSC02712

Comments (7)

Subscribe to comments
  1. Indy

    April 25, 2014 at 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.

  2. Andy

    April 25, 2014 at 7:05 pm / 

    Oh please! Double standards, eh?

  3. Dmitriy Mindra

    April 24, 2014 at 10:13 pm / 

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

  4. Thomas Petersen

    April 24, 2014 at 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?

  5. Anon

    April 24, 2014 at 6:28 pm / 

    *Grabs pop corn for the flame war*

  6. alexzzzz

    April 24, 2014 at 5:10 pm / 

    Yes, be aware of us, please.

  7. czechoslovakia

    April 24, 2014 at 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…

Comments are closed.