Coming along

It definitely needs work, but the rebuild of Mahjong Solitaire 2 is coming along.

Building it as best as I can. It takes about 1000 graphics calls to render the game in 2D in the old game, before it rebuilds the assets using the cpu. New game renders the tiles in 1 to 3 graphics calls, with zero cpu usage in most cases. So you run it on a really old Mac, your fans won’t spin up, you play it on the plane, you get the maximum out your battery. It’ll drop it’s refresh rate down to 15 fps when nothing is happening on screen, all that good stuff.

And running all on Swift and Metal. Taking this as a basis for all the new Mahjong games, because I’ll always be making Mahjong games, there’s no escaping it. ๐Ÿ™‚

Mahjong Solitaire 3 isn’t getting the full Swift and Metal rebuild, just getting modified a little.

A thought has just popped into my head, I don’t think it’s a bad one.

People want Mahjong Solitaire 2 back, not Mahjong Solitaire 3. The Mahjong Solitaire 2 code is in such a poor state of repair it would take weeks to get the Objective C/OpenGL code running on Big Sur. The next idea is to take Mahjong Solitaire 3 and remove all the new fancy features. The photo 3D Mode, the built in editor, the 1000 extra layouts, the high res tile sets, the cool new game modes, all that good stuff. Remove the nice new readout and replace it with the old ugly one. Put it out for the same price as Mah Jong Solitaire 3 ๐Ÿ˜‚๐Ÿ˜‚๐Ÿ˜‚. But that’s awful. Really cynical.

Third option, built it off the new Swift/Metal base for all the new apps I’ve built. The interface code I’ll built with this fancy new SwiftUI stuff I know nothing about. That seems to be all win win. The Mahjong Solitaire 2 fans get their game back, I get useful SwiftUI experience so I get something out of it, everyone happy?

I can’t do it just yet as I need one of my old Macs because it only runs in 32bit, and I need the old one to make a perfect clone. Seems like a plan. I’m happy, customers happy, all good.

If I have MJS2 running on the new code base, which does scripted animations in it’s sleep…. I could even put this out again, this is pretty much abandonware now. I’ve emailed the new owners of Freeverse, and I don’t think they even care enough to answer.

In this case sneak it out on the Abandonware sites with no publicity.

Update

So the website is looking a bit better, now our App Store previews are looking better

Here’s before and after pictures. Next job is to do the same for FreeCell Prime, Spider Prime and TriPeaks Prime. Of the four card games TriPeaks Prime seems to be the one people like the most, I’ll take extra care with that one.

Then the old Mahjong Prime and Mahjong Prime Demi games need an update. They’re still a little stretched out on modern iPhones, I’ll sort that out. It’s better to give people more information onscreen than crop everything.

Then Mahjong Solitaire 3 on Mac is getting a big update. M1 Mac native code for a start, then I’ll fix all the issues that people have with the game coming from Mahjong Solitaire 2. I think the problem is the game overwhelms people with choices in layouts, and forces people to play the game properly. Each layout is a puzzle you have to work your way through, if you just undo and shuffle your way through you won’t enjoy it as much… But people love to cheat… So we’ll let you cheat. I’ll code it in Objective C and OpenGL 1.1 rather than rewrite it from scratch on the new Swift/Metal code. Hope I remember how to do that after all these years.

After all of that is out of the way, onto the new stuff. The big idea is to do the same as before with the card games, but instead of card games it’ll be 4 original puzzle games, each very different from each other but using similar elements. Two are already up and running in prototype form, the outer two are specced out. They’ll be running on much improved graphics libraries, improved over MJS3 or the card games.

I’ll get busy on that and report back!

Up and running

If the new BHProjects is a train, we’re just about to leave the station.

I’ve spent the last two years relearning to code. Instead of using Objective C and OpenGL, I’ve switched to Swift and Metal. The first fully featured app is out, Solitaire Prime. It runs on Mac, iPhone and iPad. It resizes itself for landscape or portrait, it has achievements and leaderboards, it looks good on an iPhone 6 or the latest iPhone 12. It unlocks more items the more you play. It’s a good start.

Lots more work to do, but I think things are finally starting to come together.

The high water mark for the previous Objective C / OpenGL work was Mahjong Solitaire 3 on Mac and Mahjong Prime on iOS. Mahjong Prime has been updated to the new Metal/Swift libraries, MJS3 is going to get an update.