Frequently Asked Questions
- I'd like to report a bug.
- Great, thanks! Please email me the details at: email@example.com. If you can figure out exactly what you do to cause the bug, step-by-step, that's really helpful. Screenshots and the log-files can also be helpful (Jester/logs/jester.log).
- I'd like to suggest a new feature.
- Cool, I'd like to hear it. Email me at firstname.lastname@example.org with your idea, and maybe I'll be able to include it!
- Will Jester have multiplayer support?
- Yes. I think that is the next big feature I'm working on. With the Beta 2 release, Jester has all of the features I want, except multiplayer, so that's the big project for Beta 3. I have no idea how long that will take to get implemented. A lot of the framework for it exists in my code already (things have been built anticipating that functionality) but there's definitely a lot of work to do.
- Why is there such a long delay between releases?
- Jester is my hobby. My cousin likened it to an half-finished old mustang in the garage in the 1970's, lovingly put together part-by-part. That is a really accurate analogy. As a result, sometimes I'm busy with other things, or I'm just not in the mood to work on it.
- Why do you bundle Java with Jester? I already have Java installed!
- Because there are a lot of different versions of Java out in the wild, and I found this was the source of a lot of bugs. In addition, some people have trouble setting java in their path appropriately. Making sure Jester work on three platforms is already a lot for one developer. Trying to do it on three platforms with multiple java providers across a number of different versions of java is just too much.
I want to be sure that the package I deliver works, right away. I'd rather it take a little more time to download and be sure that it works the first time you try to run it.
- Is there a name I can use to unlock all of the features of Jester?
- Yes. Hint 1: It's four letters. Hint 2: It's my favorite webcomic.
- Will Jester ever be on a cell phone platform?
- No. This game was designed for high-speed play, which requires physical keys.
The engine stands alone, though, so it would be possible to re-use a large portion of this code base to write a mobile game.
- Do you intend to release Jester's source code?
- Right now Jester is closed-source. When it is finished (i.e. when I release a final version with multiplayer support and A.I.) depending on what I want to do with the project next, I may release the source under something like the GPL. For now, it's closed.
- Who are you?
- My name's Joshua Hartwell. I work as a legal assistant and I own two gaming stores in New Jersey. I'm a hobbyist programmer and musician. I practice Buddhist meditation, and I drink a lot of tea.
- Why did you write Jester? How long did it take?
- I started writing Jester in 2003.
There was a game called tetrablocks which I played a lot, but it had this bug where if the gravity was high, blocks would sometimes be unable to slide left or right into small spaces. It really pissed me off. So I decided to rewrite the game and fix that bug.
Another reason I started was a reaction to the frustration I felt while studying computer science in college. As a student, I developed a handful of interesting projects, but there was a wide chasm between the toys I made that ran in my development environment and something I could package and distribute to my friends and the world-at-large for general use.
So after seeing that sliding bug, I resolved to write Jester to learn the skills to bridge that chasm without realizing the scope of the project. I figured it was a good small project that I could get done in a relatively short period of time. Famous. Last. Words.
Jester has been rewritten a few times, and I've expanded on the original design dramatically, as you can see. As of November 2015, I think we're around 40,000 lines of code in five languages. Most of that's Java, but there's a sprinkling of other things as well.
I allowed myself to be a perfectionist with the code, and I also let myself try out a lot of different things before settling on a final design. These are luxuries not typically afforded programmers, but since I'm the boss and there's no deadline, I'm OK with breaking the rules. I often take long breaks in development, sometimes only working one month out of the year, so it took some time to pull things together. The last few years I've been more motivated than usual, but there are still large periods where I don't focus on the project at all.
I recommend that any aspiring programmer out there take on a medium sized project like this and stick with it. I've been exposed to so many different ideas in computer science because of this project.
- I really like Jester, can I contribute in some way?
- I did all of the graphics myself, and I don't think they are particularly good. If you've got a background in design, I'd love to see a sharp skin for the game!
If you have a background in audio engineering, I'd love to get some new sounds. The sounds I'm currently using were given to me by "Synth0r" of the tetrisconcept community, who has since passed away :'(. I like these sounds a lot, but the 4-line clear doesn't fit.
I also am currently in need of an old macbook or hackintosh (OS X ~10.9 or later) so I can develop the OS X version. If you've got one laying around that you want to donate (or even sell to me at a low price) that would be wonderful.
Now that I'm developing multiplayer, I think it would be really cool to have a centralized server, but the cost for that is prohibitive for me right now. If you've got server space with a really wide pipe, maybe you would be interested in hosting the first centralized server. Alternatively, if you have the volition, I would be glad to take donations to rent a dedicated server.
I'll also accept Paypal donations if you really love the game. I'll spend any money I receive on stuff for Jester.