Steve Jackson Games - Site Navigation
Home General Info Follow Us Search Illuminator Store Forums What's New Other Games Ogre GURPS Munchkin Our Games: Home

Go Back   Steve Jackson Games Forums > Roleplaying > GURPS

Reply
 
Thread Tools Display Modes
Old 07-03-2010, 10:08 PM   #11
Daigoro
 
Daigoro's Avatar
 
Join Date: Dec 2006
Location: Meifumado
Default Re: [Spaceships] Getting started on a Java-based ship builder

Can I suggest you have a way to enter user-created objects?

With Eric's spreadsheet it was easy enough to go into the data tabs and add an extra line here or there without too much fear that everything would break (although it did take some trial and error to find the right place to do it).
__________________
Collaborative Settings:
Cyberpunk: Duopoly Nation
Space Opera: Behind the King's Eclipse
And heaps of forum collabs, 30+ and counting!
Daigoro is offline   Reply With Quote
Old 07-04-2010, 03:07 AM   #12
Kuroshima
MIB
Pyramid Contributor
Mad Spaniard Rules Lawyer
 
Kuroshima's Avatar
 
Join Date: Aug 2004
Location: The ASS of the world, mainly Valencia, Spain (Europe)
Default Re: [Spaceships] Getting started on a Java-based ship builder

Quote:
Originally Posted by ciaran_skye View Post
Like I said before, I'd rather hard code as little as practical and throw off as much functionality as possible to the data files but I suppose there are some minimums of what can be done like that. I'll probably dissect Eric's spreadsheet to see what all can be done like that, but I'd rather have a single System object type rather than an Armor object, Powerplant object, etc.

On the second thought, a single System object type extended to be a ArmorSystem, PowerSystem, etc. would be more elegant and flexible. How many different major system types are there to do like that?
That's why I suggested that you start with an abstractSystem class, that individual systems extend, and loads of interfaces for the different characteristics.

allow me to fire up netbeans, and do some modeling:

Code:
public abstract class abstractSystem
{

    private int sizeModifier;
    private int price;
    private String name;

    public abstractSystem(int sizeModifier, int price, String name)
    {
        this.sizeModifier = sizeModifier;
        this.price = price;
        this.name = name;
    }

    /**
     * @return the sizeModifier
     */
    public int getSizeModifier()
    {
        return sizeModifier;
    }

    /**
     * @param sizeModifier the sizeModifier to set
     */
    public void setSizeModifier(int sizeModifier)
    {
        this.sizeModifier = sizeModifier;
    }

    /**
     * @return the price
     */
    public int getPrice()
    {
        return price;
    }

    /**
     * @param price the price to set
     */
    public void setPrice(int price)
    {
        this.price = price;
    }

    /**
     * @return the name
     */
    public String getName()
    {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name)
    {
        this.name = name;
    }
}

public interface armorSystem
{

    public void getDR();

    public int setDR(int dDR);
}

public interface frontHullSystem
{
}

public interface centerHullSystem
{
}

public interface rearHullSystem
{
}

public interface hullSystem extends frontHullSystem, centerHullSystem, rearHullSystem
{
}

public interface coreSystem
{
}

public interface powerSystem
{

    public int getPowerPoints();

    public void setPowerPoints();
}
I would start with something like this. If you think that the project is complex enough, or if you're going to do this collaboratively with other people, then I suggest that you first do some UML diagrams for it. BOUML is a free tool for UML modeling, and quite handy. It can automatically produce code for you, too (though IDEs like NetBeans also help in this regard)
__________________
Antoni Ten
MIB3119
My GURPs character sheet
My stuff on e23
Kuroshima is offline   Reply With Quote
Old 07-04-2010, 12:38 PM   #13
panton41
 
panton41's Avatar
 
Join Date: Jul 2005
Location: Jeffersonville, Ind.
Default Re: [Spaceships] Getting started on a Java-based ship builder

Quote:
Originally Posted by Daigoro View Post
Can I suggest you have a way to enter user-created objects?

With Eric's spreadsheet it was easy enough to go into the data tabs and add an extra line here or there without too much fear that everything would break (although it did take some trial and error to find the right place to do it).
Already planned as user-created data files.

