Till recently I always were a bit uncertain how the previous 2D text rendering might work out on the long run. On screens with dense windows the FPS counter dropped down a bit too much for my taste. There are two different text rendering ways used in the game - one was used for the bottom log, the other for all the UI. The true type font renderer was used for all the UI elements - that renderer was creating a separate quad for each letters in a text. The monospace (bitmap based) text renderer was much nicer and more performant -- but it's working with its own font bitmap format only!
I looked at it and found that if I was able to create my own bitmap out of the current UI ttf font (Vinque), I could replace the slower method and use the low poly version instead. So two things followed by a big refactoring of the UI elements changed the whole UI into a faster performing sweetness. :D
First, I overrode the jME Text class (shape responsible for 2D texts) and thus overrode the default font bitmap path too. Second, I used FontForge to tweak the ttf font into a monospace font set exported into a new ttf set and using 'convert' of ImageMagick converted it into a bitmap. A little tweak with GIMP and voila, there goes the Vinque font and TextureState based font rendering of jME tuned for jClassicRPG. :) After that, a tideous process of reviewing all the UI element and window codes came. But it was worthy! On my Intel gfx card it can even double the FPS on the character creation screens! Saving a lot of polys and also scene graph elements, that's quite understandable. :)
Sunday, 30 August 2009
Optimized text rendering READY!
Friday, 28 August 2009
Top button row icons ready, Character creation improved
Still working on the UI part, this time a lot of minor fixes and polishing of the mouse input was going on. Finally I decided to not wait for the top button icons to be contributed, instead 'do-it-yourself', created them by modifying different free icons or painting it myself. I hope you like it. You will be able to click them with the 'pointer mode' mouse, swap between the different windows - that is quite comfortable. :)
The other major upgrade is of the Character Creation part. Following the idea of TheAncientGoat @ freegamer, I changed the profession selection process. Instead of letting professions be chosen after tweaking the attributes to unknown minimums, now player can select a profession which automatically sets the minimum attribute levels that are required for the given profession. This makes it a lot more easier to select a profession. The other change is on the skill setting page - added a Reset button, which will reset the skill value set to the original values.
Next I can move back to enhancing the map. After that I will integrate the new 3D content (made by tidbit & TheAncientGoat). That done a test release is due - so there'll be a new release before moving on to the next chunk of bigger development goal (story/dialog/commerce system).
Monday, 24 August 2009
Fixing Windows mouse issues, Vista 64 bits note
I have just fixed two issues related to Windows + the new mouse input. First, cursors under Windows rather be 32x32 or displayed corrupted - googled it up after a series of experimentation in Gimp with no success. Now all cursors resized to 32x32, to let it work as fine as under Linux. Second, main menu mouse input didnt work under Windows - solving it was to prepare the code for Windows specific file path separator. All committed into SVN repo.
MysticSkript visited us on IRC chat and told about a problem related to running latest release under Vista64bit. I figured out just today that the solution right now is to use x86 (32-bit) Java installation if you want to run the previous release. (SVN version should work with 64 bit Java and Vista64 tho' I haven't tested it yet.)
Saturday, 22 August 2009
Enhancing the UI experience
Now that mouse support is in, I have looked at the possible ways to use the mouse over the default ways of input on the keyboard that are now already possible by using the mouse. Of two major thing the first to have a ButtonRow on the top of the screen, which let's the player toggle the different windows and to start/stop camping (resting). The second thing is to let the player use the character portraits to raise the Inventory or Character sheet for the given character. Both of these are now in the SVN repo. Check the screenshot! :) I plan to add unique image buttons for the top ButtonRow's instead of the text. Also a nice background for the strip. Nicely done contributions for these two would be mostly welcome! (The image buttons for: MainMenu, Map, Camp, PartyOrder, Behavior [party members background skill selection for use while walking in normal mode], Act [do things like use an item, drink potion], Search [look for opening a door, trap, chest]. For size, look at the screenshot.)
Wednesday, 19 August 2009
[Updated] Mouse support READY!
Currently I have narrowed down my attention to the process of providing full mouse support for the UI. I've added mouse event processing to 70% of the UI elements already, and also cursor replacement, different cursor types for normal/scrolling/tuning values etc. Still more is to be done, the remaining UI element classes awaiting, along with the addition of new Close signs for the windows that lack them, reviewing the UI mechanisms of the already present windows. And of course more and more testing. :) Things are in SVN, so anyone interested can help in testing as well.
Update: spending some more hours on the matter today, now it's time to announce: the mouse support dev is completed and committed to SVN!
Friday, 14 August 2009
Wiki moved, addition of mouse support for the UI started, contributions
Due to the previous mediawiki (self installed) being dogslow (every page loading takes +5-10 seconds just waiting for something, probably DB or some name resolution?) I have decided to revisit the idea of using MediaWiki hosted natively by sf.net for the projects. I've gone through all the content, copied the remaining changes to the new MediaWiki. From now on please use that one (all the links I've tried to replace, so you just have to follow those links). To edit it, you will need an sf.net account, and probably permission from me. I'm not sure how this part works on sf.net hosted mediawiki. We'll see! :)
Yesterday after incroporating mkienenb's new patch for starting the addition of menu mouse handling, I've found some time to tweak it and make it work with the InputBase class of the InputWindows, with a special kind of picking for the UI element based on Mike's advice - to check the WorldBound of the given Spatials under a window's root node. At least buttons are working now! We will keep on working for an all encompassing UI mouse support (dropdowns, inputs, value tuners and all the stuff). You can expect it to work in the next release. :)
Meanwhile tidbit is helping with a lot of different n
ew content. Yeti, igloo, snowy road texture for the arctic region is ready for integration (animation still needed, if interested in that part visit our forum/wiki/irc for more details). He's just finished a new series of Shrines to be integrated as part of the road networks later. TheAncientGoat - another helping hand from the FreeGameDev community - has created a new unique monster (something like a horrifying larva/insect/spider mixture) and posted it on the forums. So lots of things happening in the contributions forum! Check the topics out for preview images! :D
Monday, 10 August 2009
Path development ready
After tweaking the worldmap display (thinner lines of road with direction) and adding some bends to the road network I started to fiddle with some better algorithms for road generation - instead of simple lines drawn between the populations an A* algo should find the most efficient path to build a road upon. With the help of the superb slick 2d java library I managed to add a fully featured, cost based, fast road network generation - the class World of jcrpg implemented the TileBasedMap interface of slick pathfinder. Kudos goes to slick2d! ...and thus ended the first iteration of road network development in jcrpg! :) Check the screenshots to see how it looks on the world map! :) (PS.: Updated 1st screeny, nicert gfx now in SVN.)


