Most recent edit on 2007-11-28 08:36:40 by KrzysztofSobolewski [Update a bit to recent developments in Starmapper]
Additions:
- Nodes: points on the The Map. They are the basic "skeleton" on which Starmapper operates. They have some properties - like position and name - and can belong to at most one region, called (surprise!) "owner" (can also be owned by noone);
- Regions: these are virtual beings that reside on nodes and can "reach" through space to claim "ownership" of it. Each node can have at most one owning region; it is then determined what "influence" this node has on the surrounding space. The result is a field (as in physics∞) of influences for each region on the map. At the end, a thing called Plotter takes the calculated influences for each point for each region and creates a pretty picture∞.
- Node Infos: basically a set of data describing a node at a point in time. Time is specified in unspecified units (which makes some awkward wording in the code - it's just "time" everywhere), dependent on Data Model. Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is the reporter);
- Reports: report is simply a collection of Node Infos from one point in time, although each Node Info can claim being from different time (although not from the future, relative to the report, of course...). There can be more reports from the same time, provided that they have different reporters (reporter is one of the regions on The Map). Every Node Info in a report has an age (how fresh it is), which is the difference between time claimed by the Node Info and the Report's time. In case of conflicts between Node Infos in two reports about the same node, report age becomes important as the final report (taken by Starmapper) can't have multiple sets of information about each node - they have to be merged. Merging is a responsibility of Data Model (see below);
- Data Model: since version 3, nodes, regions and node infos are all actually Java interfaces - this makes Starmapper somewhat generic tool, and the outside world needs to provide concrete implementations of these interfaces. Starmapper bundle contains a default set of implementations that represent galaxies in Stars! game [that's how Starmapper started - I used to be a Stars! junkie] and recently also there's a Data Model for Thousand Parsec∞;
Deletions:
- Nodes: points on the The Map. They are the basic "skeleton" on which Starmapper operates. They can't move [patches welcome ;)], they have some properties - like position and name - and can belong to at most one region (can also be owned by noone);
Regions: these are a virtual beings that reside on nodes and can "reach" through a space to claim "ownership" of it. Each node can have at most one owning region; it is then determined what "influence" this node has on the surrounding space. The result is a field (as in physics∞) of influences for each region on the map. At the end, a thing called Plotter takes this data and creates a pretty picture∞.
Node Infos: basically a set of data describing a node at a point in time. Time is specified in unspecified units (which makes some awkward wording in the code - it's just "time" everywhere). Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is reporter);
Reports: report is simply a collection of Node Infos from one point in time. There can be more reports from the same time, provoded that they have different reporters (reporter is one of the regions on The Map). Every Node Info in a report has an age (how fresh it is). In case of conflicts between Node Infos in two reports about the same node, report age becomes important as the final report can't have multiple sets of information about each node - they have to be merged. Merging is a responsibility of Data Model (see below);
Data Model: since version 3, nodes, regions and node infos are all actually Java interfaces - this makes Starmapper somewhat generic tool, and the outside world needs to provide concrete implementations of these interfaces. Starmapper bundle contains a default set of implementations that represent galaxies in Stars! game [that's how Starmapper started - I used to be a Stars! junkie].
Edited on 2007-11-14 09:46:55 by KrzysztofSobolewski [Stupid autoindent!]
Additions:
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b3∞ - is in the download area on SourceForge, and the current code is in SVN∞;
Deletions:
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b3∞ - is in the download area on SourceForge, and the current code is in SVN∞;
Edited on 2007-11-14 09:45:31 by KrzysztofSobolewski [New beta link]
Additions:
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b3∞ - is in the download area on SourceForge, and the current code is in SVN∞;
Deletions:
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b2∞ - is in the download area on SourceForge, and the current code is in SVN∞;
Edited on 2007-09-15 15:39:52 by KrzysztofSobolewski [Update link to 3.0.0b2 downloads.]
Additions:
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b2∞ - is in the download area on SourceForge, and the current code is in SVN∞;
Deletions:
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b2∞ - is in the download area on SourceForge, and the current code is in SVN∞;
Edited on 2007-09-15 15:06:22 by KrzysztofSobolewski [I'm tagging beta2 Real Soon Now.]
Additions:
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b2∞ - is in the download area on SourceForge, and the current code is in SVN∞;
Deletions:
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b∞ - is in the download area on SourceForge, and the current code is in SVN∞;
Edited on 2007-08-08 14:45:14 by KrzysztofSobolewski [Add screenshot of BorderPlotter]
Additions:
Status
Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b∞ - is in the download area on SourceForge, and the current code is in SVN∞;
Version 2: StarmapperLib 2.3.4∞, StarmapperApp 2.2.3∞, StarmapperGUIApp 2.5.1∞; all released 2005-06-12;
Version 1: Starmapper 1.21∞, released 2002-05-05 (from before the split into three).
Full Disclosure: old starmapper page∞ (but... be... prepared...)
Sample images: from version 2∞; previews from upcoming version 3 (the same map, different plotters): DefaultPlotter∞ (don't base your opinion on this one!), CappedPlotter∞, SmoothPlotter∞, MixingPlotter∞, CappedMixingPlotter∞, SmoothMixingPlotter∞, DominationPlotter∞, BorderPlotter∞; and also: CappedPlotter with a bug ;)∞.
SourceForge.net page: http://sourceforge.net/projects/starmapper∞
Greetings
Welcome to home page of Starmapper, the mapping utility for Stars!∞ and beyond!
Overview
Starmapper is a mapping utility written in Java∞. It means that it will read some files and output an image (or series of images) presenting a map of influences of regions (usually colored blobs). It's rather limited in what it can do, but I think it is useful anyway :)
Actually (in version 3) Starmapper consists of several parts:
- starmapper-core: a class/interface library; it performs lots of CPU-heavy calculations given so-called reports and returns a BufferedImage∞. This can be a one-time operation or a batch. Batch mode means that you give it a bunch of reports to read from and in return you get a BlockingQueue∞ that will be populated with results over time;
- starmapper-app-cli: a traditional CLI application;
- starmapper-app-gui: an additional GUI application for non-geeks [actually it's "traditional" too, in a sense that it was available since Starmapper version 1, but it has always been a second-class citizen ;)];
- jezuch-utils: a library of support classes that are generic (pun intended, for those that get the joke) enough to put them in a library separate from Starmapper.
At some point in time I also created a servlet that sat on a server and generated images from files submitted via HTTP POST. I may revive this subproject some day...
Concepts
Starmapper (the library part) operates on several concepts:
- The Map™: a two-dimensional region. "Two-dimensional" means that every point can be reached by giving two coordinates; currently the coordinates are integer numbers (so the precision is limited, but sufficient for all uses known to me - if you need more, gotta ping me). Important component of The Map is The Space. It is uniformly flat - so forget about mapping a reachability of electromagnetic waves in a complex terrain (sorry);
- Nodes: points on the The Map. They are the basic "skeleton" on which Starmapper operates. They can't move [patches welcome ;)], they have some properties - like position and name - and can belong to at most one region (can also be owned by noone);
- Regions: these are a virtual beings that reside on nodes and can "reach" through a space to claim "ownership" of it. Each node can have at most one owning region; it is then determined what "influence" this node has on the surrounding space. The result is a field (as in physics∞) of influences for each region on the map. At the end, a thing called Plotter takes this data and creates a pretty picture∞.
- Node Infos: basically a set of data describing a node at a point in time. Time is specified in unspecified units (which makes some awkward wording in the code - it's just "time" everywhere). Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is reporter);
- Reports: report is simply a collection of Node Infos from one point in time. There can be more reports from the same time, provoded that they have different reporters (reporter is one of the regions on The Map). Every Node Info in a report has an age (how fresh it is). In case of conflicts between Node Infos in two reports about the same node, report age becomes important as the final report can't have multiple sets of information about each node - they have to be merged. Merging is a responsibility of Data Model (see below);
- Data Model: since version 3, nodes, regions and node infos are all actually Java interfaces - this makes Starmapper somewhat generic tool, and the outside world needs to provide concrete implementations of these interfaces. Starmapper bundle contains a default set of implementations that represent galaxies in Stars! game [that's how Starmapper started - I used to be a Stars! junkie].
- Unified Configuration Model: this buzzword-sounding name means a system of passing somewhat type-safe parameters to Starmapper. The same infrastructure can be used by client applications, of course, and that's why it's called "unified".
Historical Note
Previous versions of Starmapper carried the "Stars! mapping utility" moniker. That's a reflection of how it all started - for a couple of years of "best years in my life" i was a Stars! junkie. Stars! is (was?) a turn-based strategy game in which up to 16 players turn into Galactic Imperators and try to destroy each other with their fleets of spaceships. Oh, the memories! Stars! can dump several statistics for the current turn (each turn is one game-year). Several useful tools can take these reports and do lots of interesting things with it. I, for one, wanted to have maps of the Empires. There were at least two tools for that purpose: starmap (very old, written in Pascal) and Xtreme Borders (Visual Basic, yuk! - but very competent tool). I am a geek and wanted to do better. So I wrote Starmapper (version 1). Technically, it was a success. Unfortunately I am the shy kind of geek, so it was a disaster in terms of marketing - almost nobody cared ;) Anyway, that's why in versions 1 and 2 Nodes are called Planets, Regions are Players and Node Infos, are (surprise!) Planet Infos.
Deletions:
Status
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b∞ - is in the download area on SourceForge, and the current code is in SVN∞;
- Version 2: StarmapperLib 2.3.4∞, StarmapperApp 2.2.3∞, StarmapperGUIApp 2.5.1∞; all released 2005-06-12;
- Version 1: Starmapper 1.21∞, released 2002-05-05 (from before the split into three).
- Full Disclosure: old starmapper page∞ (but... be... prepared...)
- Sample images: from version 2∞; previews from upcoming version 3 (the same map, different plotters): DefaultPlotter∞ (don't base your opinion on this one!), CappedPlotter∞, SmoothPlotter∞, MixingPlotter∞, CappedMixingPlotter∞, SmoothMixingPlotter∞, DominationPlotter∞; and also: CappedPlotter with a bug ;)∞.
- SourceForge.net page: http://sourceforge.net/projects/starmapper∞
Greetings
Welcome to home page of Starmapper, the mapping utility for Stars!∞ and beyond!
Overview
Starmapper is a mapping utility written in Java∞. It means that it will read some files and output an image (or series of images) presenting a map of influences of regions (usually colored blobs). It's rather limited in what it can do, but I think it is useful anyway :)
Actually (in version 3) Starmapper consists of several parts:
- starmapper-core: a class/interface library; it performs lots of CPU-heavy calculations given so-called reports and returns a BufferedImage∞. This can be a one-time operation or a batch. Batch mode means that you give it a bunch of reports to read from and in return you get a BlockingQueue∞ that will be populated with results over time;
- starmapper-app-cli: a traditional CLI application;
- starmapper-app-gui: an additional GUI application for non-geeks [actually it's "traditional" too, in a sense that it was available since Starmapper version 1, but it has always been a second-class citizen ;)];
- jezuch-utils: a library of support classes that are generic (pun intended, for those that get the joke) enough to put them in a library separate from Starmapper.
At some point in time I also created a servlet that sat on a server and generated images from files submitted via HTTP POST. I may revive this subproject some day...
Concepts
Starmapper (the library part) operates on several concepts:
- The Map™: a two-dimensional region. "Two-dimensional" means that every point can be reached by giving two coordinates; currently the coordinates are integer numbers (so the precision is limited, but sufficient for all uses known to me - if you need more, gotta ping me). Important component of The Map is The Space. It is uniformly flat - so forget about mapping a reachability of electromagnetic waves in a complex terrain (sorry);
- Nodes: points on the The Map. They are the basic "skeleton" on which Starmapper operates. They can't move [patches welcome ;)], they have some properties - like position and name - and can belong to at most one region (can also be owned by noone);
- Regions: these are a virtual beings that reside on nodes and can "reach" through a space to claim "ownership" of it. Each node can have at most one owning region; it is then determined what "influence" this node has on the surrounding space. The result is a field (as in physics∞) of influences for each region on the map. At the end, a thing called Plotter takes this data and creates a pretty picture∞.
- Node Infos: basically a set of data describing a node at a point in time. Time is specified in unspecified units (which makes some awkward wording in the code - it's just "time" everywhere). Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is reporter);
- Reports: report is simply a collection of Node Infos from one point in time. There can be more reports from the same time, provoded that they have different reporters (reporter is one of the regions on The Map). Every Node Info in a report has an age (how fresh it is). In case of conflicts between Node Infos in two reports about the same node, report age becomes important as the final report can't have multiple sets of information about each node - they have to be merged. Merging is a responsibility of Data Model (see below);
- Data Model: since version 3, nodes, regions and node infos are all actually Java interfaces - this makes Starmapper somewhat generic tool, and the outside world needs to provide concrete implementations of these interfaces. Starmapper bundle contains a default set of implementations that represent galaxies in Stars! game [that's how Starmapper started - I used to be a Stars! junkie].
- Unified Configuration Model: this buzzword-sounding name means a system of passing somewhat type-safe parameters to Starmapper. The same infrastructure can be used by client applications, of course, and that's why it's called "unified".
Historical Note
Previous versions of Starmapper carried the "Stars! mapping utility" moniker. That's a reflection of how it all started - for a couple of years of "best years in my life" i was a Stars! junkie. Stars! is (was?) a turn-based strategy game in which up to 16 players turn into Galactic Imperators and try to destroy each other with their fleets of spaceships. Oh, the memories! Stars! can dump several statistics for the current turn (each turn is one game-year). Several useful tools can take these reports and do lots of interesting things with it. I, for one, wanted to have maps of the Empires. There were at least two tools for that purpose: starmap (very old, written in Pascal) and Xtreme Borders (Visual Basic, yuk! - but very competent tool). I am a geek and wanted to do better. So I wrote Starmapper (version 1). Technically, it was a success. Unfortunately I am the shy kind of geek, so it was a disaster in terms of marketing - almost nobody cared ;) Anyway, that's why in versions 1 and 2 Nodes are called Planets, Regions are Players and Node Infos, are (surprise!) Planet Infos.
Edited on 2007-01-10 11:11:05 by KrzysztofSobolewski
Additions:
Status
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; first public ("version-stamped") release - 3.0.0b∞ - is in the download area on SourceForge, and the current code is in SVN∞;
- Version 2: StarmapperLib 2.3.4∞, StarmapperApp 2.2.3∞, StarmapperGUIApp 2.5.1∞; all released 2005-06-12;
- Version 1: Starmapper 1.21∞, released 2002-05-05 (from before the split into three).
- Full Disclosure: old starmapper page∞ (but... be... prepared...)
- Sample images: from version 2∞; previews from upcoming version 3 (the same map, different plotters): DefaultPlotter∞ (don't base your opinion on this one!), CappedPlotter∞, SmoothPlotter∞, MixingPlotter∞, CappedMixingPlotter∞, SmoothMixingPlotter∞, DominationPlotter∞; and also: CappedPlotter with a bug ;)∞.
- SourceForge.net page: http://sourceforge.net/projects/starmapper∞
Greetings
Welcome to home page of Starmapper, the mapping utility for Stars!∞ and beyond!
Overview
Starmapper is a mapping utility written in Java∞. It means that it will read some files and output an image (or series of images) presenting a map of influences of regions (usually colored blobs). It's rather limited in what it can do, but I think it is useful anyway :)
Actually (in version 3) Starmapper consists of several parts:
- starmapper-core: a class/interface library; it performs lots of CPU-heavy calculations given so-called reports and returns a BufferedImage∞. This can be a one-time operation or a batch. Batch mode means that you give it a bunch of reports to read from and in return you get a BlockingQueue∞ that will be populated with results over time;
- starmapper-app-cli: a traditional CLI application;
- starmapper-app-gui: an additional GUI application for non-geeks [actually it's "traditional" too, in a sense that it was available since Starmapper version 1, but it has always been a second-class citizen ;)];
- jezuch-utils: a library of support classes that are generic (pun intended, for those that get the joke) enough to put them in a library separate from Starmapper.
At some point in time I also created a servlet that sat on a server and generated images from files submitted via HTTP POST. I may revive this subproject some day...
Concepts
Starmapper (the library part) operates on several concepts:
- The Map™: a two-dimensional region. "Two-dimensional" means that every point can be reached by giving two coordinates; currently the coordinates are integer numbers (so the precision is limited, but sufficient for all uses known to me - if you need more, gotta ping me). Important component of The Map is The Space. It is uniformly flat - so forget about mapping a reachability of electromagnetic waves in a complex terrain (sorry);
- Nodes: points on the The Map. They are the basic "skeleton" on which Starmapper operates. They can't move [patches welcome ;)], they have some properties - like position and name - and can belong to at most one region (can also be owned by noone);
- Regions: these are a virtual beings that reside on nodes and can "reach" through a space to claim "ownership" of it. Each node can have at most one owning region; it is then determined what "influence" this node has on the surrounding space. The result is a field (as in physics∞) of influences for each region on the map. At the end, a thing called Plotter takes this data and creates a pretty picture∞.
- Node Infos: basically a set of data describing a node at a point in time. Time is specified in unspecified units (which makes some awkward wording in the code - it's just "time" everywhere). Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is reporter);
- Reports: report is simply a collection of Node Infos from one point in time. There can be more reports from the same time, provoded that they have different reporters (reporter is one of the regions on The Map). Every Node Info in a report has an age (how fresh it is). In case of conflicts between Node Infos in two reports about the same node, report age becomes important as the final report can't have multiple sets of information about each node - they have to be merged. Merging is a responsibility of Data Model (see below);
- Data Model: since version 3, nodes, regions and node infos are all actually Java interfaces - this makes Starmapper somewhat generic tool, and the outside world needs to provide concrete implementations of these interfaces. Starmapper bundle contains a default set of implementations that represent galaxies in Stars! game [that's how Starmapper started - I used to be a Stars! junkie].
- Unified Configuration Model: this buzzword-sounding name means a system of passing somewhat type-safe parameters to Starmapper. The same infrastructure can be used by client applications, of course, and that's why it's called "unified".
Historical Note
Previous versions of Starmapper carried the "Stars! mapping utility" moniker. That's a reflection of how it all started - for a couple of years of "best years in my life" i was a Stars! junkie. Stars! is (was?) a turn-based strategy game in which up to 16 players turn into Galactic Imperators and try to destroy each other with their fleets of spaceships. Oh, the memories! Stars! can dump several statistics for the current turn (each turn is one game-year). Several useful tools can take these reports and do lots of interesting things with it. I, for one, wanted to have maps of the Empires. There were at least two tools for that purpose: starmap (very old, written in Pascal) and Xtreme Borders (Visual Basic, yuk! - but very competent tool). I am a geek and wanted to do better. So I wrote Starmapper (version 1). Technically, it was a success. Unfortunately I am the shy kind of geek, so it was a disaster in terms of marketing - almost nobody cared ;) Anyway, that's why in versions 1 and 2 Nodes are called Planets, Regions are Players and Node Infos, are (surprise!) Planet Infos.
Deletions:
Status
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; no releases yet, code is in SVN∞;
- Version 2: StarmapperLib 2.3.4∞, StarmapperApp 2.2.3∞, StarmapperGUIApp 2.5.1∞; all released 2005-06-12;
- Version 1: Starmapper 1.21∞, released 2002-05-05 (from before the split into three).
- Full Disclosure: old starmapper page∞ (but... be... prepared...)
- Sample images: from version 2∞; previews from upcoming version 3 (the same map, different plotters): DefaultPlotter∞ (don't base your opinion on this one!), CappedPlotter∞, SmoothPlotter∞, MixingPlotter∞, CappedMixingPlotter∞, SmoothMixingPlotter∞, DominationPlotter∞; and also: CappedPlotter with a bug ;)∞.
- SourceForge.net page: http://sourceforge.net/projects/starmapper∞
Greetings
Welcome to home page of Starmapper, the mapping utility for Stars!∞ and beyond!
Overview
Starmapper is a mapping utility written in Java∞. It means that it will read some files and output an image (or series of images) presenting a map of influences of regions (usually colored blobs). It's rather limited in what it can do, but I think it is useful anyway :)
Actually (in version 3) Starmapper consists of several parts:
- starmapper-core: a class/interface library; it performs lots of CPU-heavy calculations given so-called reports and returns a BufferedImage∞. This can be a one-time operation or a batch. Batch mode means that you give it a bunch of reports to read from and in return you get a BlockingQueue∞ that will be populated with results over time;
- starmapper-app-cli: a traditional CLI application;
- starmapper-app-gui: an additional GUI application for non-geeks [actually it's "traditional" too, in a sense that it was available since Starmapper version 1, but it has always been a second-class citizen ;)];
- jezuch-utils: a library of support classes that are generic (pun intended, for those that get the joke) enough to put them in a library separate from Starmapper.
At some point in time I also created a servlet that sat on a server and generated images from files submitted via HTTP POST. I may revive this subproject some day...
Concepts
Starmapper (the library part) operates on several concepts:
- The Map™: a two-dimensional region. "Two-dimensional" means that every point can be reached by giving two coordinates; currently the coordinates are integer numbers (so the precision is limited, but sufficient for all uses known to me - if you need more, gotta ping me). Important component of The Map is The Space. It is uniformly flat - so forget about mapping a reachability of electromagnetic waves in a complex terrain (sorry);
- Nodes: points on the The Map. They are the basic "skeleton" on which Starmapper operates. They can't move [patches welcome ;)], they have some properties - like position and name - and can belong to at most one region (can also be owned by noone);
- Regions: these are a virtual beings that reside on nodes and can "reach" through a space to claim "ownership" of it. Each node can have at most one owning region; it is then determined what "influence" this node has on the surrounding space. The result is a field (as in physics∞) of influences for each region on the map. At the end, a thing called Plotter takes this data and creates a pretty picture∞.
- Node Infos: basically a set of data describing a node at a point in time. Time is specified in unspecified units (which makes some awkward wording in the code - it's just "time" everywhere). Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is reporter);
- Reports: report is simply a collection of Node Infos from one point in time. There can be more reports from the same time, provoded that they have different reporters (reporter is one of the regions on The Map). Every Node Info in a report has an age (how fresh it is). In case of conflicts between Node Infos in two reports about the same node, report age becomes important as the final report can't have multiple sets of information about each node - they have to be merged. Merging is a responsibility of Data Model (see below);
- Data Model: since version 3, nodes, regions and node infos are all actually Java interfaces - this makes Starmapper somewhat generic tool, and the outside world needs to provide concrete implementations of these interfaces. Starmapper bundle contains a default set of implementations that represent galaxies in Stars! game [that's how Starmapper started - I used to be a Stars! junkie].
- Unified Configuration Model: this buzzword-sounding name means a system of passing somewhat type-safe parameters to Starmapper. The same infrastructure can be used by client applications, of course, and that's why it's called "unified".
Historical Note
Previous versions of Starmapper carried the "Stars! mapping utility" moniker. That's a reflection of how it all started - for a couple of years of "best years in my life" i was a Stars! junkie. Stars! is (was?) a turn-based strategy game in which up to 16 players turn into Galactic Imperators and try to destroy each other with their fleets of spaceships. Oh, the memories! Stars! can dump several statistics for the current turn (each turn is one game-year). Several useful tools can take these reports and do lots of interesting things with it. I, for one, wanted to have maps of the Empires. There were at least two tools for that purpose: starmap (very old, written in Pascal) and Xtreme Borders (Visual Basic, yuk! - but very competent tool). I am a geek and wanted to do better. So I wrote Starmapper (version 1). Technically, it was a success. Unfortunately I am the shy kind of geek, so it was a disaster in terms of marketing - almost nobody cared ;) Anyway, that's why in versions 1 and 2 Nodes are called Planets, Regions are Players and Node Infos, are (surprise!) Planet Infos.
Edited on 2006-09-15 06:14:33 by KrzysztofSobolewski
Additions:
- Sample images: from version 2∞; previews from upcoming version 3 (the same map, different plotters): DefaultPlotter∞ (don't base your opinion on this one!), CappedPlotter∞, SmoothPlotter∞, MixingPlotter∞, CappedMixingPlotter∞, SmoothMixingPlotter∞, DominationPlotter∞; and also: CappedPlotter with a bug ;)∞.
Deletions:
- Sample images: from version 2∞; previews from upcoming version 3 (the same map, different plotters): CappedPlotter∞, CappedPlotter with a bug ;)∞, SmoothPlotter∞, MixingPlotter∞
Edited on 2006-09-15 05:12:44 by KrzysztofSobolewski
Additions:
- Sample images: from version 2∞; previews from upcoming version 3 (the same map, different plotters): CappedPlotter∞, CappedPlotter with a bug ;)∞, SmoothPlotter∞, MixingPlotter∞
Deletions:
- Sample images: from version 2∞; previews from upcoming version 3 (the same map, different plotters): CappedPlotter∞, CappedPlotter with a bug ;)∞, SmoothPlotter∞, MixingPlotter∞
Edited on 2006-09-08 11:41:53 by KrzysztofSobolewski
Additions:
- Version 3: progressed from somewhere between alpha and beta (I like to call it gamma) to more-or-less stable API and solidly working implementation; no releases yet, code is in SVN∞;
starmapper-core: a class/interface library; it performs lots of CPU-heavy calculations given so-called reports and returns a BufferedImage∞. This can be a one-time operation or a batch. Batch mode means that you give it a bunch of reports to read from and in return you get a BlockingQueue∞ that will be populated with results over time;
Deletions:
- Version 3: somewhere between alpha and beta (I like to call it gamma); no releases yet, code is in SVN∞;
starmapper-core: a class/interface library; it performs lots of CPU-heavy calculations given so-called reports and returns a BufferedImage∞. This can be a one-time operation or a batch. Batch operation means that you give it a bunch of reports to read from and in return you get a BlockingQueue∞ that will be populated with results over time;
Edited on 2006-09-08 11:24:49 by KrzysztofSobolewski
Additions:
- starmapper-core: a class/interface library; it performs lots of CPU-heavy calculations given so-called reports and returns a BufferedImage∞. This can be a one-time operation or a batch. Batch operation means that you give it a bunch of reports to read from and in return you get a BlockingQueue∞ that will be populated with results over time;
Deletions:
- starmapper-core: a class/interface library; it performs lots of CPU-heavy calculations given so-called reports and returns a BufferedImage∞ [NOTE: this is a traditional Starmapper's mode of operation which places lots of burden on client application which needs to find all data files, use starmapper-core to read them and feed the results back to starmapper-core; this may change in version 3];
Edited on 2006-08-30 05:22:46 by KrzysztofSobolewski
Additions:
- Unified Configuration Model: this buzzword-sounding name means a system of passing somewhat type-safe parameters to Starmapper. The same infrastructure can be used by client applications, of course, and that's why it's called "unified".
Edited on 2006-08-16 05:45:22 by KrzysztofSobolewski [Too many Nodes, I think...]
Additions:
Historical Note
Deletions:
Historical Node
Edited on 2006-08-15 14:02:58 by KrzysztofSobolewski
Additions:
- Node Infos: basically a set of data describing a node at a point in time. Time is specified in unspecified units (which makes some awkward wording in the code - it's just "time" everywhere). Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is reporter);
Deletions:
- Node Infos: basically a set of data describing a node at a point in time. Time is specified in years, currently [that's a leftover from previous versions, didn't know how to rename it; see "historical note" below]. Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is reporter);
Edited on 2006-08-15 08:48:52 by KrzysztofSobolewski
Additions:
- Sample images: from version 2∞; previews from upcoming version 3 (the same map, different plotters): CappedPlotter∞, CappedPlotter with a bug ;)∞, SmoothPlotter∞, MixingPlotter∞
Welcome to home page of Starmapper, the mapping utility for
Stars!∞ and beyond!
Deletions:
- Sample images: from version 2∞; previews from version 3 (the same map, different plotters): CappedPlotter∞, CappedPlotter with a bug ;)∞, SmoothPlotter∞, MixingPlotter∞
Welcome to home page of Starmapper!, the mapping utility for
Stars!∞ and beyond.
Edited on 2006-08-14 13:57:58 by KrzysztofSobolewski
Additions:
- Sample images: from version 2∞; previews from version 3 (the same map, different plotters): CappedPlotter∞, CappedPlotter with a bug ;)∞, SmoothPlotter∞, MixingPlotter∞
Deletions:
- Sample images: from version 2∞; previews from version 3 (the same map, different plotters): CappedPlotter∞, CappedPlotter with a bug ;)∞, SmoothPlotter∞, MixingPlotter∞
Edited on 2006-08-14 13:55:59 by KrzysztofSobolewski
Additions:
- Sample images: from version 2∞; previews from version 3 (the same map, different plotters): CappedPlotter∞, CappedPlotter with a bug ;)∞, SmoothPlotter∞, MixingPlotter∞
Deletions:
- Sample image: from version 2∞; previews from version 3 (the same map, different plotters): CappedPlotter∞, CappedPlotter with a bug ;)∞, SmoothPlotter∞, MixingPlotter∞
Edited on 2006-08-14 13:55:44 by KrzysztofSobolewski
Additions:
- Sample image: from version 2∞; previews from version 3 (the same map, different plotters): CappedPlotter∞, CappedPlotter with a bug ;)∞, SmoothPlotter∞, MixingPlotter∞
Deletions:
- Sample image: from version 2∞
Edited on 2006-08-14 12:58:54 by KrzysztofSobolewski
Additions:
- Version 3: somewhere between alpha and beta (I like to call it gamma); no releases yet, code is in SVN∞;
- Version 2: StarmapperLib 2.3.4∞, StarmapperApp 2.2.3∞, StarmapperGUIApp 2.5.1∞; all released 2005-06-12;
- Version 1: Starmapper 1.21∞, released 2002-05-05 (from before the split into three).
- Full Disclosure: old starmapper page∞ (but... be... prepared...)
- Sample image: from version 2∞
- The Map™: a two-dimensional region. "Two-dimensional" means that every point can be reached by giving two coordinates; currently the coordinates are integer numbers (so the precision is limited, but sufficient for all uses known to me - if you need more, gotta ping me). Important component of The Map is The Space. It is uniformly flat - so forget about mapping a reachability of electromagnetic waves in a complex terrain (sorry);
- Nodes: points on the The Map. They are the basic "skeleton" on which Starmapper operates. They can't move [patches welcome ;)], they have some properties - like position and name - and can belong to at most one region (can also be owned by noone);
- Regions: these are a virtual beings that reside on nodes and can "reach" through a space to claim "ownership" of it. Each node can have at most one owning region; it is then determined what "influence" this node has on the surrounding space. The result is a field (as in physics∞) of influences for each region on the map. At the end, a thing called Plotter takes this data and creates a pretty picture∞.
- Node Infos: basically a set of data describing a node at a point in time. Time is specified in years, currently [that's a leftover from previous versions, didn't know how to rename it; see "historical note" below]. Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is reporter);
- Reports: report is simply a collection of Node Infos from one point in time. There can be more reports from the same time, provoded that they have different reporters (reporter is one of the regions on The Map). Every Node Info in a report has an age (how fresh it is). In case of conflicts between Node Infos in two reports about the same node, report age becomes important as the final report can't have multiple sets of information about each node - they have to be merged. Merging is a responsibility of Data Model (see below);
- Data Model: since version 3, nodes, regions and node infos are all actually Java interfaces - this makes Starmapper somewhat generic tool, and the outside world needs to provide concrete implementations of these interfaces. Starmapper bundle contains a default set of implementations that represent galaxies in Stars! game [that's how Starmapper started - I used to be a Stars! junkie].
Deletions:
- Version 3: somewhere between alpha and beta (I like to call it gamma); no releases yet, code is in SVN;
Version 2: StarmapperLib 2.3.4∞, StarmapperApp 2.2.3∞, StarmapperGUIApp 2.5.1∞; all released 2005-06-12;
Version 1: Starmapper 1.21∞, released 2002-05-05 (from before the split into three).
The Map™: a two-dimensional region. "Two-dimensional" means that every point can be reached by giving two coordinates; currently the coordinates are integer numbers (so the precision is limited, but sufficient for all uses known to me - if you need more, gotta ping me). Important component of The Map is The Space. It is uniformly flat - so forget about mapping a reachability of electromagnetic waves in a complex terrain (sorry);
Nodes: points on the The Map. They are the basic "skeleton" on which Starmapper operates. They can't move [patches welcome ;)], they have some properties - like position and name - and can belong to at most one region (can also be owned by noone);
Regions: these are a virtual beings that reside on nodes and can "reach" through a space to claim "ownership" of it. Each node can have at most one owning region; it is then determined what "influence" this node has on the surrounding space. The result is a field (as in physics∞) of influences for each region on the map. At the end, a thing called Plotter takes this data and creates a pretty picture∞.
Node Infos: basically a set of data describing a node at a point in time. Time is specified in years, currently [that's a leftover from previous versions, didn't know how to rename it; see "historical note" below]. Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is reporter);
Reports: report is simply a collection of Node Infos from one point in time. There can be more reports from the same time, provoded that they have different reporters (reporter is one of the regions on The Map). Every Node Info in a report has an age (how fresh it is). In case of conflicts between Node Infos in two reports about the same node, report age becomes important as the final report can't have multiple sets of information about each node - they have to be merged. Merging is a responsibility of Data Model (see below);
Data Model: since version 3, nodes, regions and node infos are all actually Java interfaces - this makes Starmapper somewhat generic tool, and the outside world needs to provide concrete implementations of these interfaces. Starmapper bundle contains a default set of implementations that represent galaxies in Stars! game [that's how Starmapper started - I used to be a Stars! junkie].
Oldest known version of this page was edited on 2006-08-14 12:52:04 by KrzysztofSobolewski []
Page view:
Greetings
Welcome to home page of Starmapper!, the mapping utility for
Stars!∞ and beyond.
Overview
Starmapper is a mapping utility written in
Java∞. It means that it will read some files and output an image (or series of images) presenting a map of influences of regions (usually colored blobs). It's rather limited in what it can do, but I think it is useful anyway :)
Actually (in version 3) Starmapper consists of several parts:
- starmapper-core: a class/interface library; it performs lots of CPU-heavy calculations given so-called reports and returns a BufferedImage∞ [NOTE: this is a traditional Starmapper's mode of operation which places lots of burden on client application which needs to find all data files, use starmapper-core to read them and feed the results back to starmapper-core; this may change in version 3];
- starmapper-app-cli: a traditional CLI application;
- starmapper-app-gui: an additional GUI application for non-geeks [actually it's "traditional" too, in a sense that it was available since Starmapper version 1, but it has always been a second-class citizen ;)];
- jezuch-utils: a library of support classes that are generic (pun intended, for those that get the joke) enough to put them in a library separate from Starmapper.
At some point in time I also created a servlet that sat on a server and generated images from files submitted via HTTP POST. I may revive this subproject some day...
Concepts
Starmapper (the library part) operates on several concepts:
- The Map™: a two-dimensional region. "Two-dimensional" means that every point can be reached by giving two coordinates; currently the coordinates are integer numbers (so the precision is limited, but sufficient for all uses known to me - if you need more, gotta ping me). Important component of The Map is The Space. It is uniformly flat - so forget about mapping a reachability of electromagnetic waves in a complex terrain (sorry);
- Nodes: points on the The Map. They are the basic "skeleton" on which Starmapper operates. They can't move [patches welcome ;)], they have some properties - like position and name - and can belong to at most one region (can also be owned by noone);
- Regions: these are a virtual beings that reside on nodes and can "reach" through a space to claim "ownership" of it. Each node can have at most one owning region; it is then determined what "influence" this node has on the surrounding space. The result is a field (as in physics∞) of influences for each region on the map. At the end, a thing called Plotter takes this data and creates a pretty picture∞.
- Node Infos: basically a set of data describing a node at a point in time. Time is specified in years, currently [that's a leftover from previous versions, didn't know how to rename it; see "historical note" below]. Data about a node can contain anything is necessary to calculate its influence, but Starmapper is interested only in the result, including the influence, who is the owner and who says these things about the node (that is reporter);
- Reports: report is simply a collection of Node Infos from one point in time. There can be more reports from the same time, provoded that they have different reporters (reporter is one of the regions on The Map). Every Node Info in a report has an age (how fresh it is). In case of conflicts between Node Infos in two reports about the same node, report age becomes important as the final report can't have multiple sets of information about each node - they have to be merged. Merging is a responsibility of Data Model (see below);
- Data Model: since version 3, nodes, regions and node infos are all actually Java interfaces - this makes Starmapper somewhat generic tool, and the outside world needs to provide concrete implementations of these interfaces. Starmapper bundle contains a default set of implementations that represent galaxies in Stars! game [that's how Starmapper started - I used to be a Stars! junkie].
Historical Node
Previous versions of Starmapper carried the "Stars! mapping utility" moniker. That's a reflection of how it all started - for a couple of years of "best years in my life" i was a Stars! junkie. Stars! is (was?) a turn-based strategy game in which up to 16 players turn into Galactic Imperators and try to destroy each other with their fleets of spaceships. Oh, the memories! Stars! can dump several statistics for the current turn (each turn is one game-year). Several useful tools can take these reports and do lots of interesting things with it. I, for one, wanted to have maps of the Empires. There were at least two tools for that purpose: starmap (very old, written in Pascal) and Xtreme Borders (Visual Basic, yuk! - but very competent tool). I am a geek and wanted to do better. So I wrote Starmapper (version 1). Technically, it was a success. Unfortunately I am the shy kind of geek, so it was a disaster in terms of marketing - almost nobody cared ;) Anyway, that's why in versions 1 and 2 Nodes are called Planets, Regions are Players and Node Infos, are (surprise!) Planet Infos.
I abandoned Stars! a while ago (I still love this game, but don't ask why I left), and Starmapper became my toy project for testing new things. So here is version 3 - Starmapper filtered through
second-system effect∞. It has been generified (quite heavily) to possibly support more data models (by applying a concept of programming to interfaces), so it is no longer tied to reports generated by Stars!. Additionally some restrictions were relaxed - like number of regions [no longer] limited to 16.