Quote:
Originally Posted by Kuroshima View Post
SNIP
Partly discussed above, but very similar to your suggestion. There would be broadly described Objects for each major type of system and the data files would fill in the details.

I'm going to go with Langley's suggestion of putting Core systems into Front, Center and Rear groupings (be it vector, linked list, etc.) rather than be on their own. Either way they have to have special treatment, but it fits closer to the rules in the book as well as being a bit easier to work with. Either way you do it there will have to be special methods to handle them, but grouping them with the location makes it:

Code:
Run checkCore method; //verifies if no more than 2 Core locations have been used in Front, Center or Rear.
Process Front;
Process Center;
Process Rear;
As opposed to:

Code:
Process Front;
Process Core[0];
Process Center;
Process Core[1];
Process Rear;
Process Core[2];
That's obviously psudocode, but roughly sketches out the point. There would probably be an entire CoreSystem Class which gets passed the Front, Center and Rear in almost every method it contains.


With all that said I suppose I should probably get started and actually, yanno, start coding...

For that matter, any suggestions on where to store the files online? I'd rather it be more mature before I do anything like SourceForge, but at the same time I want a place to put it for collaboration.

Oh, and Eric, since you're involved in another SJ Games software project, albeit an official one, can you tell me how I could go about giving this project a permissive license (probably the GPL v2) without violating SJ Games IP for the content of the data files? I'd like some official word on it in some capacity since the Online Policy doesn't address it.
__________________
The user formerly known as ciaran_skye.

__________________

Quirks: Doesn't proofread forum posts before clicking "Submit". [-1]

Quote:
"My mace speaks Goblin." Antoni Ten Monros
panton41 is offline   Reply With Quote
Old 07-04-2010, 12:47 PM   #14
ericbsmith
 
ericbsmith's Avatar
 
Join Date: Aug 2004
Location: Binghamton, NY, USA. Near the river Styx in the 5th Circle.
Default Re: [Spaceships] Getting started on a Java-based ship builder

Quote:
Originally Posted by ciaran_skye View Post
Oh, and Eric, since you're involved in another SJ Games software project, albeit an official one, can you tell me how I could go about giving this project a permissive license (probably the GPL v2) without violating SJ Games IP for the content of the data files? I'd like some official word on it in some capacity since the Online Policy doesn't address it.
I've not been involved in any of the licensing stuff; for that you should send an e-mail to SJGames, though I'm not sure who exactly. Probably info@sjgames.com and go from there. Essentially you're asking for special licensing considerations, which will have to go through more standard licensing procedures rather than just following the Online Policy you linked to.
__________________
Eric B. Smith GURPS Data File Coordinator
GURPSLand
I shall pull the pin from this healing grenade and...
Kaboom-baya.

Last edited by ericbsmith; 07-04-2010 at 01:10 PM.
ericbsmith is offline   Reply With Quote
Old 07-04-2010, 02:47 PM   #15
Armin
GCA Prime
 
Armin's Avatar
 
Join Date: Aug 2004
Location: Portland, OR
Default Re: [Spaceships] Getting started on a Java-based ship builder

SJGames licensing is at licensing@sjgames.com.
__________________
Armin D. Sykes | Visit my GCA5 blog for updates and previews. | Get GURPS Character Assistant 5 now at Warehouse 23.
Armin is online now   Reply With Quote
Old 07-04-2010, 03:25 PM   #16
panton41
 
panton41's Avatar
 
Join Date: Jul 2005
Location: Jeffersonville, Ind.
Default Re: [Spaceships] Getting started on a Java-based ship builder

Quote:
Originally Posted by ericbsmith View Post
I've not been involved in any of the licensing stuff; for that you should send an e-mail to SJGames, though I'm not sure who exactly. Probably info@sjgames.com and go from there. Essentially you're asking for special licensing considerations, which will have to go through more standard licensing procedures rather than just following the Online Policy you linked to.
Quote:
Originally Posted by Armin View Post
SJGames licensing is at licensing@sjgames.com.
I'll send off an email once I get more code written. The underlying software I doubt would run into any kind of licensing issues, simply the data files, and it makes for good practice to write it. The problem is the program is worthless without the data files, so I'll probably send it off around the time I begin processing Eric's spreadsheet data into the data files to test some of the functionality.

