BBE:WS

Hello World!

SkillzTrack (Laredo Edition)

The 2014 all new Laredo edition is the first truly cross platform solution produce by years of developmental experience. Using the new Overland interface for a cleaner look on sizes of all screens, SkillzTrack becomes the first solution to be available on Android mobile devices. Laredo brings with it new enhancements to view the history of your league season and it's new website generator highlights each meet's best players from each division. The new print features allow for printing of the current meet score cards and playlists directly from SkillzTrack. The all 64-bit availability now brings the SkillzTrack solution to both your Windows and your Linux desktop environments.

Born From Mobile

In 2004 Wolffysoft was exploring the world of Microsoft's embedded operation system Windows CE. At the time the platform was new, solid and heading toward being the OS of the first smart phone. While developers were able to obtain the designed for Windows CE and Windows Mobile certifications and the associated awards for embracing the platform, the technology became outdated in both software and hardware. While all the CE projects ceased development in 2006, the application known as StatMaster was finally retired in 2010. That old software wasn't archived but ported into a new cross platform implementation with new looks, design concepts and web publishing. What would emerge is the all new SkillzTracker.


The project originally started as a Lotus 1-2-3 spreadsheet. It wasn't long until a less data intensive process would be required. Originally build the software on Windows CE, the scoring was done by tapping the place a player finished on a hand held device. The need to drag laptop PCs around was eliminated.

The Skillztrack software has come a long way since its original, blue themed prototype back in 2011. Instead of porting Statmaster, Skillztrack was written from the ground up developed on top of components that would web enable realtime stats for tracking player progress. The original designs drafted would call for a component to sit on top of a P-ROC control system and ultimately provide the UI for friend and team competition in a revamped game of the American classic: Pinball. Due to time and financial constraints, the concept behind the S.E.Pinball project was indefinitely tabled. The scoring solution ended up being completely gutted with only certain elements getting a second chance. The prototype version included images along the sides of several dialogs and display screens to provide the appearance that would appear in actual game menus. In addition, its intension to run on top of a game left game specific features like rivals and awarding achievements in the base.

Although currently running on the PC platform, the software when it bore the name stat master was a mobile computing project. With the intent to return the software to a mobile platform in the near future, the UI for the Kaspyr edition required modification. Many menu items were reduced into a single tool bar that runs across the bottom of the display and is context sensitive to the view. With the vision that documentation would not be handy while running on a phone or tablet all actions are enabled and will provide pop up messages if a feature is not available and the course of action to remedy if needed. Font sizes were increased to allow for fat finger scrolling and controls were rearranged to avoid screen clutter. Items that are important such as league configuration and how scores are generated are intentionally not provided in the UI. This will allow tablets to be passed around without risk of having important scoring rules altered. For platform compatibility all files are stored in Wolffysoft developed platform-independent storage.

Match making is being added to the system allowing the software to create playlists. The three options intended to be available would be ranked, unranked and campaign. In 2014, the Laredo edition brought SkillzTrack to the Android operating system, returning the solution to its mobile heritage.

 

Building on Kaspyr

In 2012, SkillzTrack Kaspyr edition was put into play. Gone are the blue color schemes and in are new features. Improved are the software awarded virtual trophies which are now unlockable achievements. Players can now lookup both earned achievements and plot the requiredments to unlock those remaining.

To keep memory and data storage to a minimum, every data component is kept in its appropriate storage space simulating a higher normalized form database. Wolffysoft developed managers maintain data of similar structure. When it comes time to compete, this information is served up in the form of playlists.  The Wolffysoft development system knows how to de-code the playlist maps to produce the an elegant display for statuses and results.

At the end of new scoring meets, results and player's stats are crunched into a simple HTML based website. A built in FTP client will automatically published the needed files to a live website for public viewing of each player's performance.

Concepts

How many code bases are needed for cross-platform support?

Just one. SkillzTrack uses the Qt cross-platform development toolkit. Windows was the first OS version and has been expanded to both Linux and Android. This causes a complete rewrite providing improved flexibiltiy instead over porting the CE version.

What is the primary purpose of developing SkillzTrack?

There are multiple purposes for the implementation of this project. The primary reason was to migrate away from a platform and operating system that was sunset with the advent of Windows Phone OS. In that process arose the next important reason: making the application customizable to be used by other organizations. The underlying rules are no longer compiled into an embedded application but are instead read from an XML file. This allows the rules to be modified to meet a specific scoring purpose. In turn, that should allow this application to be commercially available to other clubs/organizations and tournament operators who could make use of the provided automation.
In addition, the rule compilation modules along with the player's SkillzCard are planned to be built into a future project. With the rule stack and result generation in place, the addition of the phased in WS Framework will start shifting this into a peer-to-peer system while making use of code reuse.

SkillzTrack added awards players can earn, why?

