[HN Gopher] Show HN: Classic Video Poker
       ___________________________________________________________________
        
       Show HN: Classic Video Poker
        
       I'm a Unity 3D refugee, certified expert, started in 2005 when it
       was a two man-band with Joachim and David.  I've been lucky enough
       to make a good living out of Unity with my own consultancy over the
       years making data visualisation applications (Wind Energy) and
       innovation projects (Visualising accounting data for Wolters Kluwer
       etc.).  Godot is pretty amazing in my opinion. Wrote this game over
       a few days and was productive in Godot basically instantly. I
       couldn't get up and running in Unreal despite trying a few times.
       It's my ambition to start a niche agency developing 80's style
       games of skill and chance for the corporate world.  So... If anyone
       has any leads for making Space Invaders for Nike - please help!
       Happy to pay 5% on whatever work I get.
        
       Author : appstorelottery
       Score  : 519 points
       Date   : 2023-10-04 10:18 UTC (12 hours ago)
        
 (HTM) web link (lfgslots.com)
 (TXT) w3m dump (lfgslots.com)
        
       | paulusthe wrote:
       | This is fun, but the game doesn't seem to accept that a pair of
       | aces is a winning result. Aces specifically, other face cards
       | work as intended.
        
         | appstorelottery wrote:
         | Aces are low :-)
        
           | silenced_trope wrote:
           | You've had to explain this so many times lol
           | 
           | it's not the intuitive way people expect the game to work, I
           | thought it was a bug too when I found it
        
       | kosolam wrote:
       | Very cool. And I agree about Godot. Small suggestion if you could
       | make the crt less blurred it would be an improvement.
        
       | camdenreslink wrote:
       | This works very well in a mobile browser. Super impressive! Only
       | issue I had was a slow initial load time. Not sure if that is due
       | to Godot, or the size of the assets.
        
       | Kapura wrote:
       | Game froze for me:
       | 
       | index.js:369 SCRIPT ERROR: Invalid get index '13' (on base:
       | 'PoolStringArray'). onPrintError @ index.js:369 index.js:369 at:
       | _http_request2_completed (res://scripts/game.gdc:281) - Invalid
       | get index '13' (on base: 'PoolStringArray').
        
         | appstorelottery wrote:
         | I think the server is getting the hug of death right now...
        
       | [deleted]
        
       | toxik wrote:
       | Just me or is it super unintuitive that you HOLD rather than
       | dismiss cards? Happened like a dozen times now that I throw the
       | cards I want to keep.
        
         | carstenhag wrote:
         | Usually you only have 1-2 cards you want to hold. So it's 1-2
         | clicks.
         | 
         | If you had to throw them, it would be 3-5 clicks.
        
           | toxik wrote:
           | I flushed a flush for this reason :(
        
         | [deleted]
        
         | itomato wrote:
         | Always was
        
         | rigmarole wrote:
         | I suppose it is emulating the original. But yes, same
         | experience here. I made the mistake multiple times.
        
       | hinicholas wrote:
       | aha this is great! I did one in phaser and typescript a while
       | back. definitely not as fancy this though! pretty fun game once
       | you have some of the basic strategy down.
       | 
       | https://www.nicbarth.com/Jacks-or-Better/
       | 
       | https://github.com/nickbarth/Jacks-or-Better/tree/main/src
        
       | tibanne wrote:
       | Bug?
       | 
       | Shoulda won back my 5.
       | 
       | https://i.imgur.com/iZavzr6.jpeg
        
       | jprete wrote:
       | I'm curious about your experience with GDScript - which I presume
       | is new to you - because it's been a stumbling block for me trying
       | Godot.
        
         | fransje26 wrote:
         | GDScript is very similar to Python with the additions of
         | signals and slots, which is nice. Except for some minor quirks
         | which I don't remember from the top of my head, it nicely gets
         | the job done.
         | 
         | I haven't tried Godot 4 yet, but from what I read, they
         | improved GDScript even further, which should be nice.
         | 
         | If you think GDScript is holding you back, you can always try
         | C# or C++.
        
         | giancarlostoro wrote:
         | Its possible he also used the C# variant of Godot. I find
         | GDScript easier for myself, though I come from a Python
         | background. I highly recommend learning Python basics. There
         | are nuanced differences, I think of GDScript as a Python /
         | JavaScript type of language, has the syntax of Python but has
         | some JS / TypeScript things to it.
        
           | url00 wrote:
           | The current V4 of Godot doesn't support web export via C# -
           | unless it's on a dev branch maybe?
        
       | shantanujoshi wrote:
       | Yo this is awesome thank you for making it!
        
         | appstorelottery wrote:
         | No worries ;-)
        
       | cainxinth wrote:
       | A. I forgot how addictive video poker is, and B. $250 max payout
       | for a straight flush is crazy low!
        
         | airstrike wrote:
         | Agreed and agreed. $250 is criminally low
        
       | jakearmitage wrote:
       | Did you write the CRT shader yourself? Because it looks really
       | good.
        
       | xer0x wrote:
       | This is great! Thanks for sharing! I've been curious about Godot
       | too.
        
       | carstenhag wrote:
       | Is there a reason it's only playing sound effects on the left
       | side? Using macOS/Chrome/Earbuds there's nothing on the right.
        
       | feintruled wrote:
       | Very cool! Interested in the dealing logic, is it 'fair' or does
       | it mimic real machines and do payout percentages?
        
         | appstorelottery wrote:
         | It shuffles one deck randomly and deals from that deck. New
         | shuffle every deal/draw cycle.
        
       | krenzo wrote:
       | Ended on a hand of: K J A A Q and did not receive the Jacks or
       | Better $1 payout. According to a brief search about the rules of
       | video poker, a pair of aces is considered better than a pair of
       | jacks.
        
         | simpaticoder wrote:
         | I also had a pair of aces and did not "win". Definitely a bug
         | (probably aces are low in his code).
        
           | seiferteric wrote:
           | same here
        
             | abluecloud wrote:
             | yep, definitely a bug - seems like with when getting a
             | winning of aces after the second deal. interestingly if you
             | get a pair of jacks you get your winnings correctly.
             | guessing aces are low.
             | 
             | https://imgur.com/a/H1Nzno3
        
               | hunter2_ wrote:
               | > after the second deal
               | 
               | It's different on or before the second deal?
        
         | jonny_eh wrote:
         | I came here to complain about the same bug. I want my money
         | back!
        
         | appstorelottery wrote:
         | Aces low ;-)
        
         | appstorelottery wrote:
         | Aces are low in this game - it's deliberate. But given the
         | constant feedback maybe I should just make them high ;-)
        
           | jader201 wrote:
           | I think you're getting constant feedback on it because that's
           | the way almost all versions of Poker are played.
           | 
           | Aces _can_ be low in the case of an A-1-2-3-4 straight, but
           | they can almost always be high as well, and almost always
           | beat K.
           | 
           | Having aces always be low/never be high is super uncommon (it
           | may not even exist in Poker, but I can't say for certain).
        
       | fransje26 wrote:
       | Very, very nice.
       | 
       | A "play-again" button/screen would be a nice addition, as
       | reloading the page to play again takes some time.
        
         | appstorelottery wrote:
         | Yes... didn't expect the attention :-) Server is a potato.
        
       | calini wrote:
       | Lovely game and art style, and the idea of 80s style games is
       | great!
       | 
       | I would throw in my two cents with the following idea: I would
       | love a modern, well made collection of classical games such as
       | the one linked, available on many platforms, with cloud saves,
       | even to the point of which game was picked. I would love to
       | decompress by playing Solitaire for 5 mins in my lunch break on
       | my iPhone, come home, open the computer and finish the game up on
       | the big screen and enjoy the cards jumping all over the place.
        
       | devmor wrote:
       | Wow, reminds me of going to the bar with my dad after I turned
       | 21.
       | 
       | Now if you could just find a way to include faint, bad, country
       | music and the taste of cheap whiskey.
        
       | laissezfart wrote:
       | game froze on second deal after holding J-33- :(
        
       | helloplanets wrote:
       | Awesome.
       | 
       | I remember when everybody played basically this exact machine in
       | middle school when we used to sneak to the market during recess.
       | There used to be all kinds of different varieties of slot
       | machines at basically every market and gas station in Finland,
       | regulated by a sanctioned monopoly called RAY. Nobody really
       | cared if you played one at whatever age, especially in the 90's.
       | Wild times.
        
         | 4hg4ufxhy wrote:
         | People cared even less on cruise ships. Those were mainly using
         | paf machines though, probably for legal reasons. Search "paf
         | joker poker" for images of the classic machine. Nice features
         | was the joker and double or nothing.
         | 
         | I played this kind of games a lot since I was 7 years old
         | because we used to travel a lot. One time I made a win sharing
         | deal with my brother to reduce risk of an unlucky streak, but I
         | immediately hit the jackpot after that. Good times.
        
       | m000 wrote:
       | Lol. Awesome theming. For a minute I was stuck wondering "why is
       | there a link to a screenshot on the HN frontpage"?
        
       | laissezfart wrote:
       | love it! but freezes sometimes (froze on second deal after
       | holding J-33-)
        
         | appstorelottery wrote:
         | server is getting hug of death :-(
        
       | BigglesB wrote:
       | Nice work! Good to see another Godot convert on here as well :-)
       | 
       | It is great how quickly you can get something up & running & then
       | iterate on it.
        
       | unixhero wrote:
       | I am very interested in discussing visualization solutions with
       | you. I was planning to do what you mentioned here in Unreal to
       | visualize financial data.
        
       | felixarba wrote:
       | Exceptional and very fun, all I have to say.
        
       | nikolay wrote:
       | Nice! Although most video pokers allow you to gamble your
       | winnings so you can double up (up to 10 times) or lose it.
        
         | appstorelottery wrote:
         | Yes - this is the next feature I'm going to add.
        
       | NicoJuicy wrote:
       | A few days! Nicely done!
        
       | chriscjcj wrote:
       | Besides fixing the low Ace value, I would suggest allowing the
       | player to use the keyboard play.
       | 
       | It looks like the space bar does trigger a deal. Perhaps
       | 1-2-3-4-5 selects and deselects cards and plus/minus allows the
       | bet to increase or decrease.
        
       | tyingq wrote:
       | The visuals are perfect, looks very much like a CRT...nicely
       | done.
       | 
       | I think I found a bug though...pair of Aces doesn't pay as "Jacks
       | or Better": https://imgur.com/a/78B3oPV
        
         | appstorelottery wrote:
         | Thanks for the feedback :-) Aces are low.
        
         | jonathankoren wrote:
         | Honestly, I've never seen a CRT fisheye as bad as someone aping
         | the aesthetic.
         | 
         | I also have a similar rant about VHS video filters.
        
         | hunter2_ wrote:
         | Indeed, I encountered the same. Rock solid otherwise, so far!
         | 
         | Something at the end (bankruptcy) besides just locking up
         | (other than the mute button) would be a nice touch.
        
           | appstorelottery wrote:
           | Yes. I've got plans for this - sign up for free credits. lol
           | :-)
        
         | appstorelottery wrote:
         | Aces are the low card in the game. You are not the first person
         | to say this! I need to look at the math again to make them high
         | cards...
         | 
         | However in my opinion (at risk of getting everyones ire) - I
         | think the ace is the "1" card.
        
           | euroderf wrote:
           | After it's fixed you can add an option for "around the
           | corner" straights, which count an ace both ways and wrap. For
           | example: Q-K-A-2-3
        
           | pixelbath wrote:
           | So if aces are considered "1", how do you think a Royal Flush
           | works? It wraps back around to 1?
        
           | chriscjcj wrote:
           | This has me very curious. What lead you to believe that an
           | Ace is a low card in poker?
        
           | 1123581321 wrote:
           | Ace needs to act like 14 for Jacks or higher purposes, and
           | both 1 and 14 for straights.
           | 
           | Very cool and nostalgic app. I remember playing this for
           | hours on my great-uncle's little pocket game.
        
           | InitialLastName wrote:
           | ... That's not how poker works though. I haven't had the luck
           | to reproduce it, but is 10-J-Q-K-A also not recognized as a
           | straight?
        
         | ZenBlender wrote:
         | [flagged]
        
         | tspike wrote:
         | Aces low?
        
           | appstorelottery wrote:
           | aces low - yes!
        
         | yohannparis wrote:
         | Okay, I though I was getting something wrong there.
        
       | mstade wrote:
       | I've spent more time playing this than I want to admit. Excellent
       | work!
        
       | umvi wrote:
       | Any way for me to listen to all the different jingles? I've been
       | able to hear all the jingles through 4 of a kind, but I have no
       | hope of hearing the straight flush/royal flush jingles without
       | cheating somehow.
        
         | cridenour wrote:
         | You could grab the pck file the browser downloads and expand it
         | using Godot itself or a Godot CLI tool.
        
       | rmac wrote:
       | sick style!
        
       | unixhero wrote:
       | Wow it runs like a MAME game in the browser. Love it
        
       | angryasian wrote:
       | Great game ! Best of luck on your goals.
        
       | birracerveza wrote:
       | Very simple, very good. I love the CRT effect. And being able to
       | immediately play in the browser like this, even from mobile, is
       | amazing.
       | 
       | Also serves as a stark reminder of why video pokers are a bad
       | idea, as I immediately lost everything, then proceeded to do so 5
       | more times.
        
       | ireallywantthat wrote:
       | Awesome. Please make your games supportable in Linux(or Proton)
       | as well if your game ships natively.
        
         | extraduder_ire wrote:
         | If you extract the (I think) data.pck file, you can run it with
         | the normal godot engine wherever it's supported. (as long as
         | there's no missing features the game uses on that platform.)
         | It'd be easier for the developer to do it, but anyone can
         | theoretically.
        
         | dolmen wrote:
         | It works in your browser. Why do you need more platforms
         | support?
        
       | loufe wrote:
       | I really like Godot so far but the debugging tools are massively
       | inferior to any other IDE and language I've ever used. I waste so
       | much time trying to track down bugs. Proper variable inspection
       | would be a life saver, for instance.
        
         | akudha wrote:
         | I have no clue about game development, apologies for the basic
         | question. When does one use Unreal and when does one use Godot?
         | Or does it not matter?
        
           | tetha wrote:
           | I'd summarize it as: The Unreal Engine, especially in the 3D
           | realm, gives you a far higher ceiling of possibilities, but
           | it requires a lot more work and effort to use it. Godot,
           | Unity, GameMaker, RPG Maker, RenPy and many more limit your
           | options, but also need less work to get something going.
           | 
           | If you have 1-10 people trying to make something cool, you'd
           | never reach for the Unreal Engine because it is just so much
           | stuff to lift and juggle. If you're a large AAA studio
           | looking to make Fallout 5 though... Godot might end up a bit
           | limiting.
        
             | akudha wrote:
             | Thank you, this gives me some idea
        
         | razodactyl wrote:
         | And this is the magic of open source and the current situation.
         | There will be many like you and a few with the dedication and
         | skills to make that happen for the benefit of us all.
         | 
         | The Unity move was VERY silly considering the state of Godot
         | and Unreal.
         | 
         | Literally treating your entire user base like that.
         | 
         | I spent $400 for the Pro license when I was a poor Uni student
         | back in '09 and it didn't translate to the newer versions - I
         | just cut my losses and never looked back.
        
           | Qwertious wrote:
           | Unity is an advertising company that also has a game engine
           | hobbyists use - I don't think what they did was necessarily a
           | bad financial move, they just shafted the part of their
           | userbase that doesn't generate much money and then wound it
           | back when they realized it was really bad PR.
        
           | december456 wrote:
           | > There will be few people with the dedication to benefit us
           | all > The Unity move was VERY silly considering the state of
           | Godot and Unreal
           | 
           | In my opinion, opposite, Unity just pulled its oligopoly
           | strings. It wasnt bad management or desperate business
           | choices; they knew the state of the industry.
        
             | troynt wrote:
             | If they knew, why then did they need to adjust their fees
             | after initial announcement? Looks like the management is
             | pretty disconnected and desperate to me.
        
         | HideousKojima wrote:
         | If you're using C# instead of GDScript you can use Visual
         | Studio (or VS Code or Rider) and get access to all the
         | debugging tools available in those IDEs. You can also use
         | VSCode for GDScript but I've never tried it so not sure how the
         | debugging experience is with that.
        
           | tough wrote:
           | Found this for next time you need to try GDscript on vscode
           | https://github.com/godotengine/godot-vscode-plugin
        
       | elwell wrote:
       | Ran it up to $190 in 15 minutes. Are you trying to make me a
       | gambling addict?
       | 
       | PS: Now down to $100.
        
         | appstorelottery wrote:
         | This warms my heart - thank you :-)
        
       | umen wrote:
       | how big is the wasm file ?
        
         | smallstepforman wrote:
         | The original IGT binary version on EEPROM? Probably 2Mb, but
         | also including all gaming machine monitoring code, attendant
         | screens, device drivers, network protocols etc, with room to
         | spare on the EEPROM.
        
         | ale42 wrote:
         | 26.07 MB (index.wasm)
         | 
         | and 16.35 MB of resources (index.pck)
        
         | tsukurimashou wrote:
         | 26MB according to firefox network tab
        
       | cableshaft wrote:
       | Looking good, except no payout on a pair of Aces like others
       | mentioned.
       | 
       | I'm in the market to learn Godot, and have already done a couple
       | tutorials. What did you find was the best resource for learning
       | Godot? And do you code in C# or GDScript while using it?
        
         | g051051 wrote:
         | I can't vouch for the quality, but Humble Bundle has a Godot
         | bundle up now, a mix of Godot 3 and 4 stuff (and Blender), for
         | literally whatever you want to pay for it:
         | https://www.humblebundle.com/software/everything-you-need-to...
        
       | bloopernova wrote:
       | This is so cool, I really dig the CRT look! Nice job!
        
       | CSSer wrote:
       | This is more a question of curiosity than one of judgment: why
       | does it take so long to load? I guess I expected it to be very
       | fast because of the relative simplicity. Forgive me, I know
       | nothing about Godot or Unity. This is still very cool.
        
         | ajdegol wrote:
         | looks like the loading is the 45mb download it needs to do.
        
         | dvngnt_ wrote:
         | took < 5 secs for me
        
         | danielheath wrote:
         | Cross-compilation to webassembly doesn't typically produce
         | small binaries at this point (although it's possible to make
         | small webassembly programs, compiling arbitrary C code to wasm
         | results in large binaries).
        
           | skywal_l wrote:
           | Couldn't this be reduced with LTO?
        
         | mentos wrote:
         | As a gamedev in Unreal Engine since 2014, this is my only
         | feedback. The demo took way too long to load I almost gave up.
        
         | gamblor956 wrote:
         | It took less than a second to load for me (on Firefox). I was
         | actually impressed with the loading speed since it usually
         | takes 10-15 seconds for Unity's Webplayer to load.
        
         | Tiberium wrote:
         | Godot packs the whole engine runtime when packing the game no
         | matter the platform, but in this case it's also probably
         | because the internet connection on the server is slow -
         | https://lfgslots.com/classicvideopoker/index.wasm (26MB, main
         | engine runtime) took me 22s to load, and
         | https://lfgslots.com/classicvideopoker/index.pck (16MB, game
         | resources) 34s.
        
           | sinuhe69 wrote:
           | Must be the bandwidth to the server. On my PC, it took 18 s
           | to load.
        
       | tippysdemise wrote:
       | Very cool! I could see this being a fairly addictive mobile game.
        
       | omoikane wrote:
       | Looks like you exported your project in debug mode, you probably
       | want to export in release mode.
        
       | thatgerhard wrote:
       | i love this!
        
       | andrewclunn wrote:
       | Ummm why didn't my two aces qualify for jacks or better? Also if
       | I changed enough settings (moving the bet up and down) then the
       | game glitched out on the first deal.
        
       | werdnapk wrote:
       | The CRT looks really good. Definitely a good reproduction of
       | classic video poker.
        
         | appstorelottery wrote:
         | Thank you!
        
       | nologic01 wrote:
       | Side remark, but it is always intriguing to see what can be
       | achieved with wasm technologies. There seems to be still
       | significant potential in this direction and Godot's html5 export
       | gives a good example of how to tap it.
        
       | Andrew018 wrote:
       | [dead]
        
       | silok wrote:
       | Pair of aces counts as 1 instead of 14? Bug or was it like this
       | originally?
        
         | appstorelottery wrote:
         | aces are 1
        
       | mplewis wrote:
       | Thanks for sharing! This is really well done.
       | 
       | I was wondering if you would be willing to put the source code
       | for this on GitHub? I've been meaning to learn Godot for a while
       | for a simple 2D RPG and I'd love to see how you did things here.
        
       | richrichardsson wrote:
       | Nice. Sounds seem to only come from left channel, and also had
       | the "pair of Aces" issue, but otherwise job well done.
        
         | appstorelottery wrote:
         | aces are low - will look into the audio - thanks :-)
        
       | nuancebydefault wrote:
       | The screen seems somewhat distorted/deformed when displaying on
       | my phone browser.
        
         | itomato wrote:
         | Suitably so, I think.
         | 
         | What's missing is the whole unit swiveling when you press Hold
         | on cards 1 and 5
         | 
         | https://www.worthpoint.com/worthopedia/vintage-igt-fortune-d...
        
           | nuancebydefault wrote:
           | Another thing what's missing is the effect of holding a
           | magnet next to the screen (smiles)
        
         | progbits wrote:
         | It's a CRT, it's supposed to look like that :)
        
           | nuancebydefault wrote:
           | Sorry the smiley somehow disappeared...
        
       | sbarre wrote:
       | How do I get in touch with you (re: niche agency)
        
         | appstorelottery wrote:
         | send email to rpearson@lfgslots.com :-)
        
       | jheriko wrote:
       | over a few days is pretty good. not sure you are onto a winner
       | here given that every junior game programmer should be able to
       | make something like this in a day or less.
        
       | chaosprint wrote:
       | looks great. the audio got me interested
        
       | palavrov wrote:
       | AH, memories. Card faces are from real machine - Novomatic
       | American Poker 2 - back in time did lot of hacks on this
       | platform. Even wrote a emulator in x86 assembly to speedup the
       | development.
       | 
       | This Godot game is quite good to recreate the atmosphere of the
       | ancient video poker machine. Lacks only cards autohold and sound
       | could be a bit more polished, but these are minor things that
       | could be easily improved.
        
         | appstorelottery wrote:
         | Thank you! Yes, I wondered about auto-hold but in the end
         | decided that it was a bit more engaging and fun not to do
         | that...
        
       | lacoolj wrote:
       | this takes a very long time to load. why is that?
        
       | pryelluw wrote:
       | This is amazing! Totally nailed it. Do you plan on releasing the
       | source? Even if it's not open source I'd like to take a peek.
        
       | CrociDB wrote:
       | I feel the same. I've worked with Unity for quite some time
       | (though gladly don't anymore), but always had trouble trying to
       | learn Unreal. Recently I tried godot and I found it quite easy to
       | get started!
       | 
       | I love the game. Had a lot of fun playing for some time. but just
       | one question, shouldn't pair of A be considered "higher than
       | jacks"? Because it looks like it's not:
       | https://imgur.com/a/ov2UP1D
        
         | appstorelottery wrote:
         | Happy that you like the game :-) Aces are low in this version.
        
       | doctorpangloss wrote:
       | > So... If anyone has any leads for making Space Invaders for
       | Nike - please help! Happy to pay 5% on whatever work I get.
       | 
       | Our partner built a game for Nike that had a big audience -
       | https://appmana.com/watch/lbxx
       | 
       | This is a streamed Unity experience built on our unique
       | infrastructure: unlike WebGL or Stadia, it loaded instantly and
       | supports all browsers. This means it can work as an ad
       | destination, and it's why we have a partnership with Meta.
       | 
       | You should feel right at home!
       | 
       | Feel free to reach out on our contact page at
       | https://appmana.com/contact
        
       | guntherhermann wrote:
       | Wow this is very slick, nice job!
        
       | boredhedgehog wrote:
       | It's remarkable how divisive CRT shaders are. Some love them,
       | some hate them, very little middle ground.
        
         | HideousKojima wrote:
         | They give me PTSD flashbacks to my parents' awful old TV, which
         | they got in the mid 80's and didn't replace with a modern flat
         | screen until ~5 years ago.
        
         | wiz21c wrote:
         | depends on your year of birth maybe ? Mine allows me to
         | appreciate them much!
        
           | rigmarole wrote:
           | I also grew to associate scanlines with sci-fi, which I love.
           | I remember loving the original Ubuntu boot splash logo which
           | had the line effect. And then was disappointed when it was
           | changed to smooth and crisp.
        
       | rezmason wrote:
       | This looks great. Audio's left-speaker only? Might be a problem
       | on my end.
       | 
       | I will learn video poker, and get good at this. I wouldn't mind
       | an option to disable the CRT simulation, but it's outstanding
       | anyway.
        
         | appstorelottery wrote:
         | I'll look into the audio. Might also be an idea to disable CRT
         | effect... thanks for your feedback :-)
        
       | g232089 wrote:
       | It's nice but the CRT filter in a big monitor burns my retinas.
       | CRTs didn't look like that unless you got too close to the
       | screen. I guess I'm supposed to move away from the screen but
       | then I can't reach the mouse, :)
        
         | jonny_eh wrote:
         | Shrink the window?
        
       | lifeinthevoid wrote:
       | as an aside: I'm currently a low-level systems programmer working
       | on distributed database internals, but I'm looking to transition
       | into 3D animation / game design because the combination of
       | programming, visual creativity, math & physics sounds attractive
       | to me. How much time would it take me to start creating non-
       | trivial content and be able to charge for my work?
        
         | opyate wrote:
         | > non-trivial content
         | 
         | You mention "3D animation" and "game design" as areas of focus.
         | 
         | For the former, there are established learning paths, so
         | perhaps quite easy to estimate when you'll get to a point where
         | you're delivering industry-standard work.
         | 
         | For the latter (game design), perhaps the answer is a bit
         | different. If you study game design at, say, university, the
         | learning path might be a combination of reflective practice
         | (studying games, writing critically/analytically about them),
         | prototyping, making a bunch of games (including the final major
         | project), and doing lots of experimentation (and maybe also
         | going deep into a particular unexplored game mechanic, world
         | building, character design, etc).
         | 
         | Even if you finish university, you'll still have to make plenty
         | of games to hone your craft.
         | 
         | And the, for both of these areas of focus, to actually stand
         | out from the crowd, would require something special. Maybe
         | innate talent, maybe a new way of seeing the world. This is
         | difficult to estimate.
         | 
         | (But perhaps you've been sculpting 3D models and making small
         | games in your spare time anyway, and maybe you're already quite
         | good, so who knows? :)
         | 
         | > charge for my work
         | 
         | You're competing with a lot of other people for gamedev work
         | :-) Most gamedev programming jobs don't pay as well as other
         | programming jobs. You'll be doing it for the love of it!
         | 
         | Someone I know worked at a gym, but made games in Unreal in
         | their spare time, then did a 2-years remote masters in indie
         | game dev, and got a job as a technical artist at a small indie
         | studio. AFAIK he still just uses blueprints. I don't know how
         | long he spent before university working on games in his spare
         | time, but the 2 years of fast-tracking his knowledge really
         | helped.
        
         | MattRix wrote:
         | I'm not OP but I've been doing game dev for 15 years
         | professionally for the same reasons you mentioned. I'll be
         | honest up front though, it's not a great field if you're going
         | into it trying to make money, but it can be incredibly
         | satisfying.
         | 
         | As far as how long it'll take, that depends on what kind of
         | things you want to make and how much time/effort you're willing
         | to put into them, especially on the visual polish side of
         | things.
         | 
         | The hardest part of learning game dev is learning how to
         | program, and it sounds like you already have a good foundation
         | there. The current tools, especially Unity and Godot, are very
         | quick to get up and running with. You could learn the basics in
         | a dozen hours, and be making (bad) games in less than a month.
         | Game design is a skill that is hard to learn except by doing
         | it. Reading books and watching youtube videos about it only
         | goes so far.
         | 
         | For making games that you can actually sell, you're looking at
         | spending months per game, usually at least 6 months... though
         | often the games you think are going to take 6 months often take
         | much longer!
         | 
         | The number one tip I would give is to actually _finish_ your
         | games, even your little early experiments. In game dev the
         | "last 10%" takes way more than 10% of the effort.
        
           | [deleted]
        
         | jonny_eh wrote:
         | If you want to combine your interest in programming and visual
         | creativity, but still make money, may I suggest front-end
         | development? Whether it be web stuff or mobile, there's a lot
         | to chew on there plus it pays great.
        
       | empressplay wrote:
       | Crash when 4 cards held (attempting to deal 1):
       | 
       | Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR
       | index.js:369 TypeError: Failed to fetch at Object.create
       | (index.js:9:273127) at _godot_js_fetch_create (index.js:9:274152)
       | at HTTPClient::make_request(HTTPClient::Method, String const&,
       | Vector<String> const&, unsigned char const*, int)
       | (06371b4a:0x1c75df) at
       | HTTPClient::request_raw(HTTPClient::Method, String const&,
       | Vector<String> const&, PoolVector<unsigned char> const&)
       | (06371b4a:0x452bef) at HTTPRequest::_update_connection()
       | (06371b4a:0x45177c) at HTTPRequest::_notification(int)
       | (06371b4a:0x452689) at HTTPRequest::_notificationv(int, bool)
       | (06371b4a:0xe8b414) at Object::notification(int, bool)
       | (06371b4a:0x4d563) at SceneTree::_notify_group_pause(StringName
       | const&, int) (06371b4a:0x1b1818) at SceneTree::idle(float)
       | (06371b4a:0xacf3f1) onPrintError @ index.js:369 index.js:354
       | SERVER RESULT 2 = index.js:369 SCRIPT ERROR: Invalid get index
       | '13' (on base: 'PoolStringArray'). onPrintError @ index.js:369
       | index.js:369 at: _http_request2_completed
       | (res://scripts/game.gdc:281) - Invalid get index '13' (on base:
       | 'PoolStringArray'). onPrintError @ index.js:369
        
         | appstorelottery wrote:
         | server is getting hugged to death - error handling should be a
         | little smoother :-)
        
       | tetha wrote:
       | Yeah, applying some realization about learning instruments, I'm
       | currently more or less forcing me to just do stuff in Godot. More
       | focus on doing and learning, less focus on the result.
       | 
       | It's part struggle with other programming mindsets I have from
       | backend servers for game and other web applications - "Oh, just
       | shove all data into this system" is a valid answer, and "really,
       | really just do what you need right now" is a good idea.
       | 
       | And having implemented some of this on straight up SDL, it's
       | pretty impressive how something that would cost you like 1-2 days
       | to make fall down to... 10 minutes of clicking around in a
       | tileset editor.
        
         | matsemann wrote:
         | I have a hard time actually making games. Not in Unity or Godot
         | specifically, but games in general. I end up going down rabbit
         | holes in the infinite. Like, I was making a puzzle game, where
         | you need to move pieces in a way to move from A to B. I ended
         | up theming it as crossing a river where A and B are on
         | different sides. I think I've spent 95% of my effort on that
         | game on writing a water shader with the look and feel I'd like.
         | But it's inconsequential to the actual gameplay. I could have
         | just copied some code online or bought an asset and moved on.
         | 
         | But at the same time, I'm enjoying myself. I like learning this
         | stuff, and perhaps my goal is really to have fun rather than
         | actually ship something. So it's OK.
        
           | yard2010 wrote:
           | This is art. Art shouldn't be confined to foreign interests
           | like making money
        
             | djbusby wrote:
             | ars gratia artis
        
           | tetha wrote:
           | IMO it all depends on the goal. If you're just noodling
           | around on the guitar to have some fun, you're not strictly
           | trying to pick better. If you're doing picking exercises,
           | you're not exploring what a new pedal can do. If you're
           | exploring a pedal, you're not trying to learn a specific
           | song.
           | 
           | For example, I'm currently deliberately moving slower in an
           | idea to figure out good ways of doing things in Godot as well
           | as reading a lot about thes systems. And I've learned a few
           | things along the way. However, if I was in a Ludum Dare mode
           | of working, I could've had something doing the same things I
           | have now much, much faster, because if you don't have core
           | game mechanics working in 8 - 12 hours you're utterly doomed
           | in that context.
        
       | jonnycomputer wrote:
       | I'm afraid I only get a black screen on Firefox.
        
         | stefs wrote:
         | works for me on 118.0.1
        
         | bogwog wrote:
         | works for me (Firefox 118.0 on Linux)
        
       | tmporter wrote:
       | You nailed the aesthetics perfectly! I've been using Godot for
       | years now so I was happy to see such a huge influx of developers
       | after the Unity drama.
        
       | sci_prog wrote:
       | There's a video poker version, which I played on a machine years
       | ago, where after being dealt a winning hand we have an option to
       | infinitely double the winnings if we correctly guess if the next
       | card is higher or lower than 7. Does anyone know what I am
       | talking about and what the name of this poker variation is
       | called?
        
         | janesconference wrote:
         | I saw it too in the 90s, unfortunately I can't remember the
         | game's name.
        
       | jonwinstanley wrote:
       | Love it!
        
       | bfrog wrote:
       | Pretty nice, though feels a bit slow to me... on my 10980xe which
       | is kind of painful I guess given that it's mimicing a late
       | 80s/early 90s video poker machine
        
         | stuckinhell wrote:
         | That might be side effect of using godot. It's apparently just
         | a lot slower than unity and unreal.
        
       | msla wrote:
       | All that's missing is the cigarette smoke and the sense of small-
       | town desperation.
        
       | phcreery wrote:
       | I think it found an infinity money gltich. I held a 2 of hearts
       | and a 3 of clubs on the far left and far right and it glitched
       | out and did not give me 3 cards. Instead it gave me 3 black
       | boxes, a royal flush and says I won "$&quot;aHROcHM6Ly".... Now
       | my cash keeps counting up, it is at over $2,000 now.
        
         | mactrey wrote:
         | I hear Cabo is nice this time of year.
        
       | akuji1993 wrote:
       | Went up to $60 and then went bankrupt. Reminded me of why I don't
       | play gambling games.
        
         | toyg wrote:
         | The house always wins.
        
       | Lio wrote:
       | I love this! It's just perfect, thanks.
       | 
       | It makes me think about Lemmy from Motorhead and the stories of
       | him playing video poker in the Rainbow Bar and Grill, LA.
       | 
       | Apparently they moved the machine to his home for his final days.
       | 
       | https://www.billboard.com/music/music-news/rainbow-bar-grill...!
        
       | toxik wrote:
       | I guess you could tractably compute the optimal policy for every
       | hand. What is it?
        
         | acheron wrote:
         | It's fairly complicated. https://wizardofodds.com/games/video-
         | poker/
        
         | cdelsolar wrote:
         | There's pages on the internet for this, with nice mental
         | shortcuts. I remember trying to study one such page before
         | going out in Vegas. It's pretty silly because even playing
         | optimally your EV is still negative
        
           | toxik wrote:
           | That's what I figured, you always lose in the end.
        
       | nickphx wrote:
       | funny that it uses xhr requests to a php script to draw cards..
        
       | WhereIsTheTruth wrote:
       | wasm file is 42.9mb, it's way too big, doesn't godot strip unused
       | things?
        
       | bluepanda1234 wrote:
       | Nice, very fun! Did freeze after playing a few hands. These are
       | the logs:
       | 
       | Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR /classicvi
       | deopoker/vpg2.php?hold=00101&session_id=8941b3fb202e51e9b20a3f4a4
       | 0d9013a:1 Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR
       | 
       | TypeError: Failed to fetch at Object.create (index.js:9:273127)
       | at _godot_js_fetch_create (index.js:9:274152) at
       | HTTPClient::make_request(HTTPClient::Method, String const&,
       | Vector<String> const&, unsigned char const*, int)
       | (06371b4a:0x1c75df) at
       | HTTPClient::request_raw(HTTPClient::Method, String const&,
       | Vector<String> const&, PoolVector<unsigned char> const&)
       | (06371b4a:0x452bef) at HTTPRequest::_update_connection()
       | (06371b4a:0x45177c) at HTTPRequest::_notification(int)
       | (06371b4a:0x452689) at HTTPRequest::_notificationv(int, bool)
       | (06371b4a:0xe8b414) at Object::notification(int, bool)
       | (06371b4a:0x4d563) at SceneTree::_notify_group_pause(StringName
       | const&, int) (06371b4a:0x1b1818) at SceneTree::idle(float)
       | (06371b4a:0xacf3f1)
       | 
       | SCRIPT ERROR: Invalid get index '13' (on base:
       | 'PoolStringArray'). onPrintError @ index.js:369 index.js:369 at:
       | _http_request2_completed (res://scripts/game.gdc:281) - Invalid
       | get index '13' (on base: 'PoolStringArray').
        
         | appstorelottery wrote:
         | Server is getting hugged to death. It's the cheapest server
         | Hetzner offers :-)
        
           | coolspot wrote:
           | Try Oracle (boo) Cloud Free tier. 4 ARM vCPUs + 24GB RAM
        
             | appstorelottery wrote:
             | I'll look into it - thanks!
        
       | grej wrote:
       | This is amazing work, well done! I haven't seen such a great CRT
       | effect but I would love to see that kind of effect available as
       | something you could overlay on old retro arcade games.
        
         | ericskiff wrote:
         | This is available! Check out retroarch (or retropie if you have
         | a pi 3 or 4 laying around) - it's pretty great! Lots of shaders
         | to choose from but pi-crt has a similar look to this and
         | performs well
        
           | grej wrote:
           | Awesome thx!
        
       | glimshe wrote:
       | It's a very accurate emulation, it feels almost like a video.
       | Great work!
        
       | mistrial9 wrote:
       | Video Poker! just yesterday a video on YouTube was interviewing a
       | old man about his years as an enforcer for an active New York
       | City organized crime group - video poker was explicitly one of
       | his stories about how they ran the gambling rooms. The machines
       | were part of gambling equipment that they were supplied with from
       | another crime group, in exchange for a cut of the profits. Not
       | long after, the "pizza-gate" events happened and changed the
       | business a lot.
        
         | mistrial9 wrote:
         | https://en.wikipedia.org/wiki/Mafia_Commission_Trial
        
       | andy800 wrote:
       | There are alternatives to Godot, in particular I'll mention ZimJS
       | https://zimjs.com/about.html#features
       | 
       | Like you, I recently created an online casino game, Cheat at
       | Blackjack https://play.cheatatbj.com/
       | 
       | and used ZimJS for all of the animation. I considered Godot but
       | found it simpler to do everything in client-side JS.
       | 
       | Zim's web site is definitely a bit "out there" but the animation
       | features are quite good and it allowed me, a terrible artist, to
       | program my game quickly and add a lot of visual flair -- dealing
       | the cards, the dealer checking for blackjack, chips sliding, the
       | bouncy result status, etc.
        
         | WA wrote:
         | Fun game, but I might have encountered a bug. I played fair and
         | were allowed to split 3 times. This made the UI crash after I
         | won so that I couldn't continue. The buttons "repeat bets" and
         | "collect" wouldn't show anymore:
         | 
         | https://imgur.com/TcpHzT5
         | 
         | Checked the console, not sure if this caused the error, but
         | here's an error trace: https://imgur.com/g75OXgJ
        
           | andy800 wrote:
           | Thanks for the info, and for trying the game. I think the
           | game saw you splitting 10s, realized how irrational that was,
           | and that's what crashed it :)
        
         | ipsin wrote:
         | Interesting idea. Is this being played at any casinos yet? I'm
         | curious how you sell them on the house advantage being real
         | (e.g. a white paper, or some kind of insurance guarantees?).
         | 
         | One thing your game could use is a "repeat bet" button.
        
           | andy800 wrote:
           | There's a big "repeat bet" button following every hand.
           | 
           | Casinos and regulators require a game's house advantage to be
           | "certified" by one of two specific third-parties. A big
           | expense (both cost and time) when I am sufficiently qualified
           | to calculate the long-term house advantage of the game (and
           | spent lots of hours tweaking the rules and running models to
           | reach a very specific result goal), but no way around it if
           | you want to be in a b-and-m casino.
        
       | siliconescapee wrote:
       | Very cool. I got my first royal flush in my poker history. Too
       | bad it isn't real $!
        
         | appstorelottery wrote:
         | That's huge. The odds are roughly 1 in 46,000 hands of this.
        
         | Exuma wrote:
         | 649,739 : 1
        
       ___________________________________________________________________
       (page generated 2023-10-04 23:01 UTC)