Modernization of Dungeons & Dragons based Role-Playing Game through Complex R&D for US Customer

  • Duration: 1 year 6 months
  • Industries: Media & Entertainment; Gaming Industry
  • Services: Product Development; Backend Development; Frontend Development; Project Management; Early-Stage Innovation, R&D Services; Software Reengineering, Refactoring and Modernization. Cloud Migration
  • Software Categories and Types: B2C Solutions
  • IT Architecture Paradigms and Approaches: Software Frameworks Development; Model Driven Development (MDD); Plugins Architecture and Development; Object-Oriented Programming (OOP); Architectural Patterns
  • Technical Expertise: Java Server Side Development; Web Development; Expandable Software Solutions (Plugin Systems)
  • DevOps Expertise: Advanced build organization
  • Technologies: HTML5; XML; Apache Log4j; Enterprise Architect; Java Standard Edition (SE); JIDE; Git; Java; Jetty; Frontend; Backend; JSON; JavaScript; Various Editors; XML based technologies; Spring; Nashorn Java API; Source Code Management (SCM); JavaFX; Chrome DevTools; Jackson; Languages, Protocols, APIs, Network Tools; Network Tools; Software Engineering and Management Tools; Swing; Java Libraries; Web and J2EE Servers, Java Runtimes; Logging Libraries
  • Team size (3):
  • 1 Project Manager
  • 1 QA Manual
  • 1 Backend

Project summary

The application represents both and network and server client for role-playing game in fantasy genre, like the Dungeons and Dragons game series. Game scripts are not specified in advance and the possibility of their implementation is quite extensive. During the game, players control individual characters, bunch into groups, interact with the outside world, resolve various conflicts, participate in battles and receive rewards.

The application can act as a game client, which connects to the game server, and directly as a server to which other clients connect. It is also possible to purchase various artifacts through the shop.

The project aim was to develop a new expandable system of game logic that allows to automate complicated calculations of characters interactions in the game. The system of characters interactions was revised, all static preset structures were replaced by generalized custom behavior. JavaScript is used for creating scripts. The implementation is performed by means of Java Nashorn.

Technologies

Git, Java, Spring, JavaFX, Swing, Jackson, Jetty, Log4j, HTML, XML, JSON, Nashorn API, JS.

Screenshots

Project features

  • Legacy system. The application has been developed for 10 years and the old code was used in many cases, most of the libraries were outdated.
  • Importance of ensuring compatibility with older versions. It was necessary to provide backward compatibility with older versions of saved games. Also, old and new versions should be interrelated to the shop with paid content. This created a restriction on changes in the data model and game characters.
  • Application architecture. A complex application architecture that is difficult to allow for any extensions. The application architecture did not allow the separation of logical layers, often the processing logic was implemented directly in the user interface.
  • AWT Swing and JavaFX elements are mixed during the UI implementation. It caused considerable complexities when adding new elements.
  • Extensive game rules. One of the project goals is to add the ability to play in different game modes, using different versions of the rules. Its realization requires a deep understanding of the game logic and mechanics. Only one version of rules manual is about 600 pages long.

Project results

  • Iterations were finished on time. New version of game was successfully realized.
  • All project requirements were fulfilled, despite frequent changes.

Company’s achievements on the project

  • REST API was implemented, which provides access to the game characters data viewing outside the client.
  • Application architecture was changed. Several subsystems were completely rewritten to allow them to expand in the future, refactoring was done, which allowed expanding game logic.
  • All elements of UI part of application were replaced with JavaFX.
  • An ability to create nonlinear algorithms of characters interaction was added both with the help of visual programming interface and in text form.

Testimonials

Vadim Kastritsky
CEO, VironIT, Custom software development company

"The task of this project for JazzTeam members was rather complicated, that is the expansion of the game functionality, which included immersion in the existing for more than 10 years implementation. For development it was necessary to study and take into account the game rules, which are listed in a large six hundred page manual. The task is complex, and requires a serious architectural approach and high qualification of the developer. And JazzTeam members coped with it at the proper level.

I note that the working process of JazzTeam company fully corresponds to the spirit of Agile. The team actively offered solutions for implementation of complex technical issues and also warned in advance about possible risks. We are truly grateful to the staff of JazzTeam."

Related projects

Recent Work

    Contact Us

    What happens next?
    • 1

      Leave your project request. We will contact you and schedule a call.

    • 2

      Signing of the NDA to ensure the project info confidentiality.

    • 3

      Negotiation of your request and the required services.

    • 4

      Team forming, coordination of workstages.

    • 5

      Contract signing and project start.