Best practices: Making 3D modeling and 3D printing available for anyone

29 Apr 2022 Pavel Pozdniakov

The 2022 forecast predicts that the board games market on the global level will reach $21.56 billion by 2025. At the same time, more and more creative individuals have gotten on board with independent game designing and self-publishing. It was just a matter of time until someone would come up with the idea of creating a 3D printed version of oneself for the board game. Well, the Hoplite Game Studios did just that. They turned to ABCloudz to develop a native iOS app for making 3D models using a 3D printer with e-commerce functionality and Admin Panel to create and sell the custom miniatures printed on the 3D printer for the board game. 

Defining a workflow

Hoplite Game Studios is a classic startup with a bright idea. They reached out to ABCloudz to turn their idea into a real product. The ABCloudz team was a suitable technology partner because we already have vast experience in application development, including projects with complex image processing, data processing, payment management, and storage. More so, our considerable experience in integrating third-party services came in extremely handy during the course of this project.

First thing first, we created a workflow. We had to interconnect the head scanning process by creating 3D figures with scanned heads and setting up an orderly queue of the 3D figures into a single production workflow. We created a seamless workflow consisting of four essential steps:

Step 1: Scanning: In this step, the team built a native iOS application that utilized the high-resolution iPhone camera.

Step 2: Rendering: Within this step, we utilized a third-party software called the “Acropolis” system. It creates a complete 3D rendition of a face the user scanned with their phone.

Step 3: Compilation: Combining the 3d face model created in “step 1” with the figurine from the “Acropolis” system 3D” image library was necessary. The library and the storage for finished files are stored in AWS S3. Merging “the head” to “the body” was done via third-party Blender 3D graphic editor software.<

Step 4: Streamlining: In this step, we streamlined the printing and payment processing. We integrated the Square payment system to achieve the most seamless data flow.

Watch a video about the application, its functionality, and its technical solution here:

Technology challenges

It is very rare to find a project that runs smoothly from beginning to end without any surprises. This one wasn’t an exception. We’d like to share with you just a few interesting challenges we faced here:

  1. Hardware mindfulness: Developing a native application was not a “choice” and more of a “need.” It stemmed from the capabilities of the hardware – namely, the camera. A 3D high-resolution image was a crucial requirement for the quality of the end product. Thus, the ABCloudz team needed to create an iOS native app to utilize a high-quality iPhone 11 camera that supports the 3D scanning process. In addition, it allowed transferring a high-quality image to the “Acropolis” system, which had a hefty list of requirements.
  2. Correct multi-component integration: The system we built consisted of many components, like AWS databases and services (AWS EC2, AWS Lambda, RDS with MySQL database, Cloud Watch, AWS S3, and Amazon SNS), the Blender graphic editor, and “Acropolis” system 3D modeling tool.  The integration of all these components  brought some real challenges:
    The need to correct the matching of the scanned head and torso from the library into a  complete figurine. For example, to check if the combination of coordinates to create the 3D figurine is correct. In cases, when the coordinates didn’t match, a faulty 3D image was created. Here, not only the correct alignment coordinates are essential, but also a timely and convenient fix and update of coordinates for all figures offered in the library.
    The system could freeze at any stage of the workflow.
    The freeze, in turn, led to the involuntary pause of the entire queue of orders.
    The freezing of the system and its components lead to the consumption of cloud resources that the customer didn’t budget for.

To optimize the cost of using cloud resources and prevent freezing of the system and the entire queue, the team created numerous checks and custom scripts with lambda functions.

The app is built!

Both the customer and the team are pleased with the result, and the ABCloudz team has now gained new experiences and another cool project for the company Portfolio. The client had been actively participating in local IT competitions with our product and won the top prize. The customer’s representative has commented, “We won the top prize and have successfully filed US patents protecting our application and manufacturing process. Everything worked perfectly – thank you for helping us get the build ready in such a short timeframe.
Your team accomplished more with the move to cloud-based automation. The automation system we implemented reduced our costs by a truly insane amount. Our manufacturing costs are down by over 95%, and our production speeds are up by 4500%. And once again, I’d like to say that we hope to continue working with you in the future as we launch and expand our app. We will continue to prioritize working with our Ukrainian partners over all others.”

At the moment, the company is working on raising additional funding for further development of the product.

If you have an exciting idea for 3D modeling, printing, or any other software product, contact us for a free consultation!

Ready to start the conversation?