It's entirely possible many of the classes I'm writing could be used in another project that would more or less automate aspects of ship operations and combat, which might be useful as a GM tool. Though that I think violates other game aid rules, so I wouldn't begin that unless it were cleared.

Edit: What the heck, I'll fire off an email now while I'm thinking about it.
__________________
The user formerly known as ciaran_skye.

__________________

Quirks: Doesn't proofread forum posts before clicking "Submit". [-1]

Quote:
"My mace speaks Goblin." Antoni Ten Monros
panton41 is offline   Reply With Quote
Old 07-04-2010, 04:34 PM   #17
Langy
 
Join Date: May 2008
Location: CA
Default Re: [Spaceships] Getting started on a Java-based ship builder

I see no reason why a subsection of Eric's spreadsheet should run into licensing issues if that subsection (the data files) are distributed under SJGames' online policy while the source code for the program is distributed under the GPL or something similar.

It would be similar to creating an OpenOffice GURPS Spaceships spreadsheet - the data files (the spreadsheet) are covered under the Online Policy, while the software that reads the data files (the OpenOffice software itself) is covered under the GPL (or whatever license they use).
Langy is offline   Reply With Quote
Old 07-04-2010, 04:55 PM   #18
panton41
 
panton41's Avatar
 
Join Date: Jul 2005
Location: Jeffersonville, Ind.
Default Re: [Spaceships] Getting started on a Java-based ship builder

Quote:
Originally Posted by Langy View Post
I see no reason why a subsection of Eric's spreadsheet should run into licensing issues if that subsection (the data files) are distributed under SJGames' online policy while the source code for the program is distributed under the GPL or something similar.

It would be similar to creating an OpenOffice GURPS Spaceships spreadsheet - the data files (the spreadsheet) are covered under the Online Policy, while the software that reads the data files (the OpenOffice software itself) is covered under the GPL (or whatever license they use).
I fully agree, but US Copyright law is a harsh mistress and the underlying code relies so heavily on the data files that it's hard to fully separate them.
__________________
The user formerly known as ciaran_skye.

__________________

Quirks: Doesn't proofread forum posts before clicking "Submit". [-1]

Quote:
"My mace speaks Goblin." Antoni Ten Monros
panton41 is offline   Reply With Quote
Old 07-04-2010, 05:10 PM   #19
ericbsmith
 
ericbsmith's Avatar
 
Join Date: Aug 2004
Location: Binghamton, NY, USA. Near the river Styx in the 5th Circle.
Default Re: [Spaceships] Getting started on a Java-based ship builder

Quote:
Originally Posted by ciaran_skye View Post
I fully agree, but US Copyright law is a harsh mistress and the underlying code relies so heavily on the data files that it's hard to fully separate them.
More importantly, no matter how hard you try, you are going to code some parts of the information from the books into the program itself, even if you offload most of the data from the books into data files. And you cannot distribute those bits of SJGames intellectual property under a GPL unless SJGames consents to have it distributed under that license.
__________________
Eric B. Smith GURPS Data File Coordinator
GURPSLand
I shall pull the pin from this healing grenade and...
Kaboom-baya.
ericbsmith is offline   Reply With Quote
Old 07-04-2010, 06:18 PM   #20
panton41
 
panton41's Avatar
 
Join Date: Jul 2005
Location: Jeffersonville, Ind.
Default Re: [Spaceships] Getting started on a Java-based ship builder

Quote:
Originally Posted by ericbsmith View Post
More importantly, no matter how hard you try, you are going to code some parts of the information from the books into the program itself, even if you offload most of the data from the books into data files. And you cannot distribute those bits of SJGames intellectual property under a GPL unless SJGames consents to have it distributed under that license.
Oh, it's inevitable. The simple fact is that there is no general purpose use for the program, it's very specific to GURPS Spaceships. I figure the permission has been given before because of GURPS Character Sheet, which I believe is GPL.

If not, I suppose it wouldn't be impossible to find an OSS or other permissive license that works in this situation.
__________________
The user formerly known as ciaran_skye.

__________________

Quirks: Doesn't proofread forum posts before clicking "Submit". [-1]

Quote:
"My mace speaks Goblin." Antoni Ten Monros
panton41 is offline   Reply With Quote
Reply

Tags
design, java, software, spaceships

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Fnords are Off
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 08:21 PM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.