Word Chains
- 19 Devlogs
- 46 Total hours
A small word puzzle game
A small word puzzle game
Finally got around to making the stats page. You can now see stats like how many puzzles you have completed, how many hints you’ve used and even how many times you have dragged a letter. This wasn’t to hard to add although it did take a little while.
Now you can wipe your save file to replay levels. The also wasn’t anything to difficult to do but it ended up take about an hour to figure out how to style the confirmation pop up. This did show me a couple things that needed fixing regarding the tutorial, and even some stat tracking that I coded in wrong.
We have some small bug fixes that need to be made, and some other small features like adding more settings, compressing the puzzle files so they don’t get to big later on, and some small sound design changes. From there all that needs to be done is some formatting and spelling checks (cause I am terrible at spelling) and updating the README, then we are ready to SHIP!!!
Not a lot to say about this other than there are 200 new puzzles (just changed them out though)! I created a new python script that uses python libraries wordfreq and better_profanity, to clean up the generation dictionary. What this does is takes out words that are to infrequently used or are marked as profanity. One thing to note is that this is not the dictionary in game that this cleans. It just cleans the dictionary that I use to generate puzzles. So in game it is still possible to spell obscure words, which opens the opportunity to find alternant solutions.
Another thing that I added to my puzzle selector script was the ability to append new puzzles to a file allowing me to later add more puzzles very easily.
I plan on doing some more puzzle generation tweaks, as well as adding in a stats page! That’s most of what’s on the timeline, so were getting near the end!
The main menu has been changed, and some new features are coming soon!
I added in some much needed polishing to the dictionary panel that added in yesterday. I added a loading panel as it used to just show the previous term you looked up, then jumped to the new one when it loaded. Currently its just a progress bar with a small animation to it, but it works for now. I’m also thinking about reusing it in other areas too.
I’ve been wanting to change the credits screen for a while now, as its just been a static wall of text. For right now it mostly still is a static wall of text. But with more stuff! I have some tweens when you hover over the text which was missing in the old version. I’m not entirely happy with this one, but its still much better.
Added two new buttons. One for level select, and one for a stats page (not added yet! but soon). Now when you press the big play button you go to the last level you were playing, instead of level select.
I have some plans for what’s next for Word Chains, like a stats page! I’m also planning some new puzzles.
#New Dictionary Feature & Bug Fixes!
School finally caught up to me so things slowed down over the last week, but I think I’m back! So lets get started!
One thing I’ve wanted to add for a while was a way to look up the definition for the current word. So now using a this free API I added this feature. It still has some small polishing things that need to be done but overall it pretty much done.
I also took some time todo some bug fixing. Most of them originated from added the Timed Mode like leaderboards displaying scores incorrectly and medium difficulty level progress being saved in timed mode. Another bug that I fixed was UI scaling. When you play WordChains on a phone, the buttons and everything can be really small. It only took some changes to the project settings but it was very needed as the end goal is for WordChains to be on the app store!
##Puzzle Generation
One small thing that I also worked on was making levels more normal. The way levels are generated is by picking random words from the dictionary that I’m using, and seeing if they connect. This gets us to have some really weird words. I wrote a little program in python to clean up the words but checking if the word use frequency was above a certain level. This hasn’t been implemented yet but it hopefully will be in the coming week.
I’ve been trying to put more effort into these devlogs, plus I haven’t posted in over a week so wanted to let everyone know what’s going on with WordChains! If you want to play it you can do so here although this version doesn’t have all the new features yet. You can follow the project to be notifed when it does though!
Added new timed mode, where you have 90 seconds to complete as many medium difficulty levels as you can. Then your score gets submitted to a leaderboard.
This was not very difficult to add but I didn’t have a lot of time, so it’s very unpolished right now. I need some balancing and some tweens to add to it. There is also a lot of bugs that I think I introduce that I get to go hunt for later today. YIPPEE!
Puzzle generation rehaul. The way I created all 200 levels for WordChains is through a algorithm that hunts through every possible puzzle combination that could be made from the dictionary that I’m using. This worked for the last shift but It wont work in the long run as some puzzles just have completely random words that don’t seem like they are really words. In other words I think I need to update the dictionary that the algorithm takes from.
I just got the reviews in for the last ship, and things were very positive! There were a couple little bugs that people found as well as a lot of people wanting one feature: a level reset button! So I added one!
Based on recent feedback, I want to continue working on this game with the end goal of publishing WordChains into the Apple App Store. So here are some of the features that are coming soonish:
Yes you are reading that right folks! 200 new levels (and the ability to easily add tons more) have been added to Word Chains! A while ago for the daily puzzle creation I created some algorithms to create a list of puzzles from all the words in the dictionary that I’m using, and then randomly select some. I ended up generating 4,125,015 puzzles with word lengths of 4-8 letters. I then generated difficulties and selected 50 per each difficulty. I then created this new UI for the level select screen. I then wasted an hour trying to find a very small bug that was caused by my over complicated code! Where in the home stretch now and word chains is almost ready to be shipped!
Added Teal as a color! I want to add more colors, but I’ve used most of the rainbow now so don’t know how many more will be coming. I also added the ability to change your leaderboard display name, and the ability to replay the tutorial. These can both be found in the settings page. Getting the leaderboard display name to change was actually more challenging than I thought it would be due to a bug in the Godot CheddaBoard SDK that I was using, but the updated Github had a version that worked! One thing to note about changing the display name: The change will not appear on the leaderboard until the next time you submit a score, or in other words till the next day.
Got the leaderboard to work and finished up some polishing touches to this leaderboard screen. The big challenge today was getting the chosen nickname to save and be used, then not prompt for it again (although I’m planning on being able to change it in settings later). I also changed my API that I was using to get the time, so I could get the correct daily puzzle, to UTC to align with CheddaBoards daily reset for my leaderboard. Another big thing was you can now only play the daily puzzle once! This took a bit longer than I would have liked, but oh well!
Today was all about the daily puzzles. I generated a list of about 360 puzzles, then used an API to fetch the day of the year, and got the puzzle at that index. All in all that part was super easy! But the leaderboards, not so much. They are still being worked on in fact! I’m trying to use a service called CheddaBoards but I keep running into random issues that shouldn’t be issues. I think I’m just going to switch my leaderboard service, and rewrite all the code. But I need a break today, as 5 hours is a lot of coding for me.
One piece of feedback that I got from playtesting was to add a tutorial. So I made it so when you first play the game, the tutorial mode is activated. This shows a hand that will show you how to drag the letters. If you need the animation to replay you can use the hint button at no cost. Another quick thing I added was a new color, Green! It might be tweeked in the future but for now I’m happy with it.
Last week I shipped Word Chains, and the reviews are back! People seem to like it and even 4 minuets before logged on to post this devlog, Word Chains was given a Super Star! Wow! Thanks everyone!
Feedback from the ship was amazing, although there were some comments about a couple things, like the repo being messy. This is what I worked on today was cleaning up the repo and adding some more stuff to the README like update notes, and the project’s file structure.
In the near future I plan on adding a couple things like… daily puzzles with leaderboards, a actual tutorial, new colors and more!
As a prize for your great work, look out for a bonus prize in the mail :)
I just uploaded the v0.3b builds to by itch page so you can play with all the new updates here! This update added the new level select screen and the 5 new levels. I added a couple little tweeks this morning before finally uploading everything to itch.io. And for the first time I created a Windows and Linux builds, which went much smoother than I thought.
Finally took the time to create a working level select screen! This was one of the last big features that I have to add to this game before I ship it. In order to make this, I had to redo the way I saved the game, and needed to change some stuff on my color changing code. If you haven’t noticed from my devlogs, One of the options in the settings, is to change the games color. That was made before I came across HackClub so sadly I don’t get credit for the multiple hours that it took to make that feature.
Added 5 new levels into the game, but a little concerned with the difficulty scaling so far. I’ve also added some squash and stretch to the letters when you drag them, which was a bit tricky to figure out how to do with my code base so far. If you want to check it you you can do so here.
One big issue I had was that the icons in the web build weren’t rendering correctly. If you look in the screenshot, the icons I’m talking about are the check box, the slider grabbers, etc.. The big problem I had was I was trying to read a file that was not able to be read at runtime on the web build due to them being compressed into a .pck file by Godot. The way I got around this is by adding .txt to the end of the file.
I also found some sound effects for the splash screen that I’m using, so I added that today as well.
If you want to play this game the beta version is on itch.io at https://chicken502.itch.io/word-chains
I just found out about HackClub, and ive been working on this project for a couple of weeks. This is my first update here!
I just added fullscreen support for my game WordChains! I made everything auto scale to the window size, and when the window is resized, letters that are now off the screen get respawned instead of just snaping to the edge.