Warning: Parameter 1 to NP_Poll::event_PreSkinParse() expected to be a reference, value given in /home/pokelege/public_html/nucleus/libs/MANAGER.php on line 370
The Project Gamma Development Progress Blog » Archive
The Project Gamma Development Progress Blog

Improvements to the maps

May 30, 2009 by DX-MON |
Well the making of the paths for textures relative occurred 2 days ago to when this is posted (31 May), it was realised by making the optimiser do the work.

the news so far: We have changed how yet another of the major components of landscape is formed: small-trees. These are now created via the dual-layers, with the "world" layer acting as a holding point for the background that the trees will have, and the "over-world" layer holding the tree-texture to apply. This has allowed us to greatly optimise the tile-layout on the world map, reducing the tile-count by some 1000 tiles. This is good news for our dry-runs where overlay layers will be disabled, but it is also good news for the end result due to the fact that it makes the maps much easier to load and display..

I will soon finish work on some new interfaces to allow for sections of the map to be split up and have their own names, allowing for the naming of paths and settlements. When those interfaces are complete, then we will be able to optimise the maps hugely for use in the game engine.

Also, the modifications that were needed to be performed on the database for various reasons are complete, and the client and server are now able to communicate the new data to each other correctly. Also, the first stage of loading and closing maps in the client are complete, however the maps are not read in quite yet, because we need to modify the functions that load the maps and a key component of the underlying format to allow for more than 2 layers (needed because of the new tree modification causing conflicts where a tree overlays something else on the same layer (such as the corners of rock formations) which will be optimised out by the optimisation tool). The issues with trees also allows me to write up some modifications to allow for the entire map's data-stream to be compressed, layer by layer. This should enable us to save up something in the region of 100Kb or more in disk space, and will not effect the loading time. I have also worked out some optimisations that can be done to the loading process that will cause there to be only 1 memory allocation per tile-set loaded, which will allow for much faster processing of the tile-sets and for the memory layout and demands of the game to be reduced significantly. However, this optimisation along with some display ones can only be applied to the final client, not the MapMaker software used to create the maps.

On a lighter note, we are currently working on completing Route 112, and when that is done, will then move off in the direction of Route 123 again and continue to pursue the expanses of land from there to then meet up with one of the 'Stitch Points'.

More map work

May 27, 2009 by DX-MON |
Well since my last post only 2-3 days ago, I've written the first piece of a de-fragmenting optimiser for the maps..... it currently de-fragments the textures held in each section of the map by reassigning their texture numbers back into numerical order without gaps and correcting the underlying map files to suit, including adjusting the maps....

I have also made sure that all of Route 123 and 50% of Route 111 are complete, these are the two working ends of the map with 2 other places acting as "stitching points".... we have removed a third by completing the loop of the map that it is on..... And to boot we have made sure that the tile count has remained below 20000 tiles even though we have done some of the longest sections of the map now.... Though there is the slight issue of sorting out the Cycling Path on another of the routes that is yet to be completed (though it is quite walk-able as it is)

Hopefully I will also have modified the map creation software to use relative texture paths by the end of tomorrow, and have made the appropriate adjustments to the optimisation tool too. I also plan to sort some other figures out that exist in each map - Tile ID's.. The idea being that we can use these IDs that I catered for in the original specification for the format to provide per-tile text for things like signs and tutorial maps, the implementation for this is still being thought over.

Also, I have good news about the database with regards to maps, it now has the required fields ready for creation, and the appropriate components of the server-client protocols have already been programmed to take care of the task of telling the client what map to load. I have yet to program the client to load the maps though, but when I have done that and have a preview window showing the loaded maps I will post a screen-shot....

Long awaited update

May 25, 2009 by DX-MON |
Well since my last update, we've been very busy, I've had 4 of my AS exams and have 3 more to go at this
stage.... those will be complete within the next 2 weeks, but until then I've got plenty of time to develop
and map in.

Talking of the maps, we have now got more than 1/3 of Hoenn down to our map format and a large part
of the region that is into our format optimized for display purposes. Some of what we have done is by no
means complete though and as we have 239 textures on the map, I (the maker of this particular one) need
to think of how we can transfer some of the overhead off of the texture systems, though I don't know
OpenGL's maximum texture count, but I have a feeling it might be 65535 textures. Also, we have started
constructing the information needed to keep a track of any user at a given moment by using the database
to store the current map file the user is using and their exact x/y coordinates in map coordinates (which
are not screen coordinates to be able to maximize the information storable in the maps)

Anyway, enough of the details, we almost have half of an entire region ready for putting into the engine,
which I've already started to modify to support what the current plan will need.

