My Exploration with Apple’s AR Technologies: Creating AR Basketball

Yuga Samuel
4 min readMay 31, 2023

--

RealityKit, one of the Apple’s AR technologies explained by Craig Federighi at WWDC19, source: 9to5mac.com

What are Apple’s AR technologies?

Apple’s AR (Augmented Reality) technologies are frameworks, tools, and devices developed by Apple to enable augmented reality experiences. These technologies are designed to blend digital content with the real world, enhancing the user’s interaction and perception with their environment.

What did you explore there?

  1. ARKit is a framework that uses the camera to track the real-world environment, detecting surfaces like tables, floors, or walls.
  2. RealityKit is a framework that renders techniques and physics simulations that enhance the visual fidelity and realism of AR experiences.
  3. Reality Composer is a tool that simplifies the process of creating augmented reality experiences by allowing users to drag and drop digital content into an AR scene and animate them without requiring prior experience with 3D.
  4. Reality Converter is a tool that swiftly transforms 3D models into the USDZ format, ensuring flawless compatibility with the software and all AR-capable iPhone and iPad devices.

What did you make?

As part of the Apple Developer Academy Indonesia, I was presented with a challenge to develop a basic game on my own within a two-week timeframe. For this particular challenge, I decided to reinvent the art of basketball shooting by utilizing Apple’s AR technologies. Behold, AR Basketball, a true testament to the fusion of technology and sporting exhilaration! 🏀

I made AR Basketball

Being a non-basketball player, you might wonder why I chose basketball as the sport to reinvent. Well, sometimes the most captivating ideas are born from unexpected places. I saw basketball as an incredible canvas, an opportunity to combine digital content with physical activity in the real world.

As I started the investigation phase of the game, my primary focus was to understand the use case and purpose of the game. Through research and analysis, it became evident that the game’s main objective was to entertain users. I delved into the world of basketball enthusiasts, casual players, and individuals seeking interactive and enjoyable experiences. This investigation phase provided me with a solid foundation to align the game’s features, design, and gameplay mechanics to bring specifically to the entertainment needs of users.

The next phase involved designing the user interface and experience of the game. With a clear understanding of the game’s purpose, I moved on to conceptualizing the user interface (UI) and user experience (UX). Creating the wireframe helped me to pay careful attention to the placement of buttons and texts to ensure easy and intuitive interaction. To bring the game to life, I utilized the design software “Sketch” to create high-fidelity mockups. This allowed me to test the game flow and gather feedback before proceeding with development.

Wireframe of the game
Hi-fi of the game

As the development process progressed, I encountered numerous blockers and setbacks. Debugging the game and optimizing its performance were just a few of the challenges I faced. The main challenge I encountered during the development process was navigating Apple’s documentation about RealityKit. With a rapidly evolving technology landscape, finding the right documentation and reference materials for my code proved to be a task in itself. However, through persistence and a combination of online communities, developer forums, and debugging, I was able to overcome this challenge and gain a deeper understanding of RealityKit’s capabilities and best practices.

Finally after two weeks, I successfully completed the development of AR Basketball. It was an intense and rewarding journey, filled with countless hours of investigating, designing, and coding. At the end, I’m really glad that this exploration led me not only to create my first AR game, but also to gain knowledge and experience in Apple’s AR technologies.

Just shoot to play the game 🏀

Are you satisfied with the result?

It is a fun experience. Of course, there are up and downs. I feel I could’ve explore more about the AR tools, especially about Reality Composer.

Throughout the development journey of AR Basketball, I received numerous valuable feedback regarding the absence of gesture controls. Many of my friends pointed out that implementing gestures could significantly enhance the user experience by making the basket shooting more realistic and engaging. Although the game did not include gesture controls, I am grateful for the insightful feedback I received, and it has inspired me to explore and integrate gesture-based interactions in future updates of the game, ensuring an even more engaging and seamless experience for users.

At the end, the joy of creating something innovative and exploring Apple’s AR technologies have left me with a profound sense of accomplishment and a desire to continue pushing the boundaries of what is possible in this exciting field.

Special thanks to all of my friends and mentors at Apple Developer Academy | Indonesia who always support me and give feedback for my improvement. 🙏

Last but not least, feel free to try and learn more about AR Basketball at https://github.com/yugasamuel/ARBasketballSwift.git 😁

References:

  1. https://developer.apple.com/augmented-reality/
  2. https://developer.apple.com/documentation/realitykit/
  3. https://medium.com/@maxxfrazer/getting-started-with-realitykit-3b401d6f6f

--

--