Swift Student Challenge: AI for Games
Tags: octograd2020
Published: 2020-05-20 18:01:25

Hello everyone!
My name is Renata, I am a student in the last semester of Digital Systems and Media from Universidade Federal do Ceará. 

Every year, Apple give to the students around the world the opportunity of attend the WWDC event (the biggest event of iOS in the world). I had the opportunity of attend twice (in 2017 and 2019). I was really excited for this year project, because it was going to be my last opportunity. However, with the COVID quarantine the in loco WWDC event was cancelled and, instead, an brand new online event will happen. I was sad because I won't have "the last chance of attend as scholarship", but suddenly Apple announced the "Swift Student Challenge". The prize it wasn't that fancy travel and unique chance of meet Apple's employees, but the jacket and pins.Because of it, a lot of my friends gave up of build an "incredible" app in 10 days for try the scholarship this year. 

Do you wanna know my opinion? The prize is the last thing it matters in this competition. For me, what matters if the chance you challenge yourself, you find something you love and make, in a short time, a project that impress one of the biggest companies in the wolrd. And, the best part, have the chance to make friends while you are doing it. Talking to people around the world to awnser questions, help and being helpt by others, this is awesome. Give up of this challenge would make me lost all this experience, I couldn't run away.

All my projects have a piece of who I am inside. This year couldn't be different. I'm passionate about games, even being probably one of the worst players in the world. However, until last year, I was afraid of "low-level" computing, which makes me always run away of game subjects in university. Well.. thankfully, I fought against my fear and I decided I would give a chance for me, I took a low-level game Subject: Computational intelligence for games. It wasn't easy, but thanks to the Internet community, I was able to learn the concepts and even finish it with good grades. 

I also discovered something funny: AI for Games, nowadays, are not THAT hard, thanks to the engineers from the past. That's why I decided to show it in my playground: you don't need to be a PhD in Games to use a State machine or a Decision Tree, but the use of both will making their games a lot more realistic. Then, my playground is a not-finished petcare game. In every page, you are invited to check what's missing in and then fix, applying one AI technique. I did this playground using mainly UIKit, with viewcode, which was challenging. I also was really glad to discover the GameplayKit, every concept I was trying to teach was already there. It was so fun to implement it with swift, the functions were complete and worked like magic! I also had the support of AVFoundation: AVSpeechSynthesizer made my character alive  and, owing to my custom AVPlayer, I added a background music, making the experience a bit more playful.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/vntufs4ogjiiyuc1tpxu.png)

It was really cool had the chance to make a game, even more when it gave me the chance to draw, something I didn't do in years! I was happy to also honor one community I am part of: [CocoaHeads] (https://www.cocoaheads.com.br), a community of iOS developers, where I had the opportunity to do free events, share knowledge for everyone and also inspire people with my passion for iOS. The little plant is called "Cocoa" in reference to this community.

[Demo](https://youtu.be/fZ3ilbJx5_8)

Thanks for Reading! If you are interested in my project, you can download for free in [my github] (https://github.com/xReee/WWDC2020).