I give a big warm welcome to our newest member of the team - Char99, he will be helping out with the
texturing, and may be asked to do some mapping too (we'll see!)

The future plan: Finish of at least 1/2 of the Hoenn map by the time this week is over, and start hauling
it into the engine, making the texture paths relative as we go and running the map through an optimization
tool that I will build so as to add some new features to the maps too such as signpost text assigned to
specific posts, and the ability to make a tutorial map whereby a user going over a particular set of tiles will
get a message which helps them use a bit more of the game..... Next week will be focused around
optimization of the format, addition to the format, getting the database sorted out, and getting the client
able to load the maps, create OpenGL Display Lists for the maps and then display them in real-time, being
able to navigate around them using the arrow keys (no characters yet I'm afraid, but it's a start and one that
needs to happen soon!). Next week will also have sight of my birthday party..... The week after that will be
spent working on the maps full-time again..... after that should get interesting, but that covers the
half-term, and my last two exam weeks....

I include a screen shot of one of the maps the team is working on (scaled to 50%):
One of the sections of a map

Further updates on the maps

May 08, 2009 by DX-MON |
Well after much thought, we've optimised the map format yet again, this time it was removing
un-needed Z-values because we only work in 2D, so there is no Z (it's always 0) so the Hoenn
map is now 71.9% of the size it was when it had Z-values kept for each tile.
Now, the software just passes OpenGL 0 for a Z-depth, though if we want to put things over
the top of the map in the game engine, then we can make the Z-depth -1 for the map tiles,
but that's a trivial change now.

I also got fairly bored lastnight, so I produced a loader written in Python for Blender 3D to load
maps into the 3D software so they can be used from inside the package. However, it cannot be
used on the Hoenn map for rendering because the render requires about 10Gb of RAM, which
when tried out on my laptop, crashed FireFox, Explorer and Blender had to be forced shut.....
Which is where MapMaker and the game engine step in - they don't need vast quantities of
memory for the maps, the memory foot-print per-map is literally just the size of the map as
on disk + 8 bytes per tile to hold some internal data and 8 bytes per texture to hold some other
internal data.

Anywho.... for those who want to produce fan-movies of the game once it's out, we may consider
releasing a pre-compiled plugin for Blender to do the loading (I cannot support other 3D software
because none of the other APIs are free, Blender is the only good piece of free 3D software I can
think of that is also Open Source.)

We are also moving back up the Hoenn region again towards Mauville City so that we can complete
the routes near the Meteor Falls as it is currently technically not possible to complete those routes
as the region maps as published do not provide enough info to correctly link them up any other way.
So once the routes leading up to the northern most town are in, along with that town, then we will
be able to do the mapping of those routes. Also, look forward to the fact my Study Leave starts on
Friday 15th, so I will be writing up a load more useful features to the MapMaker, including allowing
the maps to be segmented into separate areas so that the overhead for the map can be reduced via
optimisations applicable in the game engine. This day will also mark the start of the re-write of most
of MapMaker as it is due for a good rewrite.

Update on the maps

May 06, 2009 by DX-MON |
Well it's been 3 days since posting last, and boy have we been busy! We have written some new features
into MapMaker and optimised it's key-handling code; We have created nearly 80 new textures; and we
have done 4 more routes and part of a town on the Hoenn map.

The features: Statistics (tile and texture counts), save-on-close of any open map.

The major changes: We have moved away from storing the maps in Floating Point form, they are now
integer maps with a current limit of 2^32 tiles. This makes life much easier and faster, and means the
game won't suffer from the Intel Floating Point Bug. The file-format is now readied to store the
image-path relative to the .exe. MapMaker's horrid Key-Map to process key presses is gone, and replaced
by a much faster system.

The routes and towns: 115, 116, 103 and 110 are the routes and SlatePort is the town

We have also found that the Hoenn map currently contains 14320 tiles with the latest revision of what
we have done, which is nothing in comparison to what the format can hold (I don't think I'll use 4Gb
worth of tiles on this some how!).

The Hoenn map

May 03, 2009 by DX-MON |
Well after a day spent expanding the texture library and continuing to create/craft the Hoenn
map for the game, we have most of routes 115 and 116 and a large number less holes in the map.

The whole team have been chipping in to help with textures as we are building our own for the most part.

Tomorrow is planned to have my completing routes 115 and 116 as well as starting the next route
up from 115, getting us to the most northerly point on the Hoenn map. Tomorrow should also see
at least another 10 more textures added to the library so that mountainous terrain can be generated
as well as some other textures to finish off one of the sea areas of route 115

More on those maps

May 02, 2009 by DX-MON |
Well I have persuaded the format to allow me to add a location relative to the software to
fetch images from.....

Also, I have been working to correct and repair textures that were either stretched or POT
when they should actually be NPOT..... I have also created some new textures to allow for
holes left in the Hoenn map to be filled by the correct objects, all that is left for what currently
exists of the Hoenn map is for me to add the textures to fill about 3 more holes, then it's
on to finishing off some more of the map - namely I've got all the sea routes left to do and
the routes stretching out from Rustboro City and one of the incomplete routes, but now that
we have a really comprehensive texture library and a fast, easy to use piece of software to
make the maps in, I don't see the rest of the Hoenn map taking very long to complete......
tops of 2 weeks I'd have thought.

I'll update tomorrow with some more when I have those final holes plugged and the map moving
forward towards the next 2 towns.

Progress on the game maps

May 02, 2009 by DX-MON |
Well it was mentioned that yesterday was meant to be re-write day for that internal tool, well some re-writing did occcur, but not all of what was proposed.... I quote from the IRC channel the team use:

[23:53] @DX-MON: I think I've got all of them now - that is the program should now take an arbitary sized texture and use it on any tile specified
[23:53] @DX-MON: (that, and it should never crash)
[23:55] @DX-MON: also, I'm about to design how to add a new configuration option to allow for you to select where you are going to take images from so MapMaker can automaticly go to that directory and use images in that directory, and then instead of using a fixed-path just use the path relative to that directory
[23:56] @DX-MON: that means that a short descriptor at the front of each .gtm file will be needed to save the path of those images relative to MapMaker

MapMaker is the name of the internal tool, the idea is that, because the image file paths are absolute at the moment, I am going to need to modify the map format to have relative paths ONLY stored..... this actually means smaller map files too....

I will update here again when there is some progress regarding this.