Showing posts with label design. Show all posts
Showing posts with label design. Show all posts

Wednesday, January 28, 2015

A Haiku Minesweeper update and a theme for BeMines

Since my original mockups there's been at least some progress on Minesweeper in general. It's been added to the HaikuArchives at least.

A new ticket has been created on the github repo version referring to my old ticket on trac discussing my ideas for the Haiku style enhancements.

Let's have a look at the updated style work I've done recently, including a preview of both the new icons I've created, and the couple from Zumi's excellent icon collection that I'd like to use in the app.

The emoticons and clock icon are from Zumi's collection and the rest were created by me.

While I was at it, I also created a similar theme based on that style for Darkwyrm's BeMines. This is just a bitmap based theme based on the mockups work I was doing for the actual Minesweeper style work.

While I was working on that theme I noticed an interesting bug in BeMines... two related bugs actually. First, the game finishes when all flags are placed, not when all tiles are cleared as in the Windows version I'm familiar with. This allows instances where you can basically cheat by guessing flag placements in a few final squares where you might otherwise be forced to guess at clearing a tile at the risk of hitting a mine. This leads to another side effect bug where clearing every tile except the mine location doesn't finish the map. You have to manually place the final flag to finish the map, again unlike the Windows version I'm familiar with, and unlike the Haiku Minesweeper version at the top of this post which functions exactly as I recall in the Windows version.

Saturday, March 2, 2013

A Haiku style makeover for the classic Minesweeper

This all started with me noticing an email on the Haiku development mailing list mentioning a "Tri-Edge AI" having done a Minesweeper game as part of the Google Code-In 2012.

After downloading, compiling, and testing it out in Haiku, I felt like seeing if I could give it an improved Haiku look and feel. I also had a number of ideas on how it might be improved as a demo and game for Haiku, since it is small enough that it seems like it could be an excellent demonstration of how to program a good looking program sticking closely to the Haiku look, feel, and way of programming using the Haiku API.

For example, instead of using PNG image resources I thought we could use HVIF icons along with the native Haiku API to draw the game board and graphics in the game. This should allow us to scale the game board to make it more easily seen for the visually impaired, reduce the size of the over-all package (by reducing the graphic resources by ~75%), and further serve as a good demo of using the Haiku API to its fullest.

I also question the need for some of the added features in Tri-Edge AI's version of the game, since the goal here is to basically develop a modern Haiku version of the original BeOS Minesweeper game that was bundled with the OS. That game lacked animations, sound effects, etc... and as such for a small bundled application I think those things are too much for the intended goal. I'd strip it down to the more basic functionality and put the extra work into smoothing the aesthetics in the Haiku style, giving it some flexibility of the type you find in the Layout Kit (leveraging the API and native widgets, font rendering, etc rather than brute forcing everything with images), the use of HVIF vector icons for saving file size and allowing flexibility in displaying the images, and so on. Make it really illustrate what the Haiku API and associated technologies have to offer while still sticking very close to the functionality and feel of the original BeOS game.

(I'm not trying to knock some of the additions. For instance I think the little explosions are cute, and sounds could be neat... but think they're just overkill for a basic demo/game and too much of a departure from the original for a bundled demo/game.)

I've done up 3 mockups so far of the "in game", "game over", and "game won" screens to give an idea of the look/feel I'm going for.

The sad part is that I don't have the programming skills yet to accomplish this myself, so I'm hoping that someone who does can implement the changes. ;) heh

I can certainly contribute to the design, and I can do the icons etc... I just can't write more than the most super beginner level basic C++.

I've written up an enhancement ticket on the Haiku development tracker for later official reference.

UPDATE: Check out my updated designs for this in my post titled "A Haiku Minesweeper update and a theme for BeMines".