[Release] Blackjack 3DS

Blackjack 3DS

menu_v0.2.png
game_v0.2.png


Blackjack! Game is played with an infinite deck, with support for late surrender, insurance (2-1), doubling down, and splits. And 3D!

Coded with Rinnegatamante's fantastic Lua Player Plus.

Rules: http://wizardofodds.com/games/blackjack/basics/

Current version is v0.4 (compatible with NH2.5)

(Possible) future development

- language selection
- option to switch deck backs/art
- clean up sloppy code
- move to gpu rendering

Please let me know if you find any bugs or gameplay issues, or if you have a suggestion for a future release.

DOWNLOAD - https://github.com/keanutah/blackjack-3ds/releases
 
Last edited by keanutah,
I guess could help with Spanish one! (Some way isn't programming directly involved :lol:)

No programming would be involved, it would be be translating a list of english words into spanish with the proper context. I'll outline the process when I release version 2 (hopefully sunday), as it has a lot more text than the current version.
 
  • Like
Reactions: fmkid
Well if you need the french translation I can work on it.
Make a translations folder and put it like that
Code:
translations
\en.txt
\fr.txt
\de.txt

then get the language of console
System.getLang
For the language ID:
http://3dbrew.org/wiki/Config_Savegame

then inside the translation file:
Code:
STRING_A=String A
STRING_B=String B

and then parse it this way
split(line, '=')

here's the split function :
Code:
function split(inputstr, sep)
     if sep == nil then
          sep ="%s"
     endlocal
     t={};
     i=1
     for str in string.gmatch(inputstr,"([^"..sep.."]+)") do
          t[i]= str
          i = i +1
     end
     return t
end
 
Last edited by UltiNaruto,
Well if you need the french translation I can work on it.
Make a translations folder and put it like that
Code:
translations
\en.txt
\fr.txt
\de.txt

then get the language of console
System.getLang
For the language ID:
http://3dbrew.org/wiki/Config_Savegame

then inside the translation file:
Code:
STRING_A=String A
STRING_B=String B

and then parse it this way
split(line, '=')

here's the split function :
Code:
function split(inputstr, sep)
     if sep == nil then
          sep ="%s"
     endlocal
     t={};
     i=1
     for str in string.gmatch(inputstr,"([^"..sep.."]+)") do
          t[i]= str
          i = i +1
     end
     return t
end
I'll definitely ping you when I'm ready for translations. Thanks for the code, I will definitely try that out, seems like a good way of doing it :)
 
Offtopic: I'm not familiar to lua since I'm coding mainly in C++, C#, VB, Java and Python. I was coding in delphi but stopped trying to make things in delphi since it has no support at all. It's a semi dead language since some people still use it. But it's a dying language.

Ontopic: I'll have to do this later on my Tetris 3DS.
 
Offtopic: I'm not familiar to lua since I'm coding mainly in C++, C#, VB, Java and Python. I was coding in delphi but stopped trying to make things in delphi since it has no support at all. It's a semi dead language since some people still use it. But it's a dying language.

Ontopic: I'll have to do this later on my Tetris 3DS.

Yeah Delphi is definitely not a language you hear much about these days. I do the vast majority of my coding in Ruby these days, with occasional C. Decided to pick up Lua just for LPP-3DS actually, so I'm still a beginner for sure.
 
Well as a beginner it's still good. Started in Xmas 2009 for C++. With a huge book of 1000 pages :P
 
menu_v0.2.png


Alright guys, releasing version 0.2! Lots of new stuff :)

- bugfixes
- music and sounds
- settings menu (option to toggle sound, skip insurance, and have dealer hit on soft 17)
- betting
- more polish

Download

Let me know what you think! As always report all errors here. I was having issues with the file reading so if you see errors related to money or settings persistence let me know.
 
Last edited by keanutah,
For the language selection I recommend you to use the one from system instead. It will make far less work for you so you can focus on other improvements.
 
For the language selection I recommend you to use the one from system instead. It will make far less work for you so you can focus on other improvements.
My plan right now is to have it be automatic based on the system locale and then have an option to change it in the settings menu if you like. At this point my menu system is pretty straightforward to use so it's not really a hassle to give people more options. On that subject... Would you like to help me with the French translation? I need the following list translated with proper context.

  • Loading
  • Blackjack 3DS
  • Cash/Balance
  • New Hand
  • Options
  • Exit/Quit
  • Back/Previous
  • Stands Soft 17 (As in the dealer will stand on a soft 17, this needs to be pretty short so it fits on a half width button)
  • Hits Soft 17 (same deal as above)
  • Insurance
  • No Insurance
  • Music On
  • Music Off
  • Sound Effects On
  • Sound Effects Off
  • Deck Style
  • Language
  • Credits (as in attributions, not money)
  • Bet (blackjack context, as in 'to bet')
  • Hit (blackjack context)
  • Stand (blackjack context)
  • Double (blackjack context)
  • Surrender (blackjack context)
  • Split (blackjack context)
  • Dealer
  • Won
  • Lost
  • Push (blackjack context)
  • Detect (as in 'to detect something')

