I’m from Curitiba - Brazil and me and my friends (a colleague from the master’s class and my master’s advisor) organized a “Coding Dojo” of Unreal Engine here in our University (Federal University of Technology - Paraná - UTFPR). The Coding Dojo was realized from 9 am to 11:50 am, on September 27th, 2017. I’ll describe to you some of our considerations.
If someone is asking “what’s Coding Dojo”, here is a link to know it better: http://codingdojo.org/WhatIsCodingDojo/
In a short answer, I’ll say that Coding Dojo is a event where coders/enthusiasts get together to train some programming languages with a simple task/challenge. In the “RandoriKata Coding Dojo”, there is just one computer plugged into a projector and everyone can participate of the development of the source-code (coding or just commenting).
In our case, we had about 20~30 people at the audience, and everybody was invited (but not obligated) to participate in the code. Unfortunately, just a few of participants knew how to code in UE4, so we had to change the approach of the event. In a traditional Coding Dojo, is desirable that everyone in the room know at least the basic of the tool, and than we can make a code a little more complex.
To do a “real” Coding Dojo, we have to adopt the Test Driven Development (TDD), but there isn’t many thing about it on the internet. Here is a good example of how to do TDD in Unreal Engine (it’s “Automated Functional Testing in Blueprints” and you have to go to Window->Developer Tool->Session Frontend->Automation):
If you wanna a simplest way, you can make tests just creating an Actor Blueprint in your scene and this actor will do the tests of your Blueprints. To do a more elegant thing, UE4 have a option called “Bluetility”. You can know better from these links:
As we didn’t have enough people with basic knowledge in UE to create complex stuffs, we’ve abandoned the TDD. In the first 30 minutes, we’ve explained the concepts of Coding Dojo, Unreal Engine and Blueprints. After that, the public voted on what kind of game they wanted to create (I gave them two options: a FirstPersonShooter and a Bowling game, the code of the two examples is on the Github link at the end of this post, as well as the code created during the event). Then, everyone was invited to go to the computer in pair programming style (one person with the keyboard/mouse and the other person telling him/her tips). To develop the code, was suggested to do “baby steps”, wich is a technique to make the simplest code possible and always explain in high voice what they’re thinking.
The challenge chosen was just create a First Person Shooter Game with these rules:
- When the character hit a projectile on the box, the score increase +1; DONE
- When the box receive a projectile, it change the color; DONE
- Each box just increase ONE point in the score; DONE
- The player must get a minimum score within a time limit; NOT DONE
In fact, it was a awesome event. We are glad with the results and we expect to do more. Also, we hope that this kind of event increase all around the world because it’s fun, puts the community together and it’s an opportunity to train/know development skills.
Here is some links to you:
Github with the source-code example and the result of the Coding Dojo: https://github.com/jeanzera/CodingDojoUnrealEngine
Meetup event: https://www.meetup.com/pt-BR/Unreal-Engine-Curitiba/events/243300847/
Facebook event: https://www.facebook.com/events/175449029691791/
Thank you to Adolfo Neto and Paulo Cezar Oliveira for the support.
That’s all. Thank you!