Category: Tetzle (Page 1 of 5)

Minor hiccup with Tetzle release

Posted on August 11, 2024, under Packaging, Tetzle

A user recently informed me of an issue with the Windows release of Tetzle: there were missing DLLs that prevented Tetzle from running! Interestingly, the builds ran on my computers without a hitch so when I had tested them before making the release I didn’t notice the issue. I have uploaded new builds of Tetzle 3.0 for Windows, so the issue has been solved.

What happened, as far as I can tell, is that the windeployqt.exe executable from the binary release of Qt 6.7.2 apparently thinks everything is compiled with MSVC instead of MinGW. 🤦 Which means that when it went looking for the compiler runtime libraries—libstdc++-6.dll, etc—it couldn’t find the correct ones.

I solved this by grabbing the windeployqt.exe executable from an earlier Qt binary release and used the qtpaths.exe executable from Qt 6.7.2 so that it would find the correct libraries and plugins, and everything was fine. I suppose I could have just copied the few missing DLLs by hand this time, but now I have everything set up so that I can avoid this issue in the future.

This shows how important it is to inform me of issues: if I don’t know about them, I can’t fix them! Don’t assume somebody has already reported it. 🙂

Tetzle 3.0.0 released

Posted on August 4, 2024, under Tetzle

I am pleased to announce the release of Tetzle 3.0! 🎉

The biggest change is also one that should be completely invisible to most players: I replaced OpenGL with QPainter, which should solve some bugs that players have reported. And make packaging Tetzle easier. (And make Tetzle work with newer version of Qt 6.) It is also why I decided this release should be 3.0 instead of 2.3, to signify the large change in behavior.

I added edge scrolling to the board to make it easier to move the play area without having to drag it with the middle mouse button. There are now nice little arrows on each side to show when you can hover your mouse on a side to move the board, or you can click on the side to speed up the scrolling.

I redesigned the statusbar to make it less confusing. The progress through the game is now labeled clearly, and the zoom slider now has buttons next to it for zooming in and out and to the best fit.

I also redesigned the new game tab of the choose game dialog. It now shows labels next to the buttons to add an image, remove an image, and to set the image properties. I moved the buttons above the image selection area to make them more visible. And I made the tags into a combobox next to them, instead of a sidebar.

And finally, I made it center on the mouse cursor when zooming. That is the way the game was always supposed to work, and was the way it did before the 2.0 release a long time ago. Since it hasn’t worked that way in over a decade, I felt it was best to list that as a new feature. 😉

Along with the new features, I also spent time cleaning up the code to make it easier to maintain. None of those changes should be visible to players. If they are, I did something wrong!

Go and enjoy! And, of course, please report any bugs you find.

Is it a bug?

Posted on July 11, 2024, under Tetzle

I just recently made Tetzle zoom in and out on the mouse cursor. I felt that was much more natural than always zooming in and out on the center of the play area.

While I was doing so, I noticed that the code implied that was how it was already supposed to work. But it didn’t. And yet… when I looked far enough back… it did! Back with Tetzle 2.0 I rewrote the graphics handling and broke the zooming in on the cursor. Unintentionally. Ever since then, it has zoomed in on the center of the play area.

So… does that make this a bugfix for a bug that was 13 years old? Or a reintroduction of a past feature? 😛

Starting a new game in Tetzle

Posted on July 7, 2024, under Tetzle

I haven’t played Tetzle much in several years, despite the fact that I really enjoy jigsaw puzzles. It is probably one of my favorite pastimes besides reading. And programming. 😉 Because of how long it has been, I haven’t had to deal with starting a new game in Tetzle in a very long time.

And it is kind of confusing.

Mostly, adding an image for a new game was not obvious. To solve that, I spent way too long going down the rabbit hole of completely redesigning the new game interface before deciding that the current design just needed some improving.

The first thing that needed help was the image actions. Why are there no text labels? Just using icons alone was confusing and not very discoverable! And having them below the images made it extra hard to figure out how to add an image.

The second thing to go was the tag sidebar. Don’t worry, there are still tags! But they don’t need to be in such a prominent and confusing place. I instead made them into a drop down, where the last item is “Manage Tags…” and it brings up a dialog to modify the list of tags.

I also found not being able to add a new tag to an image while modifying its properties to be kind of awkward. I did try replacing the list of tags with just an entry where you typed the tags for an image, but that had its own issues. I decided to simply add an entry for new tags while modifying the image properties.

And finally, you could add multiple images but only remove them one at a time. Not very friendly! Now you can remove as many images as you want at once by selecting them and then clicking “Remove Image”.

Here is what it looks like with those changes:

Update new game interface for Tetzle

Much better, I think! Now I just need to play a bunch of new images to see how it feels in practice… After all, the best way to know if I have fixed the issues is to play games, right? 😉

Interface improvements for Tetzle

Posted on June 26, 2024, under Tetzle

Once I get into a project, I really get into it. I haven’t worked on Tetzle in many years, as I felt it was pretty much done. But I have been noticing things to improve now that I have replaced the graphics rendering.

Firstly, the statusbar is a mess! It has two similar bars with percentages next to them. One of the percentages is for how far through the game you are, and the other is for how zoomed in the play area is. Frankly, you don’t need to see the zoom percentage all the time (and it was very confusing to start a game and see “100%” down in the statusbar). So I removed the label on the zoom slider and made it a tooltip instead.

That was a good start, but I felt it could be better. I decided I would make the zoom slider’s purpose more clear by adding buttons around it for zooming in, zooming out, and zooming to the best fit. And then I realized I could continue to improve the statusbar by changing the game progress bar to include “complete” after the percentage!

While I was at it, I decided to tackle an unrelated but longstanding issue. Many players don’t realize you can scroll the zoomed-in play area by middle-click dragging it. Right click already rotates the pieces, so it seemed like a good compromise. Sadly, it is not very discoverable. Plus, most games use right-click drag instead of middle-click drag, so even if users thought about dragging the play area they would probably try the wrong mouse button.

I tried adding scrollbars, but those didn’t feel very “gamelike”. And if you wanted to move to the left, you had to move your mouse to the bottom and drag a scrollbar instead of just… moving your mouse to the left. They also made me feel very limited while playing, like the play area wouldn’t expand even though it does.

After some thought, I came up with a solution I am quite happy with: I added edge scrolling! It is very handy while playing, and I don’t think it is very intrusive. It is very intuitive to just mouse to the side and have the play area scroll in that direction. I even added the ability to increase the speed of the edge scrolling if you click on the edge while it is active. This doesn’t replace middle-click dragging, of course, but it is a very nice alternative.

Without further ado, here is the new Tetzle:

Showcasing the edge scrolling and new statusbar of Tetzle

Categories