Lemon Legion

Inspiration

I wanted to explore an autochess game that ultimately uses poker hands. So you would "power" each board piece with a poker hand.

What it does

Lemon Legion is an original, online, multiplatform, in-browser, turn-based strategy game. Play a Ranked Match with a stranger, or a private game with a friend. All features are available on both Desktop and Mobile.

Game

In Lemon Legion, there are 3 lanes, and each lane goes head-to-head with your opponent's 3 lanes. Choose to draw up to 5 cards from the first two lanes. The twist is that those cards that you threw away are dumped into your third lane. Do you redraw your best or worst cards? Your lane is guarded with Lemon Legionaries. The player with the larger Legion in that lane wins. If you raise your Legion, then the opponent has a chance to call or forfeit that lane. If you have the same number of Legionaries, then the result comes down to the best 5 card poker hand. Deplete your opponent's Legion and win by constructing the best hands, or bluff your way to victory.

Secure Registration

A secure registration using Wix Members and a custom sign up and log in, with triggered emails that are custom to the individual user and on-brand. Change your public profile and upload a picture, which is viewable when other users click on your name or picture during a match or on the leaderboard.

Loot Store

Get on the leaderboard by playing Ranked Matches to increase your score. Ranked matches also earn you Coins. Coins can be used in the Loot Store which is entirely custom made and using only Wix Elements. In the store, users can sort the list, or filter by owned items. The Coins can be used to purchase Roman Lemon Artwork that I created using AI and that can be added to your Winning Screen (a background image that shows to you and your opponent when you win). There is currently 100+ loot items to collect. And honestly, it's a lot of fun to scroll through the artwork. The store uses a third party Stripe API to make a payment to buy Coins if you don't want to earn them the traditional way. When the user trades Coins for Loot, they also get the loot via a download link through email, so they can use the image in whatever way they wanted even outside of the game.

How I built it

Entirely with Wix Velo. I used a series of Wix Collections, Wix Apps, Wix Elements, and countless Wix APIs. There is one third party API for Stripe that I used so that users can make credit card payments.

Challenges I ran into

This was my first time using the (amazing) wix-realtime API. It had a bit of a learning curve, but not too bad because of Wix Velo's excellent API reference. It allowed me to have an event-based turn-based strategy game with online user chat, and a dynamic wallet that automatically updates when coins are deposited.

Accomplishments that I'm proud of

The Loot Store is super responsive and all custom made. The code is just especially pretty on the backend, and I had a blast doing it. It took less than half a day to setup a custom form to take credit card information, and complete the backend API requests to Stripe, then send a custom email to the user after everything goes through. Also, the game is fairly robust. For instance, users can accidently close their browser and reopen the site, and the website will automatically reconnect you to the game and it will pick up again as if nothing has happened. You can also end your turn early, or even resign from the game. Since the player turns happen in parallel, I needed a way to guarantee that the processing of the turn and player moves were calculated by a single thread, so I created my own semaphore that any game progression thread has to pass through. This is all by checking the state of different Wix Collections (built-in Wix database) and javascript on the front and backend. The easy-to-use Wix Job Scheduler helps tidy up the database. If you're not on Wix Velo, then get on it. There's nothing like it.

What I learned

I would have saved a lot of time had I constructed the game with cardboard, paper, lemons (ha), and playing cards first. I always thought it was a bit excessive when developers did this with their games, but it makes total sense to me now. In the end, it probably would have cleaned up my code because I had a lot of assumptions on what I thought the game would be that turned out to not be needed.

What's next for Lemon Legion

Right now there is only one type of loot: Background images. I would like to add a few fun ones, like Lemon Dessert recipes. Right now I have one of the custom members values as a favourite dessert, but it would be hilarious if you could deep-dive into all things Lemon. Customizable lemon avatars too! I would like to speed the game up a bit. It takes time to find the right "tempo" to a turn based strategy game. That would just take more playing, and getting more users on the site.

Built With

Share this project:

Updates