Tuesday, July 7, 2009

Publishing Update

Spatial Delivery
The publisher who has been reviewing Spatial Delivery has (after a year!) finally tested it, and tells me that they are currently looking for lighter games. They haven't quite said "get lost" and the prototype will be tested further at their main office, but the news is not encouraging.

I have contacts at a couple of other publishers who may be interested in Spatial Delivery. My home and life are going to be in some disarray over the next few weeks (we are remodeling) but after that, and if the current publisher hasn't changed their mind, I will build yet another prototype and see if I can get someone else to look at it.

Hammer and Spike
This one got licensed! It's not quite what I had envisioned, because it will not be published as a stand-alone game the way I designed it. Instead, some of its unique features will be folded into a game already being designed by some of the publisher's other developers. But I am not too disappointed: the license is the same as it would have been for a stand-alone game; my name (among others) will be on the box; and the combined product sounds very exciting. I am sure I will someday see a game of my own published, and this is a good first step in that direction.

By the publisher's request, I am giving no details about the combined product for now. I'll post more information when I can.

Update to the update: I can now speak a bit more freely. Hammer and Spike will become a new expansion for the Railways of the World (RotW) game system. RotW is the new (and re-named) edition of Railroad Tycoon being published by FRED Distribution. I've been asked to design an expansion that will merge the unique features from Hammer and Spike with the familiar RotW system. If you've been following this blog, you know that Railroad Tycoon is my favorite game, so you can imagine how excited I am to be given this project!

Sunday, June 21, 2009

JavaFX: Looking even better

I was surprised to get a quick response to my forum post, on a Sunday afternoon yet. The response contained a solution for my unresponsive-objects problem (see below), and almost completely fixed it. I've seen the symptom recur now just once or twice in a 90-minute session, and it never persisted for more than a minute. I suspect that these remaining minor glitches have a different cause, and quite possibly are just due to my system being busy doing something else for a moment.

My virtual gameboard is now actually usable, and I played a complete game of Hammer and Spike with it in just 90 minutes. I am very pleased.

I still have more work to do: adding features, cleaning up minor bugs, and finishing the documentation. But one of these days, hopefully soon, I will make it available for others to use.

JavaFX: Looking better, but...

