Previously, the size of sprite images were assumed to be a certain size. I've modified it now so that the sprites can be of any size (check out the new screenshot for a demo of this). Also, the engine is now smart enough to detect when only one of the left or right animations has been specified, and to automatically generate the missing animation by mirroring the one that's present.
Further more, I'm working on defining extra sets of animations. Right now, there are only 4 animations, for walking in the 4 directions. I'm going to add support for "standing" animations for sure. Possibly, I will add support for random "idle" animations (i.e. a player blinking, or yawning or something similar). Also being considered is allowing the user to define custom animations and have the player be able to specify via the scripting language when these animations should be used.
After a long break, I've started work on JTBRPG again. The "visible" changes are a formal design document (which is in the CVS), a splash screen (see the screenshot gallery), and a graphic device selector (people with multiple monitors can now select which screen they want the game to load on).
The less visible changes are the rewriting of the resource manager. Unfortunately, I've realized that the ability to cache resources and to have those resources be mutable are at conflict with each other. The game engine wants caching so that the levels load quickly. The editor wants mutability so that you can actually edit the resources. The solution I've come up with is to write two distinct resource managers.
Coding progress slowed on the project a bit these last few days because of recent "real life" social obligations. On the other hand, Wufei, one of our latest members, has been working pretty hard at drawing some art for our game, so progress on the bundled sample game can begin.
The editor is now capable of saving changes made to map files from within the editor. I consider this to be a big step, but we've still got a long way to go. The editor still can't, for example, edit the scripts associated with NPCs.
Imperator rewrote the NXMLNode class to be fully XML compliant, which means that core engine is that much more stable. Hooray!
Also, the SoftReference thing was a lot easier to implement than I thought, and it's now completely finished. Next up is working on actually saving the changes you've made in the editor.
I'm learning a lot about Sun's Graphic2D API as I continue to write the editor. Some of these ideas I can use to improve the game engine itself (such as dynamically setting the alpha channel of images, instead of having the alpha channel pre-set in the PNG files).
Otherwise, I've made a lot of small changes to the editor, each individual one not worth mentioning but, together, makes the editor "feel" new. You can view the screenshots to get an idea of some of the changes.... read more
I just installed this wonderful profiler (http://sourceforge.net/projects/eclipsecolorer/) and thanks to it, managed to increase the speed at which the tiles are drawn in the game engine 6 times faster just by re-ordering some instructions. This is the first time I've useda profiler, so I'm quite pleased with myself. ;)
I spent all night hacking at it because of some bug involving JScrollPane's ViewPort PreferredSize attribute (apparently, if you set it to (1,1) then (640,480), it'll start at (1,1) then go to (640,480), but if you set it (0,0) then (640,480), it'll stay at (0,0) forever) but I've finally fixed it and now the editor loads the map files properly. You can view a screenshot at http://jtbrpg.sourceforge.net/gallery/2004-05-04%20JTBRPG%20Editor.png
The editor now loads and parses the core game configuration files and the tilesets. Next step is to start parsing the maps. I've posted a screenshot of the editor so far at http://jtbrpg.sourceforge.net/gallery/2004-05-03%20JTBRPG%20Editor.png
I was planning on making another release at this point (Alpha-2), but I don't know how to make 2 entry points into JAR files, or if it's even possible to make 2 entry point into JAR files. Perhaps I'll have to make a new 3rd class that acts as a "selector" for the two entry points.
The editor is coming along nicely. I think I've figured out the basics behind Sun's Swing API, and so now I can spend less time reading documentation and more time actually coding.
I've also added a long neglected feature in the engine: The ability to specify what sprite to use for the main hero (it was previously hardcoded to be nebu.nxml).
As you may already know, the JTBRPG project is composed of two primary modules: The engine, and the editor. All progress up to now has been concentrated on the engine. I've just started work on the editor. The code doesn't do much right now other than showing a window with a menu.
The JTBRPG website is up! I haven't done PHP coding in about a year, and now that I'm doing it again, I'm really getting into it. Where ever possible, I've made the site zero maintenance. I'm trying to get the "News" and "Download" pages to get its contents from SourceForge's RSS feeds. If you're reading this from the site's home page, then it's working. The "About JTBRPG" page, unfortunately, still have to be updated by a human. =/... read more
This is the first release of the Java Tile Based Role Playing Game project to Sourceforge, which demonstrates the engine via a sample playable game.