This page will serve as a brief introduction and launching point for the various
projects on which I am working. For now, it's mainly a status page to show
where I am with each of these. At some point, each project will get its own
page, but for now I'll just basically stick notes in here.
Meta-JB Toolkit
Meta-JB is a MetaClass/MetaObject layer providing generic access to model
implementations, decoupling application logic from underlying implementation
details and allowing user interfaces (Swing, HTML, etc.) to be dynamically
generated at runtime.
Checkout the Sourceforge Meta-JB project page
for more information and a better introduction.
Neverwinter Nights Tools
Some tools and utilities for developing/customizing the Neverwinter Nights
game.
Mahjongg Solitaire Game
|
I got addicted to this game when I used to do alot of OS/2 work. A version
of this game came standard on the Warp operating systems and I killed many
an hour clicking tiles away and creating new boards. One weekend I really began
to miss this old game... a few hours later I had hacked up a tile set and was
working on the board editor.
|
 |
I classify the status of this one as alpha even though it's had extensive
play-testing by my friends, family, and co-workers. There's a severe lack of
documentation and the tile set isn't complete yet since I sort of fell down
on drawing the flowers. I also need to make my own set of sound effects since
right now I'm deferring to some of the Microsoft system sounds.
See the full Mahjongg Solitaire project page for more
information and download links.
Mini-GIS (Geographic Information System)
This was started to support some other programs that I tinker with and is still
in the prototyping and design phase, although a good deal of both have already been
done. I've done work with terrain visualization and 3d rendering of height data
before and I wanted a more robust framework upon which to work on those things. I
also dabble a little with fractal terrain generation and wanted to incorporate that
as well.
Generating random terrain for a whole planet is kind of an interesting problem and
without doing some form of localized projection you end up with varying levels of detail
with different latitudes. As you move north or south from the equator, a single degree
of longitude covers a much smaller area of the planet. Many fractal terrain generation
techniques are based on rectangular grids. My hope was to be able to leverage GIS
projections to help the rectangle-based generation algorithms work on a planet's
surface.
All of this led me to a design where data sets, terrain generators, and projectors
can be layered to generate a final data set. Each layer is essentially an operator
on the previous layer, taking in a set of gridded data and returning a set of gridded
data. Together they form a pipeline where a raster of points goes in and a raster of
points comes out. As the data goes through, the individual layers can composite
additional data on as they pass it up, or completely transform the data into another
form.
I'll try to put up some images when they are in a form that I'm willing
to show off.
3D Software Renderer (Quake 1 level viewer)
|
This was a little program I threw together over a week between Christmas
and New Years Eve 1998. I had worked on several software-based 3D engines in C
before, so it was familiar territory. The main reason I wrote it was to see
what kind of performance I could eek out of Java (this was circa 1.2.0) and
primarily to goof around with the Quake 1 WAD file format. I hadn't expected
anything better than to be able to capture still shots, but the performance
surprised me.
|
At the time, my 200 mhz box was able to shoot out between 4-8
frames per second. Not spectacular, but certainly good enough to move
around the maps. Today, the same code can reach upwards of 25 frames per
second on a smoking 800 mhz box (note: smoking refers to the fact that this
800 mhz box was somewhat "souped up"... not that 800 mhz is "smoking" anymore).
This just goes to show you what Java can do with a decent data structure.
I haven't really touched the code since 1998 so it needs a bit of reorganization.
I'll also take the opportunity to add support for the full-screen mode of JDK 1.4. I
really look forward to seeing what kind of performance I can get with some of the
newer 1.4 stuff.
See the full JQMap project page for more information
and download links.
News Service API
Under construction.
Telnet Chat - MUD
Under construction.
Asteroids Clone
Under construction.
|
Unless otherwise noted, all above material - Copyright (c) 2001,2002 Paul Speed
|
|