AlexK's Dev Blog

Made some strong progress this past weekend! I turned the automated game off, and so now you can actually play the game! Use any of the links in the previous posts to get to the game in its current state. It’s not fully functional, and some of the more obscure Monopoly rules will leave the game in a weird state, but we’re getting there!

I worked on the “player action menus” that allow players to decide how to proceed. That took up most of the work this weekend, as getting the menus to appear and getting the interactions to work proved to be a bit stubborn. It’s working now, though! This coming weekend, I’m planning to work on more of the core functionality (e.g., trading, property auctions). It’s really starting to come together!

Random screenshots:

arcade-Monopoly

arcade-Monopoly (1)

arcade-Monopoly (2)

Immediate TODO List

  • [/] Refactor game loop to use an action queue.
    - [/] Handle card actions.
    - Handle go to any space.
    - Handle go to space and all pay.
    - Handle lottery.
    - Handle selective tax.
    - Handle roll backward.
    - Handle skip next turn.
    - Handle bus options.
    - Handle gift options.
    - Handle bankrupt player.
  • Player actions menu (while in jail).
  • Player actions menu (turn).
    - Roll.
    - Bankrupt.
    - Build/mortgage.
    - Trade.
  • Player actions menu (unowned property).
    - Buy.
    - Auction.
  • Auction property.
    - Multiplayer.
    - Single controller.
  • Buy/sell houses + mortgage property.
  • Trade mechanism.
  • BUG: Roll after card moving to utility is not paying owner.
  • Show property information as a sprite when purchasing, auctioning, or mortgaging.
  • Remove viewing of action queue from production version.
  • Add subclass of action menu for starting a turn with appropriate default actions.
    - Trade
    - Build/Mortgage

Have a great week, friends!

8 Likes

Just curious, is this still being worked on?

2 Likes

I sure am! I haven’t had a chance to work on it much, but I’m still making progress!

7 Likes

Wanted to share some extensions that I’ve been building.

First is a cleanup of the BigInteger extension, which I’ve renamed BigNum. I haven’t implemented floating points or rationals yet; only integers. This one was really interesting to build, as it lets me play with really big prime numbers.

To help with big sets of words for word games, I’ve built extensions to support fast ternary string sets and Bloom filters. They provide rather efficient ways to store large sets of data.

The extensions aren’t very useful on their own, since you need to populate a set before using it. I’m working on a tool for your computer (it’ll be a web site) that you can feed lists of words and have it build a MakeCode extension for you. With that extension, you’ll be able to use your word set(s) in MakeCode however you like … perhaps like this:

You can play with the code below. The database is the word list that I used in What’s My Word? and limited to five-letter words.

I’m still working on the app that will let you build your own word lists in any language. Made a lot of progress this weekend. I’ll need some help from the dev team to figure out the final stage. :slight_smile:

Hope you all had a great weekend!

8 Likes

Here’s a sneak peek into a project that utilizes all of the extensions mentioned above.

Have fun!

https://alex-kulcsar.github.io/countdown-solo/

arcade-Countdown-Solo (6)

5 Likes

Next steps with Countdown include entering and verifying player responses, making it multiplayer, and then making it Blocks-friendly. But, if you want to practice your Countdown skills, then the current version of the project is just for you!

If you’re not familiar with Countdown, it’s a popular game show that originated in France as Des chiffres et des lettres. Several countries have their own versions of the show; my version is based on the British version that is broadcast on Channel 4.

3 Likes

I updated Countdown so that it verifies the player entries and allows you to play infinite rounds. It does some scoring; I’ll implement full scoring in the multiplayer version. As a solo option, though, the project is complete.

Don’t try to play it on a phone or an underpowered tablet. It runs fine once it loads, but it will take a long time to load. It runs fine on a desktop or laptop, though.

Have fun!

3 Likes

Hee hee hee…

8 Likes

OH OH OH I KNOW THIS GAME! WE PLAY IT ALL THE TIME IN SCHOOL!

What’s it called… like each number gives you a question and the question’s difficulty is based on how large the number is, and you get that amount of points for your team if you get it right, but it removes that amount from your points if you get it wrong, and you’d always end up in the negatives…

5 Likes

I’m glad your teachers let you play it in school, @ChimbroDaPro ! You have good teachers … which is precisely the audience for whom I’m writing this. I will post these projects after ArcadeCon. More sneak peeks over the next month or so! :smiley:

6 Likes

Jeopardy! It’s a very old game show, and each column has a question theme, and the harder questions are more points, and at the end there’s a round when you can bet an amount of points, and if you get the question right you get those points and if you get it wrong you lose them! Usually you have opponents, so I hope this game gets a multiplayer mode!

I don’t remember ever losing points. I thought that if you got it wrong you let the other groups guess, so if you get it wrong you basically give away your points.

4 Likes

It would be a sad version of Jeopardy! if you couldn’t play with your friends… :grin:

6 Likes

:smile:

7 Likes

Sneak peek at a new project:

13 Likes

Cooking with gas this weekend!

Also, this is the first project I’m doing in Visual Studio Code. It’s different from working in the Monoco editor in the web version, for sure, but I’m liking it.

12 Likes

How do you even name assets in that

4 Likes

We don’t talk about Bruno. :laughing: It’s possible but fussy.

9 Likes
  1. vscode uses Monaco editor for the text editing thingy

  2. what happened to @KIKIvsIT

  3. why is this causing an error still it told me to add ignoreDeprecations and it still causes an error

3 Likes

Countdown has dropped!

I used the solo version previously posted here as a starting point. Adding multiplayer, as the game is meant to be played, posed some interesting challenges, but implementation was fairly straightforward. The most challenging part was the screen layout during the truly multiplayer portions, where all four players need to share the screen.

I’m looking forward to refining the underlying mechanics behind the game. I ported algorithms written by Christopher Jennings[1] to MakeCode. They’re good algorithms, and the algorithm for solving the numbers rounds uses recursion in a very nice way. I want to redo those implementations, though, so that they can be paused and resumed, essentially pre-empting them so that the game update routines run in a timely fashion (which should get rid of the stutter while the background music is playing).

I also probably should rewrite my typed arrays implementation to take advantage of MakeCode’s builtin Buffer data structure. It may help with the performance of loading the word lists.

Have fun!


[1] https://cgjennings.ca/articles/countdown-numbers/

8 Likes

My version uses a U.S. dictionary from Dana Bell.[1] If you would like an adaptation of Countdown for a different language, then let me know where I can find an equivalent word list, and I’ll be happy to build it for you!


[1] https://www.tylerhosting.com/gamewords/index.html

3 Likes