Score!

Second Update

As before, skip to the bottom for the update video.

Title Screen

In the past week I've fleshed out the basic title screen. And I mean basic. But it has the most important features: A way to start the game, a way to quit the game, settings, and leaderboards.

Name Selection

Another function of the title screen is selecting a player name for the leaderboard ("high score board"). This window appears after the player presses "Play", but before loading into the first level. Building this window was a good exercise in learning more of Godot's UI tools.

Scoring

Of course, the name selection is no use without the scoring / leaderboard system it supports. The end of the video shows the rough state of the post-game leaderboard; the rendition on the main menu is more functional. The data populating the leaderboards in the video is leftover from the Unity bee game, which is why you see names with funny characters and suffixes. Those suffixes were used to identify which gamemode the score was saved from: classic, "hard mode" classic, or the campaign.

The new scoring system isn't complete, since it doesn't yet support other gamemodes, but in other ways it is already superior to the old system. For one, there is trivial enforcement of name "ownership". In the Unity bee game, there was just a warning if a name was already in use. In the new system, the name validation process essentially checks if a name is already on the leaderboard, and if it is not, your device will "claim" that name. Every time you play, you can upload a higher score under the same name, until you choose to change your name. Right now, once you change it, you cannot go back: you relinquish your claim to that name, and since it has posted to the leaderboard, no-one can lay claim again. But in the future, I intend to allow a user's device to claim multiple names. That way, if, say, a friend plays on your device, they can use a different name for their high scores, and you can revert to your name in the future. It's not a perfect system, but I don't intend to build an entire user account system to address its shortcomings; perhaps in the future I can make use of existing systems, like Apple's Game Center and Steam, for tracking user accounts.

What's Next

Now that both the core gameplay loop and the title screen and scoring system are implemented, I can finally look into generating builds, or standalone copies of the game. Godot calls this process "exporting". I will learn the export pipeline by exporting for Mac, since that's what I'm using for development. After that, I will review the documentation for Android and iOS exports. In Unity, "exporting" for iOS was considerably more complicated than the process for Android, but from what I've skimmed so far it looks like iOS is simpler with Godot. Since I'm developing on a Mac anyway, I may as well go for iOS first.

Blog Things

I've updated the blog styling a bit to improve the presentation of post info and summaries.

Update Video

This time, it actually has sound!

links

social