07-03-2010, 05:30 PM | #1 | |
Join Date: Jul 2005
Location: Jeffersonville, Ind.
|
[Spaceships] Getting started on a Java-based ship builder
I'm thinking about starting work on a Java-based designer based on GURPS Spaceships. I'd probably do it in stages with a data-import subsystem working first, then the back-end for the actual assembly (using a console-driven interface) then finally a GUI front end.
I'm thinking rather than the XML-based import I discussed earlier I'll use tab-delineated plain text and instead of recreating the tables in Spaceships I will recreate its mathematical underpinnings (namely the 1-3-10 and 2-3-5-7-10-15 based cycles) and generate the data from that information. Doing that would allow ships of arbitrary size. Tab, Carriage Return and EoF characters will be "keywords" in the data file format and there's be escape characters for comments. The back-end would be anchored with a 21-field array that contains a binary data type (to say if the system has been filled) and a data type that represents the systems themselves. There would also be a linked-list to represent the additional options (like gravity, stealth, etc.). There would be a method that would go through both the systems array and options linked-list and add up everything to display price, workstations, etc. Saving the ships will also be tab deliminated plain text, but include the data files used and be more like a list of the internal ID numbers for the systems rather than anything usefully readable. Loading would be more or less the reverse of saving. There would also be an export feature that would output it in more readable format. My initial goal would be to get Spaceships 1 implemented and some of the user-friendly features of Eric B. Smith's spreadsheet (like being able to declare what each "cabin" and weapon mount contains). I'd consider that minimum, with a console-based interface, the "1.0.x" level of finished. Adding the systems and options presented in later books would probably be simply redesigning/adding data files if needed. Spaceships 3 would warrant a 1.1.x version due to adding hex-based stats and 1.2.x for Spaceships 7 because of larger and smaller systems being added. After than a 2.0 GUI build would be made for a more user-friendly interface that would cover everything in the console builds. I would include house rule data files, starting with the ones from Eric Smith since I've found them pretty useful and common-sense. Any others would simply have to be created based off of the data file template. Finally, the rational for Java is twofold. One, it's pretty well cross-platform and would work on Windows, Linux, Macintosh and probably a decent number of Java-enabled smartphones. And Two, it's the language I know best and "good enough" for such a simple project. Due to issues with SJ Games IP being involved I'd rather not open source the program outright, though the source code would be freely available to anyone who wants it. (Maybe use the GPL on the source-code and let the data files be handled by SJ Games copyright. If anyone official wants to comment about the best way to handle this feel free. After all of that, is anyone interested in helping with this. I have a feeling it would probably only take a few weeks to hammer out a working console-based beta and maybe a 1.0 release before the end of the year, assuming school doesn't kill the progress.
__________________
The user formerly known as ciaran_skye. __________________ Quirks: Doesn't proofread forum posts before clicking "Submit". [-1] Quote:
|
|
Tags |
design, java, software, spaceships |
|
|