Migrating Sokoban to Qt 4 Creates New Playing Field for Gamers
ICS Helps Green Valley Developers Migrate Their Application to Qt 4,
Increasing Program Stability and Tournament Play Abilities
When Green Valley Developers (GVD) of Huntsville, AL needed to expand their Sokoban game for tournament play, they migrated their MFC
application to Qt® 4 with the help of the Qt 4 experts at Integrated Computer Solutions (ICS). The switch to Qt 4 allowed Sokoban to
be run on a multitude of platforms, improved the application's memory handling, stabilized the program from crashes, and added rich
functionality. From a programmer's perspective, translations to other languages are now much less troublesome, the code is easier to
work with, and the multiple document interface (MDI) added capabilities that supersede the previous version. Working closely with ICS's
consultants, the porting of Sokoban to the new development framework was a smooth transition, saving GVD time spent on adding new
functionality and translating the architecture.
Sokoban, which means "warehouse keeper," is a computer game that was developed almost thirty years ago and still delights audiences
worldwide as a simple and playable yet intellectually challenging game. Although there have been many versions of the game,
Sokoban 2SG from GVD differentiates their program by focusing on solution development capabilities, level set development and management,
generating optimal solutions, and game play analysis. These features led earlier versions of GVD's Sokoban to be utilized for
tournament play, and also necessitated a cross-platform version that had the utmost stability. GVD chose to build Sokoban 2SG on Qt 4, and ICS's consulting staff to manage the port, help stabilize the program and implement new functionality in Qt 4.
Qt 4's memory management allows Sokoban 2SG's pathfinding algorithms to support large levels more efficiently.
"The primary benefit has been more stability in many areas," says Shaun Green, lead developer for the application. "For example, when
using the pathfinding algorithms, we never could get the MFC version to support large levels correctly, and there were problems with the
way it manipulated the memory. Qt 4 handles that more efficiently – with its cached graphics and other mechanisms, the memory management is
much better. In fact, we haven't had any of the previous MFC crashes and the algorithm performance including the solver/optimizer has
noticeably improved in Sokoban 2SG."
Users will find that Sokoban 2SG now offers dynamic skin-size support and advanced display capabilities supporting independent zoom
display control on each level view. Complete French and Russian language support is available, and Spanish will be offered soon.
The new MDI architecture in Qt 4 enables Sokoban 2SG to provide a complete solution to players and level authors for optimizing
solutions and developing new level sets, and has allowed GVD to offer functionality other programs don't offer. "You can more easily optimize
levels, both manually and automated because you can run multiple instances, even of the same level, allowing you to visually play them
simultaneously. This is a whole new interface for Sokoban 2SG – in fact, I've never seen this capability in any other Sokoban program to date."
The algorithm performance including the solver/optimizer has noticeably improved in Sokoban 2SG.
ICS's expert knowledge allowed a smooth and rapid translation of the Sokoban architecture to Qt 4. ICS implemented the best methods
for achieving GVD's goals, as Shaun comments, "We didn't have the knowledge internally to improve the graphic performance. With ICS,
we were able to quickly set up a much improved graphic subsystem that easily integrated with our existing framework. "Bringing the
Sokoban application from a single document interface (SDI) to an MDI architecture was one of the areas where ICS's help was invaluable to
GVD when switching to Qt 4. "That was the most difficult part of the effort," Shaun said, "and ICS provided exceptional knowledge of Qt
and MDI and turned my architecture design of the interface into a reality. They did a real good job."
The release of Sokoban 2SG was a resounding success for GVD, resulting in a software product far exceeding the initial effort and
architecture capabilities. The consultants at ICS made the transition smooth and efficient, and their knowledge of Qt 4 helped
Shaun to further add a wealth of functionality. GVD now has a cross-platform application that is not only widely distributed,
but one with more attractive features and a new architecture that ensures continual expansion of their product for years to come.
The robust features, including advanced display
capabilities, and cross-platform availability of
Sokoban 2SG make it ideal for tournament play.
The place to learn advanced techniques for developing with Qt.
The latest webcast is:
"What's New in Qt 4.8 and Beyond"
Learning Center:
Contact Us | Quote Request | Privacy Policy | Terms of Service | Site Map | Trademarks | Other ICSs
© 1999-2012 Integrated Computer Solutions, Inc.



