|You are Pat Blastrock, down on your luck space hero. After a particularly ill-fated adventure, you stumble into Space Tavern Station with only 500 credits to your name and a busted up escape pod. (It was a very ill-fated adventure.)|
Luckily, if there's one thing Space Tavern Station has an endless supply of, besides surprisingly vile synth-ale, it's suckers. You're going take the only option you have left and gamble your way back to fame and fortune.
The poker played here at Space Tavern Station is not a fancy tournament. Here, they play tavern-style. You can leave the table at any time, but you can't go "all in". If you get raised out, you have to fold, so make sure you bring enough cash to play a grownup's game.
Some of your opponents might be desperate enough to bet the keys to their ship. Don't feel any remorse in taking that bet. It's not your problem how they're going to get home.
If you're light on cash, you can go to your inventory and sell something.
Arrow keys and (O) to navigate menus.
(X) to go back to the main menu. (Leaving the poker table.)
Pause Menu :
--Lessons Learned and Deep Thoughts--
1) I now appreciate why there were no good poker games during the 8-bit era.
2) I underestimated how much information needs to be onscreen to make a playable poker game. I finally managed to cram it all in, but it's not pretty. I wound up drawing my own 4px font for numbers. The cards had to be uncomfortably small to fit them all in a traditional layout. I would have liked the game to have four opponents instead of three, but there just wasn't any place to PUT them!
3) The four traditional suits were simply not readable at the small scale. I knew I'd need two new suits with new colors. I finally settled on planets and water-drops. I think they should be distinct enough that even totally colorblind players should be able to read them. (Thematically, those suits seem likely enough for a space-faring society.)
4) The word "Check" broke my UI in too many places. I ultimately went with the shorter "Pass", which is technically also correct, but very out of fashion for Hold'em games. Presumably the fashion is different in the space future.
5) The rules to poker seem straightforward, but there's a LOT of edge cases that need to be handled. I spent a lot of time debugging rules problems that only showed up in very specific situations.
6) It's surprisingly easy to use the Monte Carlo method to estimate (without cheating) the odds that you've been dealt the winning hand.
7) It's surprisingly hard to use that estimate to make a believable AI poker player!
8) Managing Pico-8's low MAXINT was a hassle, and I stupidly put it off until late in the project. It was a major hassle to retrofit large number support into the existing game, even though I used the simple method of moving the decimal point two places. (ie: The player starts with 5.00 score, but it displays as "$500".)
Q) The pico-8 'Q' character looks fine in the middle of a word, but on its own, it sure doesn't read as a Q. I decided to make a sprite to use instead of the font whenever I had to draw a queen.
Summary : This game took me a LOT longer than I expected. On the one hand this is good, because I put in more polish than I was planning, but mostly it's bad because it TOOK ME A LOT LONGER THAN I EXPECTED!
well done! impressive that you managed to fit all the necessary UI! yes, there is a reason why the cards are so big in my video poker cart ;)
it's fun playing with the AI players! I haven't played it enough to know yet: do the players have different "personalities" or are they all controlled by the same exact parameters (besides randomness)? I've never even thought about writing AI for poker before...it seems like it would be...difficult :D
I like the slider UI for betting; it communicates very clearly...I do think it might be a little bit too hard/maybe impossible to make small (e.g. $1) adjustments to the amount though...
also this should have music! some kinda space music or something would enhance the experience I think :)
I love that you wrote some "lore" for this :D
The players do have different personalities, but I'm not sure how noticeable it is in normal play. They're not super different.
The AI was frustrating to do. I kind of assumed it would be easy. It was not.
"I love that you wrote some "lore" for this :D"
I was imagining how old games used to come with the story printed on the first page of the manual.
No way I'm going to write a whole manual! But I can do that first page.
> 1) I now appreciate why there were no good poker games during the 8-bit era.
Vegas Dream would like a word, good sir.
Oh.. actually you know what? They didn't add Poker until the SNES sequel. The one on NES is just blackjack, Keno, Roulette, and Slots.
You did a really good job on this! Are the ships collectable or just sort of there as extra lives? Because if not.. Maybe turn collecting them into a thing?
There isn't a bonus for collecting one key of every ship type. If that's what you're asking.
There is a final key that I consider sort of a "win condition", but it doesn't stop you from keeping playing.
In my early plans for the game there was going to be functionality tied to which ships you owned. But that was way too complicated. Both in terms of game-play and in terms of token limits.
Edit: I should add, that I'm super interested in hearing any suggestions on ways to make the ship collecting mechanic more compelling without making the game much more complicated.
I worked on a poker game once. We actually farmed out the AI to a studio that specialized in that sort of thing. I'm glad we did, since I think it might have been a nightmare otherwise. It really is awfully complex.
One thing that was kind of cool about that was that we set it up so we basically passed their library the current visible state of the game, and nothing else, so there was actually zero ability for the AI to cheat in our game, even unintentionally. Both sides saw the other as a black box. I liked that a lot.
By the way, would "CHEK" be too grammatically-offensive to use in place of "PASS"? :)
looks really good! I'm going to have to (re)learn poker (again) :)
small notes though:
- your card rendering is kind of backwards. the small are too busy, the big are too bland.
- you kept spade and diamond but now they seem out of place...
- isn't there a bug in the card highlighting? there's always more than those of the stated hand.
- cards get a little ugly with the cream color. maybe a flashing white frame around the cards?
- not sure why you bothered with a smaller font, it's only in the bubbles it seems? those appear for a second, just use the normal font in a rect, over the opponent card?
about the cards graphics, here's a mock-up as a suggestion:
feel free to use it or not :)
got two ugly joes, cloning is all the rage. ;)
"isn't there a bug in the card highlighting? there's always more than those of the stated hand."
Uh, is there? It should highlight the best 5-card hand. If it's not doing that screenshots plz.
As for the other stuff, those are good thoughts. I will consider them when I put out a 1.1 version.
FIVE-card hand! of course :) I was expecting only the relevant cards (eg two highlighted cards for a pair).
actually, I find the highlighting confusing. I remember having a pair and seeing the wrong two card highlighted (5 creamed, 2 still white). dismissed as buggy (no big deal) but later I noticed it was the other way around! I'd suggest dimming the discarded cards instead (color 6 should work well enough?)
still not sure that you'd need to highlight all five cards but I'm a total poker noob, so I'm easily confused.
Nice job! I am really curious to dig into the code and see how the AI is implemented.
I had the same thought as ultrabrite about highlighting feeling backwards (thinking it was dimming cards instead of highlighting them).
It looks like the pot doesn't use the same trick to handle large numbers. I accidentally "won" a "huge" pot of $-32000 in one game.
I think you're on the right track with the hi-viz cards, except that in opponents hands, the number on their left card is half covered.
Ha! In my defense for when you start looking into my code : It was easier to understand before I had to trim it down to meet the compressed size limit.
It's more than a little bit awkward anyway though. That's what happens when you dive in and start coding the interesting parts first without a plan for the boring parts.
"It looks like the pot doesn't use the same trick to handle large numbers. I accidentally "won" a "huge" pot of $-32000 in one game."
Oh no. That's a bad bug. I'll have to look into fixing that. (Until it's fixed, just imagine that the other players got tired of you winning all the time, pulled their laser revolvers, and mugged you.)
I'll probably adjust both the highlighting and the layout of the HighViz cards while I'm at it.
The pot graphics, and the betting order with both bugs that I was sure I had fixed. I'll look into those too.
- Fixed Pot overflow bug.
- Fixed (I think) pot graphics bug.
- Made minor adjustment to AI behavior
- Changed layout of "HiViz" cards, to make them more visible.
I experimented with different ways to highlight the winning hand, but I couldn't find one I liked better that didn't take a surprising amount of code. All of the palette manipulation I'm doing to draw the cards, make's it tricky to make adjustments. So I just left that.
I looked into the betting order, but it looked OK to me? If there's a problem with it, someone will have to explain it to me.
(And I'm pretty sure I didn't cause any NEW bugs!)
What the hell. If you go all-in in this game then opponents can bet $1 more than you have and get to keep all your money no matter what cards they have. I'm not familiar with how this works in actual casinos but I'm pretty sure it doesn't work that way. That seems to disagree with everything I thought I knew about good game design. If you have the best cards and you bet everything then you should win the hand no matter how much money the other guy has. Poker has side pots for a reason.
@BenMcLean: Yeah, this uses tavern style where you can push others out as you described. There's no 'all in' mechanic when you play this way. FYI, it is a style played in Vegas -- for obvious reasons, unless you're a Rockefeller, I'd stay away from those tournaments though. Blackjack with a consistent group who knows how to play 'against' a dealer is going to be your best odds in my experience.
In this game, that mechanic also lets you do the same to your opponents at times, though. Even if your cards are absolute garbage. Getting lucky like that on a bluff is the only way I was ever able to achieve max cash in Vegas Dream or the sequel, so I guess I take it for granted as part of video game betting sims.
|If you go all-in in this game then opponents can bet $1 more than you have and get to keep all your money no matter what cards they have.|
That is correct. The betting rules are old-fashioned tavern-style rules. (I think this is an anachronism, Texas Hold'em is too modern for the kind of old-west tavern I'm imagining. But whatever. It's in space.)
Part of the strategy is judging whether or not you've brought enough cash to the table, if not, you have to play conservatively even when you have winning hands.
I'm not going to change that. I wanted it that way. (Hence the name. It ain't "Space Casino".)
However..., there is one feature I meant to implement but ran out of tokens, a little optimizing gave me room to add it back in.
So Here's an update where you can throw in the keys to your ship as collateral. Just like it currently works for AI players, wagering your keys will let you play out the rest of the hand without betting.
Mathematically, this isn't a good strategy, most ships have a nominal value much higher than the current bet, but if you're desperate, maybe it's worth it.
(Point of interest for completionists : If you lose your escape pod this way, you can't get another one. The other players will never bet an escape pod. You're the only gambler desperate enough to travel that way.)
Log in to post a comment