October 4th, 2008, 12:44 PM
Tool for RPG
I understand this is a big wish, but here goes:
I am looking for someone to write a tool to help with a role-playing game to speed up combat and keeping track of characters and their possessions. The game, Millennium's End, is now defunct, but still has a loyal underground following. It's main reason for going under was all the variables and math involved. This tool will NOT play the game, but rather speed things up for the players.
I have most of this written down, flow-charted, etc, but need help putting it into Java (most likely).
I want this done in Java so that it is usable across any platform. However, I could be talked into something else. The key thing is that other folks could use this tool (it's not just for me).
I will put a similar post under the Java section.
October 12th, 2008, 08:42 PM
I am not quite sure that I follow. Are you talking about a pen and paper RPG?
What level of math is involved?
When it comes down to it, wouldn't it be easier to make the entire thing digital, compared to creating an assistance program?
What are the variables that need to be tracked per-character?
October 12th, 2008, 09:28 PM
Elhrrah, thanks for the reply to my cry for help.
Yes, this is a Pen & Paper game.
In my opinion, this has the best combat system ever made (except the math involved in combat).
The level of math is not the problem. My skills in Java or VB are. I have considered both Java and VB, but VB limits this tool to "Uncle Bill" and his cronies, though for the right help, I would go that or some similar way.
Very loosely, I want a tool to enter and store characters, skills, and equipment. For combat, you would choose the attacker, the weapon, the intended target, the range, have a few check boxes for standard penalties, then the program would do all the work.
This work would involve getting info about the attacker and his skills, specifics for the weapon used, various variable, etc, then determine if a hit was made. It would then determine the specific damage inflicted to the target based on the weapon used, body armor (if appropriate for where they were hit), body mass, etc.
The game also used a unique (very cool) overlay system to determine where the target was hit. You pick one of many body maps that closely reflects the target (head on, prone, side, kneeling, etc.), put a transparent overlay over the body map (centering where you want to hit on the target), and it you miss, the amount you miss by is used to determine where the attack hits (if at all). For example, if you aimed for the leg (to wing him) but you slightly miss, you could wind up hitting them somewhere else more vital (or not at all). It is a VERY cool system.
While the math itself is not hard, there is a lot of it to do by hand.
I will gladly donate a copy of the game to someone who can help me (do a bunch of the initial coding).
I learn by example, and would gladly take some code and expand upon it. I would also love to somehow work as a team, though that is pushing it a bit. I have been coding for over 20 years, but am fairly new to OOP, thus my cry for help.
Thanks again for the interest. Other ideas are also welcome.
October 13th, 2008, 10:51 AM
It does sound like an interesting rpg. But I think that it might be better to go at this from a different direction.
Instead of making an assist for the game, it would seem to be more efficient to simply make the game. An assist program would already require the players to be near a computer, and assuming that you cannot have a LAN party every single time, it would also require some level of internet (or even intranet) access.
Following that logic, it would also be more efficient to insure cross platform compatibility by using something such as PHP/MySQL and a database compared to writing a program which would then interface with such said database, and so on. It would also allow the GM a large level of flexibility by incorporating a CMS into it to allow them to update the database at any one time.
But all of this hinges on one thing. Who holds the copyright on Millennium's End? And would such said person assent to the digitalization of their game? As you have said, the company, Chameleon Eclectic, is defunct, which means that chances are, the writer, Charles Ryan, may hold the copyright. Seeing as how Millennium's End has lain fallow for a healthy time, there is a large possibility that he might agree to your actions.
I myself am the writer for a team which is making an rpg in the manner I described, but with our own IP. When I read your post, the thought entered my mind to suggest a similar path.
October 14th, 2008, 04:04 AM
The way I understood the OP he is looking for a program the GM can use to calculate that stuff. Not every player needs the program, that also removes the need for networking.
I think Java would work well for that. It's indeed an interesting project but I've got so many of them myself...
- Hugh of Borg
The first thing young borg are taught: Keep away from Microsoft software!
October 18th, 2008, 02:11 PM
I'll give it a shot. I am developing on my own game at the moment too, but I enjoy programming in Java, and this sounds interesting to me (and it might just give me some ideas).
So what are the details on this game?
October 18th, 2008, 10:18 PM
Yes, I am looking for a tool the GM would use, not something each player would need. My cross-platform idea is just so that this tool would not be limited to Windows (or whatever).
Per Elhrrah's last post, Charles Ryan sold the game, and the current owners are not interested in selling (last I heard). Thus, this tool would have to be free (though donations would be accepted).
Per paulscode's prior post, there are a lot of tables involved in the db (though most of them are not big). I am in the process of putting this in Access as the moment just as a way to hammer in the data and to use its features (though this is not meant to be my final solution). The tool would need to be able to read all (or most) of these tables. Each character (both good guys and bad) would need to exist in the DB along with all their gear (for simplicity sake, this would be weapons, body armor, and ammo).
The flow of the tool would be something like:
1) choose the attacker and their form of attack
2) choose the target
3) set the range between the attacker and target
4) choose the appropriate body map for the target (see below)
5) enter in any environmental modifiers (darkness, moving, etc.)
6) click the "button" to do the attack
7) the program then determines all the variables (attacker's skill, inherent accuracy of the weapon, environmental modifiers) and determines if the target (or someone else) was hit, and if so, where. Based on the target's/victim's stats (mass, body armor in the area hit, damage of the specific bullet, etc.) damage is then determine.
This game uses a unique combat system where body maps are used. Choose the appropriate body map (from the front, side, prone, running, etc.). Next, based on the range, choose an overlay as to where the bullet will go if the intended body location is missed (if you aim at the chest, you might miss the chest, but instead hit another body part - this could be good or bad - esp. if the target is holding a hostage!).
There are more details, but I will hold off on that until I get someone who wants to help tackle this challenge. However, this is a fair, 1000 foot overview of the project.
October 18th, 2008, 10:26 PM
Note: I have been coding for over 20 years, but am new to Java. I am very good at reverse engineering stuff, so once I have a template of how to do something, I am good at expanding on it (or asking reasonable questions). I have been playing with NetBeans and Eclipse off and on.
October 19th, 2008, 10:29 AM
So to start with, the sort of Java code you would be looking for is how to read / write from the database, correct?
October 19th, 2008, 02:44 PM
Yes, and then how to get it to work with Java jframes. I can make the individual "screens" using NetBeans, but I need to make the jframes (windows) connect to real data for both read/write/update/delete.
If it would help, I have most of the important files built in Access which has a nice tool to show how everything connects. The data is sketchy, but gets the idea of the structure across.
October 19th, 2008, 03:16 PM
I have not ever written a Java program to link to a Access database, but I found some information about it:
I'll start playing around with this. As for populating Java Swing components like JFrame, etc with the data, that is pretty simple once you have read the data in from the database. I'll post a simple program and source code to demonstrate once I get the database linking thing figured out.
October 19th, 2008, 04:56 PM
Very cool! Let me know if/when you want my Access DB. If we do this right, we should be able to use any db and just control it with a toggle of some type.
October 21st, 2008, 05:47 PM
A couple of questions:
Would you prefer the program to be an applet (browser-based, hosted somewhere online) or an application (sitting on the end-user's computer)?
Where will the database reside? (Will it be hosted over the internet and the end-user connects to it remotely, or will it be portable and reside on the end-user's computer along with the program?)
These will give me an idea what direction we are trying to head towards and how to structure the program.
October 21st, 2008, 06:21 PM
Hi Paul - thanks for sticking with me on this.
I have thought about both hosting from a web site vs loading locally. I have been thinking this would be run locally on each user's machine, but am open to the idea of hosting from my web site. However, that would require the additional security that would be needed so that GM1 can not see or tweak with GM2's data. I also don't want to be responsible for keeping other people's data. Unless you really push it, I would avoid the internet concept and stick with a local app concept.
Does this sound reasonable? I am very open to discussion if you have strong feelings about pieces of this.
October 21st, 2008, 07:25 PM
Makes sense. Just to clarify, what is the concern about GM1 and GM2's access to the database? I assume each game has a unique database of information for all players in a given game. Is the thing we are trying to avoid where say Joe is GM one day, then the next day its Bob. If Joe kept a copy of the database from the previous day, he could read it to find strategic information about Bob. If this is the concern, we will need to use some type of encryption.