That is just one of many aspects from modern gaming that was borrowed to enhance the produce and create a UI that is understandable by today's players. Matchups in the software are referred to as playlist and each round is considered a party. The primary mode of a league season is referred to as a Campaign, which is also used to describe a team's regular season schedule in major sports leagues.
As a sign of the times people have come to expect that their experiences in a certain adventure would be marked with progress. Looking at wins and losses is just a collection of good games and bad games. Adding these awards provides a visual indication that a player is progressing in the adventure and once an award is earned it can't be taken away. For the Kaspyr edition, gamer Giovanni Guiffra tweaked the achievement system to restore it back to how it would have looked and felt if it was implemented in an S.E.Pinball game. In addition to changing the words and some awards to be consistent with gaming achievements, a secret achievement that pays tribute to S.E.Pinball was added.

What is the story behind the concept of Rivals?

SkillzTrack is intended to record the progress of players who may not be competing specifically against people of similar skills. Rival's allow players to choose who is close in skill level to single out as someone they are going head to head with. During the "It Starts With One" campaign of 2011, the concept was introduced as it was used in the S.E.P. prototype project framework. When the S.E.P. project was officially shelved on November 10, 2011, the feature remained behind for friends who are charting progress toward a co-op goal and will be expanded upon for other comparison type features. SkillzTrack was originally designed to be just one component of the S.E.P. project and it is still envisioned to be built into a bigger project in the future.

Why are player reports static HTML files?

For simplicity. Most hosted websites have a limited set of technologies that can be used for security reasons. Static HTML rendered using CSS doesn't require any scripts to be execute either on the server or within the user's browser. StatMaster required WebBlaze to be run on the server and run-time libraries would generate the content to display in the browser. WebBlaze 2.0 is shifting away from this model. Not to mention when the software is available, static HTML files are the safest assumption that the web host will permit to be uploaded.

Is SkillzTrack still in development?

Yes. SkillzTrack is a fully developed software solution that is used in real world situations. In addition to serving it's primary duty, the product is used for testing of new technologies and enhancements that are intended for other applications.

 

Guide Map

SkillzTrack is designed to be easy to use on a desktop or mobile device. The single menu provides context sensitive functionality. Each view is designed to be as human intuitive as possible with out the need for complex or buried features. Before you begin, there are some setup actions that are required by a person who is familiar with a text editor and just enough technical knowledge to be dangerous.

Configuring the League Rules

All the settings from the number of meets, to the points awarded, to the name of the league are configured in an XML file called LeagueConfiguration.xml. To prevent accidental changes to these settings a UI is only provided to display the current configuration. To configure the league settings the XML file will need to be opened in a text editor and have the values manually edited. Note: It is recommended that the person editing this file be familiar with XML files. Once the file is saved the software has been configured. If SkillzTrack is running when the file is saved it will need to be closed and re-opened for the new changes to take effect. This file is loaded only once at application start.

Making Players Photogenic

By default, a generic silhouette is used to represent the picture of a player within the league. When adding a player to the league the player is assigned a number, this number along with their gamertag forms a unique identifier for each player which is used to create the files that contain each player's stats. These stats are stored in a subdirectory of the application called "Reports". To set a custom image for a particular player you need to first create the 300 by 200 image thumbnail to use, then save it to this file as a jpg file using the same player number gamertag naming convention. A properly named jpg file in this directory will not be overwritten when player reports are published and the image will be used by both the app and upload to the web for Internet viewing. This step may be easier to properly set up once all the players in the league are entered into the software and a report is published. The Android version automatically marks the location to not be scanned by device media scanners so Skillztrack won't affect existing gallery lists.

Enter Players, Games, and Get To It!

Now that all the editing that requires manual configuration of files is complete it is easy to get a league set up and running by following these simple steps:

  1. On the players tab, select new and enter the player information. Repeat this step for each player that needs to be added to the league.
  2. On the machines tab, select new and enter the information about the pinball machine that will be used. Repeat this step for each pinball machine that the league will use for play. In the owners section of the pinball machine properties dialog, add each league member that owns the machine. When a host is selected for a meet, games that are listed as being owned by the host will automatically be highlighted and will be the only games listed in the meet screen.
  3. On the season tab, select new, acknowledging any dialogs that you are prompted with. From the "Choose Your Fate" dialog, select the option that corresponds to the type of season playlist to generate for competition.
  4. For each meet, select the meets tab at the start of the meet and select new. A playlist for the meet will be generated. A dialog will appear asking for host information and will allow you to select a substitute or remove a player from the playlist in the event of an absence.

During the meet, information about the matchups and the results will be entered on the meet tab. Selecting the machine name link will present a dialog in which a machine can be specified as the pinball machine used for that round. By default all remaining rounds will be set to this machine so if substitutions aren't required this action only needs to be performed once for each column. Selecting the round number will present the dialog in which results can be entered. Once a result is entered for each player the proper number of points earned will appear and achievements earned by the players will be unlocked. These points are added to the player's meet score and over all league score at this time and all other statistics are updated.