Oooh, more level builder

Published December 11, 2004
Advertisement
Okay, Bulldozer Builder Client Release Candidate One is now up for your level-building enjoyment. Try it out here.

It's a friggin' Flash-applet, so there's nothing to install. Just click the link and start making a level. Sheesh.

Following TANSTAAFL's buglist (scroll down about two entries), it appears that Flash MX 2004's tooltip classes have a bug. Well, not really a bug, but just something that Flash can't do. In a regular Windows app if you hover your mouse over a button near the edge of your app's window, the tooltip will happily display itself off the edge of the Window. You can't do that in a Flash applet, though. All drawing in a Flash applet has to occur in the space granted to it. The tooltip object in Flash is smart enough to scoot itself around horizontally if you're near the left or right edge of your applet, but it always stays below the mouse cursor. Hence, if you've got a button near the bottom of your applet the tooltip will be clipped off.

The obvious solution was to make the applet a bit taller so the entire tooltip could display. When I did that, however, I found myself with enough space for a little status-help display. So I dumped the tooltips entirely and just made everything display help there.

I was also able to prune another 6k out of the applet. The whole level builder now clocks in at about 33k. Pretty good considering that the first one I uploaded was 79k. And I'm not just being obsessive about size. Small applets are good because they load faster on slow connections and save you space on your monthly ISP bandwidth limit.

Ghostwire just updated their lightweight PHP-Flash communication object for PHP 5, so I've now got no excuse for not starting on the server stuff.

I'm taking a break from Asimov for a short time. I'm currently reading Mountain Man by Vardis Fisher. Good read. It's pretty violent stuff, but I don't think you could write a book about the mountain men without violence unless it was a romance novel.
Previous Entry Thems was the days
Next Entry Now here's a deal
0 likes 3 comments

Comments

TANSTAAFL
I had decided to go with a status bar type tooltip since the original writing of cowhead, mostly because I was being a little lazy and didn't want to make any sort of floating tooltip objects or callout objects. I feel that the status bar is just as professional a means as the other ways to get the information across.

And while I still think you could go with a little filled in box color FFFFFF alpha=25% that hilites a box on the map, at least you've got the x,y coordinates, and the subtle hover hiliting on the placeable objects is good.
December 11, 2004 01:47 PM
TANSTAAFL
Bug! (Glitch, really, but still...)

The level:
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000088808880000000
00000081808180000000
00000082808280000000
00000084808480000000
00000088808880000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000||

If you record the solution, after you have solved the level one of the rocks is half-faded.
December 11, 2004 05:38 PM
TANSTAAFL
And here's a suggestion of one more way to trivially discard unsolvable boards:

For each area that a bulldozer is on, you tell that square to "light" itself. Lighting a square only happens if the square does not contain a wall and it is not already lit. If a square becomes lit, then attempt to light all of the squares adjoining it to the north, south, east, and west.

Once the lighting algorithm lights all of the squares as it can, check to make sure that all of the targets and rocks are on "lit" squares.

This is the same sort of algorithm I use in Cowhead to see if the board is "solved" or not, as well as in ChemHex to see if a molecule is completed or not.
December 11, 2004 06:16 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement