簡単なゲームプログラムを見直していたのですが、最近のJavaだとアノテーションとかジェネリックスとかを使うので、随分と様子が違います。作成当時は、JDK1.02, 1.1, 1.2の混在とApplet, Frame, Swing, JApplet への対応が結構面倒だった気がします。画像ファイル、オーディオファイルの扱いはどうしておけばいい、というのについて正解がないからですが、今もその辺りはかわりません。ただ、手間を考えると、対象プラットフォームだけで動作すればいいかなぁとも思います。対象プラットフォームすべてに対応しようとすると、コードが結構複雑になってしまい、いまいちだよなぁ、という感じがするからです。
メインの処理、リソースの管理、GUIコントロールは別々なわけだから、これらをきちんと分離するようにプラットフォームのプログラムを作成しておけば、メインの処理は再利用できそうな気がします。
しかし、クラス構造を持ち込むと、単純なゲームプログラムも軽く10倍ぐらいのコーディングが必要となってしまいますし、マルチメディアデータを使ったGUIアプリケーションにすると、そこでも10倍ぐらいコード量が増えてしまいます。こういったあたりが、初心者プログラマがゲーム作成から入るのは難しいと思う主な理由なのですが、画面上で動くとコンソールで地味に動作するよりも派手でいいんですよね。