Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

FlowPlay Completes Major Overhaul, Transitions 1.4M Lines of Code to Haxe

DZone's Guide to

FlowPlay Completes Major Overhaul, Transitions 1.4M Lines of Code to Haxe

Use of open-source development technology serves as a case study for thousands of games facing Flash’s impending shuttering.

· Web Dev Zone ·
Free Resource

Code something amazing with the IBM library of open source blockchain patterns. Content provided by IBM.

Thanks to Doug Pearson, CTO of FlowPlay for sharing his insights on the completion of an extensive overhaul of the company’s flagship social casino game, Vegas World. The relaunch follows nearly two years of engineering work focused on improving key elements of the user interface and transforming the backend infrastructure. The effort included the transition of 1.4 million lines of code from a Flash-based codebase to Haxe, in the largest ever project to leverage the open-source, cross-platform development technology.

After years of speculation, Adobe officially announced in July that it will no longer support Flash technology by the end of 2020. Once considered the foremost development solution for the casual games industry, Flash has fallen out of favor in recent years, particularly as mobile use has grown. Today, the thousands of casual games that remain on Flash are in danger of vanishing alongside the sunsetting codebase. As new platforms launch, development technologies evolve, and as the rapid shift to mobile continues FlowPlay’s approach to relaunching Vegas World provides a case study for other Flash developers looking for a long-term, cross-platform solution to ensure the future viability of their games.

“FlowPlay embarked on a tremendous undertaking with the complete transition of 1.4 million lines of code. The official relaunch of Vegas World not only marks years of work by FlowPlay’s engineering team but also a major milestone for Haxe given the scale of the project and broad utilization of the toolkit,” said Nicolas Cannasse, creator of Haxe. “FlowPlay’s contributions to the Haxe community based on the Vegas World project are invaluable and can pave the way for other developers that will use Haxe to make the leap away from Flash over the next two years.”

Prior to selecting Haxe, FlowPlay completed a rigorous evaluation process where the company assessed many of today’s most popular game development solutions including Unity and JavaScript/HTML5. In addition to the unique value proposition of being open-source, Haxe’s robust cross-platform capabilities – allowing the use of a single codebase to natively target web, mobile, and other platforms – were unmatched. Most critically, however, was the capability to maintain the infrastructure while retaining the ability to serve FlowPlay’s community of millions of Vegas World players that largely prefer to engage through the desktop experience but welcome on-the-go access via mobile.

“What differentiates Vegas World from other social casinos, and other casual games more broadly, is our focus on a community experience. An essential element of that is the ability to have seamless, platform-agnostic access for players to connect with friends in Vegas World in real-time, regardless of which platform either player enters,” said Pearson. “Haxe is the only solution available today that allowed us to stay true to the mission to put the needs of our community first, and the years of engineering energy culminating in this relaunch were well worth the effort.”

How does Haxe make developers’ lives simpler and easier?

First and foremost, with Haxe you can work off one codebase that can generate a version of the game that runs across platforms – from web to mobile, and even console – rather than working with several different languages for several different devices. On a deeper level, with Haxe being open-source, there is no problem we face that can’t be solved. Whereas with a commercial, closed-source system like Unity, there are certain pieces that the developer can change and there are certain things that the platform owner would be required to fix. With Haxe, we have full access to everything and can change every piece of the code we run.

How many games are being made obsolete by Adobe’s move away from Flash?

The web-based games market is an enormous ecosystem, likely including hundreds of thousands of games. From a market potential perspective, Newzoo estimates that revenues from browser games, which are most likely built in Flash today, will generate $4.5 billion in revenue globally in 2017.

How do you decide to change platforms with the game you have versus building a new game on a new platform? I’m assuming Vegas World is generating so much revenue this was obvious to FlowPlay. What was the decision-making process they went through?

Vegas World was making a significant amount of revenue, so it was worth transitioning over to a new technology. Additionally, we wanted to be able to leverage what we have from a technology perspective in the future, as our propriety platform all of our games are built on top of was also originally developed in a Flash-based code. As we look to target new audiences and bring new products to market, being able to reuse the platform we already have built gives us an enormous competitive advantage. That’s not quite the same as many game companies, where each individual game is completely independent – we do, and want to continue deriving value from what we’ve spent years building.

Is learning Haxe necessary for the game developer of the future or are their other platforms that should be considered? What are the pros and cons of each?

The game developer of the future needs to be able to learn cross-platform technology. Haxe is just one example of a cross-platform technology, with other major players including Unity and pure JavaScript.

In terms of pure JavaScript, we don’t think it’s a strong player. It tends to be weak in that its performance is generally worse on low-end devices, and in particular will be slower on mobile devices. A major benefit of JavaScript though, is that you’re programming in the language that actually executes on the device, which isn’t true if you use a cross-compilation solution.

Unity’s strength is that it’s very good for cross-compiling on native devices – so iOS, Android, and Windows desktop – as well as it’s high-quality 3D rendering engine. From a weakness perspective, Unity is poor on the web, and most notably, it’s a closed platform. It’s easy for your game to become locked into a specific version of Unity making it hard to integrate newer features. This is fine if the lifecycle of your game is short and shutters alongside the old version, but if you want a game that lasts for years, this becomes a real challenge.  Also since it’s a closed platform, some bugs that may occur only within your game may not be a priority for the developers of Unity to fix, leaving you with no obvious remedy.  If you encounter a show-stopper bug within Unity itself, your entire development effort could fail.

Haxe, like Unity, is a cross-compiler solution, which means you write in one language and then compile over to the best language for the target device. This can cause debugging issues, as you’re debugging a problem that runs in a different language that you’re working off. But since it’s an open platform, there is no limit to how deeply you can go in debugging and resolving any problem you encounter within your game.

While FlowPlay maintains a PC-first strategy for Vegas World, the company continues to expand further into mobile to maintain a cross-platform presence, bring a diverse set of offerings to market, and reach new audiences. The Haxe codebase has allowed for the launch of new mobile titles including Vegas World Slots, available now for iOS and Android devices, with Vegas World Casino coming in January.

“Creating a truly cross-platform experience for a massively multiplayer online game is a huge endeavor. Thousands of people are playing Vegas World at any given time, to connect, chat, and gift in-game goods, and they ultimately do not care about the backend technology, just the experience and ability to play how, when, and where they want to,” said Craig Robinson, VP of Mobile at FlowPlay. “While this transition was certainly critical to the sustainability of Vegas World in terms of Flash no longer being a viable technology, our approach and use of Haxe has set FlowPlay up for success as a social casino, casual games, and mobile developer for years to come, ready to take on whatever the industry brings.”

Following significant contributions to the Haxe open-source community, FlowPlay also recently became a strategic partner of the Haxe Foundation which aims to fund the long-term development of the toolkit. Through this partnership, the company will support game developers looking to evaluate the technology as a potential solution and contribute to the evolution of the open-source platform.

Start coding something amazing with our library of open source Cloud code patterns. Content provided by IBM.

Topics:
game development ,web dev ,code base ,flash

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}