Author Archive

Avatar Animation

Potential RPG No Comments »

A peek at my commit log reveals a flurry of development regarding character avatar animations. I am in the process of improving the system to support fully animated sequences, which have only been partially handled in prior Alpha releases.

Read on for more details… Read the rest of this entry »

Java AWT-Shutdown Thread Refuses to Die

Developer's Cave, Potential RPG No Comments »

The cleanest way to close a Java GUI application is to dispose of all top-level resources (JFrame instances, for example) and allow the AWT/Swing thread to close itself. Calling System.exit(0) or Runtime.getRuntime().halt(0) is often prescribed, but not recommended, as it could preempt proper shutdown procedures in your application.

If your Java GUI application uses DISPOSE_ON_CLOSE mode, check that your process is exiting cleanly. If it is not, the most likely culprit is that the AWT Event Dispatch Thread is still active. This is well-known AWT/Swing behavior, but there is a scenario in which Java will refuse to shut down this thread, even with all resources closed and disposed.

Read the rest of this entry »

Potential RPG BetaAlpha

Potential News, Potential RPG No Comments »

Potential Games is excited to announce the (not yet public) next major milestone release of our (name yet to be announced) Potential RPG. Development of the Potential Platform, our MMORPG client-server, database, and user interface engine, dominated the Alpha phase.

Potential RPG BetaAlpha, destined to become Beta, is the first (alpha) gameplay release directly targeting the final game design. BetaAlpha shall focus on gameplay enhancements, as well as any necessary improvements to the Potential Platform.

At this stage, Potential RPG remains a closed alpha game, for approved Alpha Playtesters only. The prospective roadmap:

  1. Alpha (closed playtesting)
  2. BetaAlpha (closed playtesting)
  3. BetaBeta (controlled invitation playtesting)
  4. Beta (invitation/open playtesting)
  5. Public Release!

Java Font Changes (in Ubuntu)

Developer's Cave 2 Comments »

I updated my development platform to Java 1.6.0_18 and noticed a disturbing font alteration in all Java applications. I’m developing in Ubuntu 9.10, which currently bundles Java 1.6.0_15 (in the sun-java6-jdk package), so I manually installed the latest for testing.

I have yet (since yesterday) to investigate whether this is Ubuntu specific. Font configuration changes were noted in the Java 1.6.0_18 Release Notes, associated with a particular bug.

Preliminary investigation implies that Java’s attitude toward font consistency has changed over time. Early Java 1.3 Physical Fonts documentation makes clear that:

The SDK’s physical fonts offer … Consistent Look and Feel: Your applications will look the same on all platforms because they will be using the same fonts. This makes testing, deployment, and support easier in a cross-platform environment.

In contrast, a more recent bug submission was thoroughly thrashed for suggesting that fonts should remain consistent across platforms and versions. This seems to contradict one of the primary tenets of the Java platform: “Write once, run anywhere”

In the future, I’ll be looking into explicitly loading a specific font set, possibly by embedding custom fonts within my application.

Hacking-and-Slashing (my Code)

Developer's Cave, Potential RPG No Comments »

Today’s SLOC count is 96,060 (4,237 less than my 100k analysis and 3,501 less than yesterday). While adding several new gameplay features, I was able to streamline the implementation in several places. This SLOC drop results from isolating (and removing) a good chunk of legacy logic, rules, and display code, which was impeding the integration of new features. Most importantly, playtesters should notice more direction in the gameplay, just as soon as I can deploy the next incremental Alpha release.

100k SLOC

Developer's Cave, Potential RPG No Comments »

This morning, I noticed that my SLOC (Source Lines of Code) chart (in the sidebar of this blog) has breached the 100k mark (100,297sloc to be exact). That count is due to drop with the pending removal of some unused tools, defunct data structures, and legacy logic. Still, I thought it might be interesting to do a quick breakdown of the basic components:

Potential Games RPG SLOC Breakdown

The categories are:

  • core: Networking, storage, and application framework libraries
  • gui: Graphical User Interface implementation libraries
  • client: RPG Client application (67% of which is client-specific GUI code)
  • tools: Development helper applications
  • server: RPG Server application
  • other: Data structures, rules logic, and other game-supporting code

Introducing Island Gameplay

Potential RPG 2 Comments »

Potential RPG v0.7.3 (Alpha Edition) introduces instance island gameplay. Go solo or form an expedition party from the Mainland’s Dock. Explore remote islands and defeat a variety of inexplicably malevolent foes. Find rare resources with which to craft weapons and cast spells.

Many balance, rules, and gameplay features are yet to be introduced, but this version includes several significant updates. Island exploration now includes fog-of-war-style reveal. Creatures are more varied. Both combat and exploration are directly related to the rewards you receive from island adventures.

Intrepid explorers (Alpha Playtesters) be warned: there are some known issues (see the Playtester Forum for details).

Introducing Magic

Potential RPG 1 Comment »

What fantasy RPG is complete without magic? Today’s Alpha v0.7.2 release introduces spellcasting. The current implementation is preliminary and incomplete, but a handful of spells are provided, primarily for playtesting purposes.

In addition to spellcasting, v0.7.x includes streamlined weapon crafting and simplified character abilities. The gameplay continues to come into focus with the game design, with the goal of being feature-complete for Beta.

Potential Beta Hosting

Potential RPG No Comments »

I’ve posted a minor Potential RPG update for Alpha playtesters (v0.7.1). The core experience remains similar to past Alpha releases, but several gameplay subsystems are in the process of being streamlined, improved, or generally updated. In fact, several elements are currently in flux, as gameplay is not the primary purpose of this release.

The real motivation behind this release is to evaluate a new server hosting environment, potentially for Beta (and beyond). Alpha playtesters should be on the lookout for behavioral changes or technical issues that may arise from the new hosting environment.

My immediate attention remains focused on game design, with the goal of becoming gameplay-complete for Beta. Afterward, I will turn my attention to evaluating technical issues, including stability and scalability under this new hosting environment.

A Journey on the High Seas of Game Design

Potential RPG No Comments »

I have returned from my voyage of game design discovery. The preceding software development gap represents not a wasteland of non-coding in the SLOC graph, but a vast sea of game design. Setting out Jul 31 from the lands of Alpha, on the high tide of game system capability, but in the rough surf of gameplay unrest, I navigated the wide ocean of potential game design. Through swells of concepts and torrents of rules, I sought for the tranquil waters of design simplicity and steady wind of compelling gameplay. Having charted such a passage, I struck land Sep 20 upon the shores of Beta, committing the first of my design discoveries to the travel log (software repository), as chronicled under Recent Improvements (see the sandbar… er, sidebar). The fruits of this journey shall be had by all, as I venture forth to forge new Lines of Code, as progress progresses anew.