Anyone else who would like to submit a translation for their language is welcome to! Many thanks in advance :)
 
Last edited by keanutah,
  • Chargement
  • Blackjack 3DS
  • Argent
  • Nouvelle main
  • Options
  • Quitter
  • Retour/Précèdent
  • Avec assurance
  • Sans assurance
  • Musique Activé
  • Musique Désactivé
  • Effets Sonores Activés
  • Effets Sonores Désactivés
  • Style de paquet de cartes
  • Langage
  • Crédits
  • Parier
  • Tirer une carte
  • Rester
  • Doubler la mise
  • J'abandonne
  • Partager
  • Croupier
  • Victoire
  • Défaite
  • Egalité
  • Détecter
I don't understand those 2 though :
  • Stands Soft 17 (As in the dealer will stand on a soft 17, this needs to be pretty short so it fits on a half width button)
  • Hits Soft 17 (same deal as above)
 
Last edited by UltiNaruto,
  • Chargement
  • Blackjack 3DS
  • Argent
  • Nouvelle main
  • Options
  • Quitter
  • Retour/Précèdent
  • Avec assurance
  • Sans assurance
  • Musique Activé
  • Musique Désactivé
  • Effets Sonores Activés
  • Effets Sonores Désactivés
  • Style de paquet de cartes
  • Langage
  • Crédits
  • Parier
  • Tirer une carte
  • Rester
  • Doubler la mise
  • J'abandonne
  • Partager
  • Croupier
  • Victoire
  • Défaite
  • Egalité
  • Détecter
I don't understand those 2 though :
  • Stands Soft 17 (As in the dealer will stand on a soft 17, this needs to be pretty short so it fits on a half width button)
  • Hits Soft 17 (same deal as above)

Wow, thank you so much!

Stands Soft 17 is just an abbreviation for 'The dealer will stand on a soft 17'. Same deal with Hits Soft 17. I just shortened the sentence to make it fit on a small button.
 
My plan right now is to have it be automatic based on the system locale and then have an option to change it in the settings menu if you like. At this point my menu system is pretty straightforward to use so it's not really a hassle to give people more options. On that subject... Would you like to help me with the French translation? I need the following list translated with proper context.

  • Loading
  • Blackjack 3DS
  • Cash/Balance
  • New Hand
  • Options
  • Exit/Quit
  • Back/Previous
  • Stands Soft 17 (As in the dealer will stand on a soft 17, this needs to be pretty short so it fits on a half width button)
  • Hits Soft 17 (same deal as above)
  • Insurance
  • No Insurance
  • Music On
  • Music Off
  • Sound Effects On
  • Sound Effects Off
  • Deck Style
  • Language
  • Credits (as in attributions, not money)
  • Bet (blackjack context, as in 'to bet')
  • Hit (blackjack context)
  • Stand (blackjack context)
  • Double (blackjack context)
  • Surrender (blackjack context)
  • Split (blackjack context)
  • Dealer
  • Won
  • Lost
  • Push (blackjack context)
  • Detect (as in 'to detect something')

Anyone else who would like to submit a translation for their language is welcome to! Many thanks in advance :)
Let me try Spanish translation in a while!
 
That would be great. Having English, French, and Spanish would be enough to release initial language support!
Yeah, will be great!... And here we go! (In bold, I mark terms that I'm not sure):

Cargando
Blackjack 3DS
Dinero
Nueva Mano
Opciones
Salir
Volver
Plantarse en 17 Blando
Pedir en 17 Blando

Seguro
Sin Seguro
Música On
Música Off
Efectos de Sonido On
Efectos de Sonido Off
Estilo de Baraja
Lenguaje
Créditos
Apostar
Pedir
Plantarse
Doblar
Rendirse
Separar Mano
Crupier
Ganó
Perdió
Empate
Detectar

And, about translations: Any problem with different idiomatic characters (letters) to English commonly used?
 

Site & Scene News

Popular threads in this forum