Does not have a lot of joke animation for the opponent
There is no ads and iAPs
It is not supported on Consoles
It is not supported on TV devices
Unstandard In-Game lives (Faces)
There is no blood environment
Funny and leafy game
There is no ads and iAPs
Support Local Multiplayer
Photo Fighter LLC is a software company located in the United States, Michigan. The company needed help in creating an interactive game with a non-standard solution regarding the gameplay. After discussions and negotiations, all-important agreements were reached. Development was carried out according to the requirements and wishes of the customer, who was also involved in the process. The result of the interaction was the animation based fighter game.
Main feature of the current game is the opportunity to make or select from archive photo for the character and use it as a mask (life). When a player loses 4 masks he also loses his “real” face and correspondently loses the game. Main target: Changing Face and personalized characters and fight with friends.
Game support bot (if there is no internet connection) and local multiplayer. It is available on desktop and mobile (iOS, Android). Monetization of the game: Patent income.
Work on the project took place according to a carefully created algorithm in compliance with the agreed requirements. Thanks to the coordinated work of Computools experts the developed application met all the client’s expectations. Careful checks by the customer also confirmed the high quality of the finished product. Since the launch of the application, customer’s profit has increased by 30%, moreover, he managed to get a lot of grateful and positive feedback from users.
Several key options we solved:
Build interacting 3D gaming environment.
Applied cross-platform technology to make the app available on different gadgets.
Implemented support bot (if there is no internet connection) and local multiplayer.
Increasing the number of clients
Business Process Automation
Digital Platform & Technology
The stack of necessary technologies is determined by future application functions, necessary capabilities and tasks. To select the best technologies, programming languages and frameworks, we study ready-made solutions to similar problems and existing technologies. Also, we are always ready to offer something original and suitable exclusively for a specific project. The current game uses web interaction and has cartoon graphics. Based on these arguments we use Unity3D engine to show high interaction and have wider control on native environment affecting.
It is a comprehensive game development tool that provides fast development speeds. It follows agile game creation and facilitates quick prototyping and continuous releases.
It is an object-oriented, general-purpose language. It is highly versatile and is used to create a ton of projects, including but not limited to mobile apps, cloud-based services, enterprise software, and games. It was specially created to make it easier for engineers to build apps quicker at the expense of a loss in overall performance (on modern hardware this is negligible).
It is widely spread, easy to use and flexible programming language, that can be embedded in any code or system. It is relative fast since it uses much system resource. Moreover, it has strong community support and powerful library support.
SDKs are a spectrum of software intended to make apps and other digital platforms more dynamic. Social SDKs make it easy for developers to create apps that are integrated into larger social media landscapes. They include such functionalities as streamlined user login, app data and analytics, and various gaming features like leaderboards, in-app achievements, and more.
MySQL is a free open source database that facilitates the effective management of the databases by connecting them to the software. It is a stable, reliable, secure and powerful solution with the advanced features. MySQL offers unmatched scalability in order to facilitate the management of deeply embedded apps. The star feature of MySQL is the on-demand flexibility, it allows the complete customization to e-commerce businesses with the unique database server requirements.
The U-net architecture is synonymous with an encoder-decoder architecture. Essentially, it is a deep-learning framework based on FCNs; it comprises two parts: a contracting path similar to an encoder, to capture context via a compact feature map and a symmetric expanding path similar to a decoder, which allows precise localisation. This step is done to retain boundary information (spatial information) despite downsampling and max-pooling performed in the encoder stage.
Communication with the customer is one of the key organizational issues that is addressed in the first place. We strive to build a comfortable interconnection system in order to quickly find a solution to urgent issues, exchange opinions and discuss working questions. Communication in this project began through the UpWork service, then for the convenience of the entire team, we moved to Skype. Video conferencing and discussions were held there. In the future, for emergency communications, PM exchanged phone numbers with the responsible representative of the customer.
The project specification is created at the design stage, when the main actions and sequences of tasks are prescribed. This creates an algorithm for further application development. The final specification is made after the completion of the project and contains goals, the main flow,
alternative flow and other points.
Goal - Changing Face and personalized characters and fight with your friend.
Download application from links
Choose Single Player or Multiplayer
Setup character gender
Setup character color
Setup character face image
Setup background image
Play the game
Win or lose to your opponent
1. If you play offline you play with bot
2. If you play online you can play locally with your friend
For the project, all the necessary specialists are selected. Experts with sufficient experience and necessary skills are carefully selected from the company's employees. A well-coordinated professional team is a key to the successful completion of all tasks at a high level and on time.
Maintaining the productivity of the entire team is the core of the successful interaction of all its members. Besides, it stimulates the development of each involved employee and contributes to his professional growth. To do this, we use a variety of methods and tools.
Developer's meetings help the team interact better and share experience and acquired knowledge. Moreover, this allows identifying errors or bugs in the code that are easily fixed at the development stage.
Brainstorming is recognized as one of the most effective ways to find innovative solutions. At such meetings, developers can offer any idea, even the most incredible. In the discussion of ideas, original solutions are created.
An important component of work on a project is getting feedback. This applies not only to interaction with the customer but also between team members. So everyone gets the opportunity to learn about their strengths and weaknesses and become even better as a professional.
Internal Communication Flow
The internal communication system on the project consisted of two parts. Skype was used to quickly discuss and resolve urgent issues, and tasks were distributed through Trello. Such an ecosystem helps to track the status of tasks and quickly find solutions to difficulties.
Project Management Methodology
The methodology is selected individually for each project. A Scrum was selected for this project.
Using Scrum, new features are developed incrementally in Sprints. At the end of each Sprint, a potentially releasable Increment of Software/Product is available. This enables the product to potentially be released much earlier. Maintaining quality is a key principle of development with Scrum. Testing occurs every Sprint, enabling regular inspection of the working product as it develops. This allows the Scrum team early visibility of any quality issues and allows them to make adjustments if necessary.
Scrum development encourage active Product Owner and Stakeholder involvement throughout the Products development. Transparency is therefore much higher for key stakeholders, both of the project’s progress and of the product itself, which in turn helps to ensure that expectations are effectively managed. In agile development, change is accepted and expected. Often the time scale is fixed and detailed requirements emerge and evolve as the product is developed.
Identifying high-level project goals
Analysis & Exploration
Researching the existing and ready-made solutions
Defining possible restrictions and providing solutions for them
Selecting basic architectural patterns and tools
Forming an application stack, work processes with VCS
Forming the main development guidelines
Interactive Prototypes & Specification
Development of an interactive prototype
Build Development Process
Calculating the number of project teams
Configuring the technological processes and interactions between roles
Build The Team
Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
Adding executors to the team's core
Conducting an intro meeting
Distribution and execution of project tasks
Integration of the necessary options
Implementing the design of the finished page
Testing & Stabilization
Developing a testing plan
UI & Unit testing
Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency
The product architecture plays a key role in developing it from scratch and when working on an upgrade. Computools's integrated approach includes the development of the architecture for the project, which allows taking into account not only functional features but also their interaction.
Implementation On Client’s Side
The launch of the game application was completed on time. Previously, several checks were carried out, including automatic and compliance with the requirements of application markets.
Transfer to the customer’s server is carried out in compliance with all security requirements. All data is transferred in accordance with the agreed conditions and upon completion, an additional check is necessarily carried out.
No additional tutorials or training seminars were needed for this project. However, we are always ready to provide the necessary training materials.