Crystal Ball is a robust RPG aid for Apple's Macintosh OS. Created by Joseph Sharp, the program runs under both Mac OS X and the older Mac OS 9.
The tool is built to support Dungeons & Dragons 3rd Edition and includes tools for creating characters and monsters, tracking combat, calculating experience, creating names, rolling dice, and generating treasure. The tool has been in development for just over a year. You can learn more and download the program by visiting the Crystal Ball Web site. In this article, we interview Mr. Sharp about his creation.
1. First -- give us the basics. What kind of Macs are you running?
- G4 400 (AGP) Tower with an APPLE 17" CRT studio display.
- iBook 500 dual USB
- iMac G4 flat panel with SuperDrive
I do most of my programming while I ride the bus to and from work on the
iBook. When I have time at home I generally use the iMac in OS X. I use the
G4 tower to make movies of my children in Final Cut Pro and to play some
games (thought I have been using the iMac for gaming more recently.)
I work on Macintosh computers all day. I am a Graphic Designer by trade and
graduated from Brigham Young University with a BFA in Graphic Design last
year. I currently work for the City of Provo, Utah doing design work for the
Office of Economic Development, the Mayor's Office, and Public Works.
I have been using macs ever since 1996 when I first thought of getting into
the design program at the university. It was shortly after this that I
discovered RealBasic and started to write a program to keep track of
characters in a personal role-playing game I called Chronovoid.
My programming experience comes mainly from High School where I took all the
Computer Programming classes I could after I had taken all the Art classes I
could. I am self taught mainly, however I have a friend from High School who
is a programmer by trade (who I incidentally play D&D with) who gives me
ideas and pointers here and there.
3. And now for the fun stuff -- what was your inspiration for Crystal
Ball? Why did you start this project?
My personal Role Playing project which I had printed and bound as a 300+
page book was my first foray into making a useful DM utility for in-game and
pre-game development. While going to college our group of friends would get
together on a biweekly basis to play. After graduation I started reading
more about the new d20 system and 3rd Edition Rules. I was extremely
impressed with the simplicity and customizability of the system. So the
"Chorovoid Role Playing Game" was shelved in favor of a nicer more refined
system.
As we started to play the 3rd Edition of D&D I realized that I needed a DM
utility for storing and creating characters. CrystalBall 1.0 was the name of
my program for my personal RPG. So I made the logical jump to CrystalBall
3.0 (for the 3rd Edition rules) and began coding.
I was aware of the fact there was virtually no Mac D&D DM utilities for 3rd
Edition out there. So I decided to place CrystalBall 3.0 on the internet for
other fellow Mac D&Ders to download.
(A little side note)
Jamis Buck contacted me and said that he would put a link to my CrystalBall
files on his website. I thought that was really cool. Then I read a little
bio about Jamis on his site and realized that be lived not even 10 miles
from me. Both Jamis and I hail from the Provo, Utah area. Jamis was very
helpful in getting the first few users to my site. Later, somebody added the
CrystalBall files to versiontracker and the website was hit over 500 times
overnight (which was a total surprise to me since the most it was getting
hit was 30-40 times a day.)
4. When did you start working on it? Is it a solo effort, or do you have
a team?
I believe I first started on CrystalBall 3.0 in June of 2001... so I have
been developing it for a year now. I have had some help from others on the
internet, but the project has remained a solo project mainly from the
beginning.
5. What was the first component you created?
My friends who all have PCs were able to use their copy of the Character
Generator produced by Wizards of the Coast. (Which, by the way, I have never
seen in action on the PC.) So my first goal was to be able to generate the
Core Classes from the Players Handbook.
As I got more D&D books (Oriental Adventures, Psionics Handbook) I added
those to the list of available classes.
Using the Dragon Magazine article "How to Create a Monster" as a guide I
created a Creature Creator that would allow DMs to make their own monsters.
So, it was a two part project to begin with: a character generator and
creature generator, with a simple Combat Manager to aid the DM during
battles.
6. What role do you see this tool playing for the DM? Is it geared
primarily towards DMs who use it on the fly during games, DMs preparing
for games, or a little of both?
When I first made CrystalBall 1.0 I used it during game play to keep track
of NPCs and Battles etc... I had the same vision for the D&D 3E version of
CrystalBall. I think CrystalBall really shines as an in-game DM tool.
However my view of how to use CrystalBall has expanded somewhat. I realize
that most gamers do not have a laptop they can bring to the gaming table, so
I have tried to balance the nature of CrystalBall to allow DMs to use it as
a pre-game preparation tool.
Now I use CrystalBall to generate Creatures and NPCs before the game, and
then use those creations during game play in conjunction with the Combat
Manager and other in game tools.
I believe this is where CrystalBall is most useful. It is a great tool to
prepare for a gaming session and a awesome tool to use prepared items while
in the game.
7. How would you describe the character generator? At this point it
seems like a hybrid character sheet/generator, with the program suppling
some, but not all, of the variables (i.e. it calculates stat bonuses,
but the user needs to add feat bonuses).
Yes! Exactly. I envision CrystalBall as a tool to take the main load of
rolling and calculating off the DM. However, as a DM I like to customize and
"break a few rules" here and there. I decided to not restrict the DM to the
absolute law of the game.
Perhaps eventually I will think of a way to incorporate all the different
ways bonuses from Feats can be applied to a character. But accounting for
all things may in some way bog down the simplicity and freedom that is the
strong point of CrystalBall.
That would be my main complaint against PC GEN. I tried to create one
character and gave up before I was even halfway through. I believe this was
due to the very unintuitive design of the interface, and the absolute letter
of the law requirements that had to be met by the user. The DM needs room to
change how things work without having to check and uncheck boxes restricting
certain actions.
There are 3 attributes I want CrystalBall to have:
- Simplicity
- Speed
- Customizability
8. What is Crystal Ball pulling its data from? Is it using the same data
as used in other online generators (a la Jamis Buck's treasure or NPC
generators), or did you have to re-create it yourself?
I have entered all the data myself.
The worst part was the spell lists. I had to scan the data from the books,
OCR it, and then proofread all the lines. I am still finding small errors
from the OCR.
Now that I have a basic set of data I am now building tools so the user can
enter their own custom data.
Some data is generated by algorithms within the program, but most of it is
in the form of text files inside the CrystalBallData folder.
9. How's the user community coming along? What's the response been to
Crystal Ball? Are you seeing a lot of user-submitted classes and such?
Nearly every day I get an email from a mac user who thanks me for making it
for macintosh. And there are many who have emailed me with great suggestions
and improvements for the program.
The response has been phenominal. Without user input CrystalBall would not
have been as good as it is today. I am glad I decided to not keep it a
personal project only.
I hope with the release of the new version (3.0.8) that I will get more
class files, race file, and creature class files submitted. I just made a
page on my website where others can download Add On files. I would like to
see more files submitted.
Some PC users are upset that there is not a PC version. They will be happy
to know that my programmer friend (who programs macs at work, but uses a PC
at home) has been working on a port of CrystalBall. He is using an older
version of the code, so the PC version will lag behind the mac version for
some time to come.
10. Where would you like to see Crystal Ball go from here?
This has been a huge learning experience for me. I am learning better
programming techniques, and CrystalBall gets better and better with each new
release.
Where to go from here? That is a really good question. I think that is up to
the users. I am trying to fulfill as many requests as I can possibly figure
out how to program. If I continue to get a good response I will continue to
develop and improve CrystalBall.
I am in a sort of quandary at this point in time. Our gaming group looks
like it may break up because one member is moving to Idaho. Another big
drive for me to develop CrystalBall has been the incentive to use it during
game play. Hopefully we can reorganize another group of players.
I am considering asking the user community for a small donation. This will
not be a Shareware fee with registration numbers etc. I have said from the
beginning that CrystalBall will always be free. I will not change that. I
need to upgrade RealBasic to the latest version and do not have the personal
funds to do so. I would also like to possibly purchase a domain on the
internet to host the CrystalBall website and files. I think that asking for
a donation from the user community will go a long way in determining whether
people want CrystalBall to continue to grow and improve as it has been. I
guess you could say that a few donations would almost force me to continue
to develop CrystalBall indefinitely out of obligation to the growing loyal
user base.
I envision CrystalBall to have a full set of DM tools for pre-game and
in-game development. I have received a lot of good ideas, and I hope to keep
getting more ideas from the user base
My programmer friend and I have purchased the d20 Starwars books, and we are
beginning to look at the possibility of expanding CrystalBall to include
other d20 flavors.
11. What sort of role-playing games do you play? How long have you been
gaming?
The first time I played a role-playing game was at a friends house when I
was 14? (or something near that age). They had a couple 1st edition D&D
books on the table and my friends brother, who was in a wheelchair because
of Muscular Dystrophy was drawing some maps on grid paper. I was interested
and asked what that was all about... and they invited me to roll up a
character. I think many gamers, when they reflect on the first time they
played a RPG felt the same way I did. I thought it was very strange talking
to my friend in character. But I was hooked from day one.
We played some West End Games: Star Wars 1st edition, Some Robotech and a
little of my own personal RPG creation. But my favorite was the D&D.
I played all the way through high school with my friend and his brother. I
began a large project my junior year to make a Role Playing Game of my own
where Fantasy and Scifi would work together in the same system. I worked
mainly with Kurt (my friends brother who was in the wheelchair) to develop
"ChronoVoid". Kurt was the best DM I have ever played with. We usually got
together once a week on friday night to play Role-Playing Games. Then near
the middle of my senior year my friend Kurt got pneumonia and died from
complication from muscular dystrophy.
I was devastated. We didn't play as much after he passed away, but we
managed to get together on an off for a while. Then during college I
reunited with some high school friends and we started to play some
ChronoVoid then switch to the d20 system. And here we are today.
12. You mention on your site that Crystal Ball is created using
RealBasic. Can you give us a brief description of that programming tool?
How easy is it to use?
RealBasic is an awesome program to create software for the Macintosh. I use
it mainly for its visual intuitiveness and ease of use. I was also able to
make the leap from Pascal programming to RealBasic without too much work at
all. If you know a little programming, and you run yourself through the
tutorial you will find that RealBasic is an incredible easy to use, yet
powerful tool. (Granted I will not be doing any 3D projects anytime soon.)
13. You mention a Windows port of Crystal Ball on your site. Any
timeline for that?
My friend who is PC man, who programs on the Mac all day using Code Warrior
(I love the irony), decided to take up the PC banner for CrystalBall. He is
nearing completion of a PC port of CrystalBall 3.0
The PC version will not
have all the features that the current Mac version has because my friend has
not had access to all the new code. He also doesn't have a bus ride to and
from work on which to write the code. However, since he is professional
programmer, and has access to my code, I believe that the PC version may
eventually catch up with the mac version. If we discover there are people
who are using the PC version and they demand that it continue in development
I am sure that it will progress further. Though, there are not guarantees.