I took vacation last week, and spent some of it working on my JavaFX virtual gameboard app (still inadequately named "Placer"). I've resolved some of the problems that were worrying me at the time of my last post: the exceptions are gone, the design and code are cleaner, the feature set and UI of the app itself have improved. I've figured out how it can be deployed, too, although unhappily it must use Java Web Start and requires the user to have a fast Internet connection (at every launch! Why won't Sun give us a better option?).

But my biggest problem remains unsolved. Sometimes, some of the objects in the window (cubes, banks, other clickable or draggable things) simply stop responding to mouse clicks for a while. This is mystifying because of the apparent inconsistency of the behavior. For example other objects in the same window remain perfectly responsive and well-behaved while the frozen ones continue to ignore the mouse. And a frozen object will often spontaneously unfreeze later on; but the period during which it remains frozen can be anywhere from a few seconds to many minutes. I have circumstantial evidence suggesting that a frozen object is more likely to unfreeze soon if I drag some other (and obviously more responsive) object over the frozen one; but this certainly does not always work, so it may be coincidence.

Until this issue is cleared up, the app is not viable. When objects freeze up like that, the app becomes effectively unusable. (It's okay if objects freeze up when you don't want to manipulate them. But you only notice that they're frozen when you do want to manipulate them, which means that your game is stopped until you can unfreeze the things you need to move.)

I've joined Sun's developer network, and posted in their JavaFX forum about my problem. And now I have yet another thing to wait for. I'm spending a lot of time sitting by my virtual phone these days, waiting to hear from game publishers, CD makers, and now helpful JavaFX gurus. It's getting old.

Saturday, June 6, 2009

JavaFX FTW?

JavaFX is yet-another-scripting-language. It promises that you can quickly create Java applets and applications with fancy visual effects by writing simple little scripts instead of miserably complex Java code. Does it deliver?

I was sic'ed onto JavaFX at my day job, charged with whipping up some cool new UI mockups. I quickly became fascinated. You can accomplish a lot with a little, using JavaFX. But that's not enough; I need to find out whether it can create industrial-strength applications, and if so, whether the code is readable and maintainable, and whether the UI it produces runs quickly and is responsive to the user.

I won't go into my day-job's proprietary stuff here. But (just in order to learn, you understand) one of the first things I did was start building a virtual gameboard. It went so well and so quickly that I've kept working on the project at home on my own time.

What is a virtual gameboard? I wanted a tool to quickly prototype a new game idea on the computer, without having to spend time and money assembling physical pieces. I wanted to be able to play the game (by myself, as I always do with new game ideas), change the rules and pieces, then play again, with rapid turn-around time on the changes. I also wanted play to go at least as quick as it would with real materials. I called the tool "Placer" because it will let me place things on a virtual gameboard. (A lame name, but it doesn't need a better one at the moment.)

Placer lets you specify an image file for the gameboard, which it displays in a window. A tool-palette area is automatically provided to the left of the board. In the palette are templates: If you see a red cube in the palette, for example, you can click-and-drag on it. It will produce a copy of itself (another red cube) that gets dragged away under your mouse. You drop the copy (called a "token") anywhere you like on the board. The template stays put, in the palette, and can be used again and again to make more tokens. A template is therefore a sort of virtual, limitless pile of its particular kind of token.

Placer is configured from a text file, in which you can specify a wide variety of templates for the palette: squares and rectangles, circles and ovals, cubes, disks, and more. Each one can be given a color, so you can have (say) four templates for the cube supply of four different players: one template each in red, yellow, green, and blue.

Tokens on the board can be moved around as much as you like. They can also be rotated, and each has a little popup menu that lets you delete the token or get a little information about it.

There are a couple of fancier kinds of tokens. One is the Bank, which displays an amount of money. Click on it to make a withdrawal: a small text box appears, you type in the amount to withdraw, and the Bank creates a new Cash token under your mouse. The Cash token displays the amount of money that you withdrew, and you can drag the Cash off to wherever you want it to go. The Bank stays behind, now displaying the balance that remains after your withdrawal. If a game uses money, you can create a master bank for the game, and then give each player a bank of their own. When you drop a Cash token onto a Bank, the Cash disappears and its value is added to the Bank's balance, making it easy to transfer money among the players. (The image shows a $13 bill ready to be dropped onto the Red player's bank, which currently contains $42.)

So has it been all kittens and rainbows? Nope, it hasn't. As is always the case with Java or anything Java-related, layout (that is, getting everything to be in the right place) is a major pain. JavaFX features coordinate-system manipulations that you must use to get anything significant done; no doubt they are very powerful and carefully thought out, but it gets very difficult to keep it all straight in your head (and your code) when you're writing something complex. Event handling is a bit tricky, and seems not always to work as advertised: sometimes my tokens simply ignore clicks and drags, with no clue as to why. (I suspect the garbage collector, at the moment.) And then sometimes JavaFX just throws a huge exception, stopping my app cold. It seems to be because I've coded something wrong, but I don't (yet) understand why I can play half a game of Hammer and Spike before it suddenly decides it doesn't like me.

Another issue is deployment. Suppose I finish up Placer, and want you to use it: how do I give it to you, and how do you install it? JavaFX isn't really designed for building stand-alone apps. You're supposed to access JavaFX programs via the Internet: as browser applets, or mobile device apps. It does provide a way to use WebStart files to deliver a desktop app, but these may have Java sandbox problems, which would be a killer for Placer: it has to be able to read your config file and board art.

But we'll see. I'm not done playing with it yet!


Monday, May 25, 2009

My Designs at KublaCon 2009

Hammer and Spike suffered a setback recently, when we found a strategy that was successful, simple, and dead boring to play. To fix it I've adjusted the scoring. The bad news is that the scoring is now even more complex, but the good news is that the fix seems to be working. I hosted a four-player game at KublaCon that included a couple of new players and a couple of experienced train gamers, and I liked the way it played out. The winner was JC Lawrence, who also pointed out a problem I hadn't seen before (but which will be easily fixed, I think) and who gave some good feedback and advice.

And there is finally some news about the fate of Spatial Delivery. In our last episode (and the one before that, and the one before that...), the prototype had been sent off to a publisher shortly after winning the KublaCon game design contest in 2008. There followed nearly a full year of dead silence. I restrained myself from attempting to contact the publisher, reasoning that publishers were busy, they'd get to it when they had a chance, and there was no point in making a pest of myself. But this weekend I spoke to a company rep and learned that they'd recently had to fire a clerical worker for incompetence. This worker had made any number of bad-for-business mistakes, and one of them was losing my prototype (along with my contact info, of course). Fortunately the rep I spoke to was the very person who should have received the prototype in the first place. I had just built a new copy and had it with me hoping to play it, but instead I gave it to the rep. He told me it would be played next weekend and that I would hear something back within just a few weeks. So Spatial Delivery is back on track!

Now I just have to hope that the publisher actually likes it. But if they don't, I have a backup opportunity. The KublaCon contest director tells me that she has been talking the game up to a second publisher. I'm going to stick with the first until they make up their minds (at least, if it doesn't take another year for them to do so), but I would be perfectly happy to go with the second publisher if things fall out that way.

The lesson learned is obvious: keep in touch. I still think it's a bad idea to be a pest, but from now on any such publisher who hasn't contacted me within the last three months will hear from me. I don't intend to lose an entire year again.

And now I have two designs being actively evaluated by two publishers, and backup publishers for both. Cross your fingers for me! I'm hoping to have at least one game on its way to market, maybe two, by next year's KublaCon.

KublaCon 2009

Whew! We're back from KublaCon, four days of delightfully intense boardgaming. And we're tired. (And my wallet is huddled in a corner, curled into a fetal position and sobbing.)

The high spots included scoring an inexpensive copy of Santa Fe Rails at the flea market, attending the game design contest awards, and playing two games designed by friends: Dylan Kirk's Genji, and JC Lawrence's Corner Lot. I also enjoyed a three-player game of Silverton (only the second time, I believe, that I've beaten Helen fair and square) and our first five-player game of Union Pacific, which confirmed our opinion that it is a great game.

Genji is a game about competitively wooing Japanese princesses by writing beautiful poems. I purchased it because I know the author (via Web) and, well, because it was cheap. Now that I've played it, I consider it a great bargain, because it's delightful. We're looking forward to more plays. The designer also did the artwork, which is thoroughly Japanese in style and theme and very lovely. It's almost worth owning the game just because it's so pretty. Unfortunately the publisher had some production problems and we had to ask for a replacement copy. One was given to us instantly, and we're happy now; but I hope the game gets republished soon with better quality.

Corner Lot has not yet been published, but if JC pursues it, I think it will happen before long. It's a card game with a theme of acquiring and developing real estate. The goal is to finish with the most money, which you accomplish by collecting sets of cards. The heart of the game is the unusual auction process by which you acquire the cards, and the tight budgeting that JC has carefully designed in. I liked it a lot.

I attend the game design contest every year, even though I don't always enter a design of my own. (I didn't enter this year, partly because I won last year, and partly because my current design is already being evaluated by a publisher.) But two games designed by friends were entered: the aforementioned Corner Lot, and Candy Weber's Coronets.

Both games fared well. The contest director was full of praise for Coronets, saying that she always looked forward to Candy's designs and that this was the best yet. They had a couple of nits to pick (no game gets away without a few nits being picked) but they found nothing wrong with the game that couldn't be fixed, and even the couple of things they recommended changing are not necessarily wrong. Corner Lot was judged to be "Knizia-like" (which is a compliment) and publishable, needing only a good player aid.

The winner was an abstract two-player game called "Kiva" with a really innovative idea. Its only real flaw seemed to be that the innovative idea makes it very expensive to publish, so finding a publisher willing to take it on will be difficult. I'm not going to specify the innovative idea because I don't know if the designer wants it broadcast on the Internet. But it looked very cool, and I'd like to try it myself.

The next post will include a bit of news about the progress of my own designs.


Saturday, May 16, 2009

Recording Artist

In my previous post I mentioned that I was gearing up to record a CD with Ted Shafer's Jelly Roll Jazz Band. After a week of home practice, three-hour rehearsals, and four-hour recording sessions, we "recording artists" are done with our part. I was tempted to say "finally done" because it feels to me as if it was a long haul, but really it was just that one tiring and overwhelming week.

And now all my friends are asking "when can I hear the CD?" and the answer is, "I don't know." The actual recording is finished, but much editing remains to be done before the disks can be printed. The editing is being done by the recording engineer, the bandleader, and at least two other members of the band who want a vote on which bits are used and which are tossed. I asked how long it would take and was unsurprisingly told "as long as it takes." So now I'm twiddling my thumbs and wondering if I'll have to wait a couple of weeks, a couple of months, or a couple of years. I'm guessing that the right answer will include the word "months".

I'm not sure I can honestly say it was "fun". I found it a bit too stressful to be considered "fun". There were some really good musicians in the group, and I was nervous and anxious. I just wanted not to screw up too badly in front of them, and especially not in front of the microphones which were pitilessly waiting to enshrine my every mistake for eternity.

But I think I got away with it. Fortunately my every mistake will not be enshrined, because of course we recorded at least two takes of nearly every tune. Any parts that gave us trouble were recorded multiple times, and part of the editing process is splicing together the good bits. There were a few solos I wish I could have done better, where even my best take was none too good. But that seemed to be true for everyone in the band, so I'm trying not to let my neurotic perfectionism get the better of me.

There were two tunes in particular that I was worried about. One was called "King of the Zulus". I'm very familiar with this piece, but it is a difficult one for the cornets. Playing second cornet, I can usually kind of hide down in the ensemble, and if I fumble a bit, people mostly won't notice. But in King of the Zulus there's no place to hide. Each cornet gets a full solo chorus, and both of them should be played hot and high. And my solo is immediately followed by another hot, high chorus in which the lead and second parts are swapped, so I'm playing melody for that time. It's a chop-grinder, and I wasn't sure I could play it twice in a row, so I was relieved when everyone agreed that the first take was a keeper and we didn't need to do it again!

The other piece didn't worry me at all until we got to it. It was late in the evening, Leon Oakley (the lead cornetist) was justifiably tired, and he asked me to take lead on "Chimes Blues". Fortunately for me it's not a difficult piece and it's one I know very well, but I was startled to suddenly be playing lead. We did two takes, and since I was tired too, I didn't play as well the second time through. But I was pleased with my solo on the first take, and I assume (and hope!) they'll use that one for the CD.

That was the only piece in which I played lead throughout; the rest of the time I played second, with an occasional chorus or half-chorus of lead because (I guess) the arranger wanted to give the lead a break. I just want to take a paragraph to say that this is a good thing, because the lead cornetist was Leon Oakley. I don't know of a better living trad jazz cornetist. Leon's chops are great and his musicianship is outstanding. He plays with a power, an authority, and a presence that are simply overwhelming, especially when heard live. I've been admiring (and trying to imitate) Leon's playing for 40 years, and it was a great privilege being asked to record with him. Stress notwithstanding, I'd do it again in a heartbeat.

Okay. Back to waiting for the CD!