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.)
Tell us a little bit about yourself — how did you get into Macs? What sort of programming experience do you have? — that sort of thing.
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
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:
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 phenomenal. 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 Star Wars 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
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 friend’s 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