Wesley Kring
United States
Madison
Indiana
flag msg tools
What computer language is best, in order to simulate a board game?

Specifically, a statistics-driven sports board game such as Strat-O-Matic Baseball, Dynasty League Baseball, or APBA Baseball (for example).

I created my own game, and want to play it on the computer. After successfully play testing it, I hope to offer it to others.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Sparr Risher
United States
San Francisco
California
flag msg tools
designer
Avatar
mbmbmbmbmb
If you want a lot of people to play it, writing the whole game from scratch is a bad idea. Getting a stand-alone game published and distributed is hard.

You should consider writing it as a module/plugin/game for an existing digital tabletop gaming platform.

http://www.vassalengine.org/
http://www.battlegroundsgames.com/
http://en.doc.boardgamearena.com/Studio
3 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Thomas Stevenson
United States
Columbus
Ga
flag msg tools
badge
mbmbmbmbmb
BlitzMax Built in 2D graphics and window gadgets, same code can be compiled for Windows, Mac, and Linux. A BASIC dialect that's much easier to read and write C or Java IMHO.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Tim Royal
United States
Kirkland
Washington
flag msg tools
Avatar
mbmbmbmbmb
When you say language, are you referring to what framework or game engine you can quickly prototype?

There is no best language that is more suited for games than others, but there are engines that facilitate visuals better. The only case for a language preference I can see is a gaming application with high performance requirements, in which case C or C++. But I wouldn't go there in this day and age.

For prototyping non-AI, vassal (see above links).

BoardGameArena is surprisingly full featured.

For actually putting out something that rivals a box product, you can't beat Unity 5.0 (free), but it's a full featured game engine. 2D plug-ins readily available.

I'm guessing the bulk of your game will be UI, so to that end you could probably benefit from BoardGameArena's API, or a 2D engine for mobile like Cocos2d.

Honestly, at this point, you could even start out by making it an HTML 5.0 application, and leverage the benefits of a medium where tables of data are inherently supported, and "turns" or "actions" can be managed by server side processing of some sort. Then, as demand dictates, you could migrate to a different medium with more pizzazz.
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
John
United Kingdom
Norwich
Norfolk
flag msg tools
badge
Avatar
mbmbmbmbmb
Whatever language you are most familiar with - unless it's something really esoteric.

If you don't have something you are most familiar with, and or possibly learning coding as you are going, then pick something that has the most support / articles.

For gaming specifically it depends how much experience you have with the various platforms and coding in general and what kind of things you are going to be doing :

real time vs turn based
high graphics overhead vs low graphics overhead
high art vs low art
choice of platform(s) and form factor(s)
multipler vs singleplayer

etc

At one end of the spectrum you could bust it all out in html5 and client side javascript, or even something old school like vb, or plain old java and c# with default UI.

At the other end of the spectrum you could throw into some opengl / c++ and go bespoke with some framework / library support. Probably not judging on the question ( making an assumption here ).

Something like Unity would be a fair halfway house, you would get easy accessibility to a whole bunch of gaming related things, but note Unity is somewhat more intro geared around real time graphical type games as opposed to stat heavy sims - not that you absolutely can't do that, but by default the process flow in Unity likes you playing with an interactive 3d editor and writing scripts based on world type things and tutorials you see are going to be around creating 2d shmups and platformers and 3d worlds.



For quick single player turn based stat game type prototyping with no other experience I would go html and js. Failing that Monogame if you appreciate tinkering and having a completely open approach to what you want to do. Failing that probably Unity as it doesn't hamstring you as much as other game frameworks and offers a lot in its default bag of tricks, failing that vanilla Java or c# with a few libraries thrown in, particularly if you don't much care about presentation ( not that they can't do that ).

 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Alan Monroe
United States
Columbus
Ohio
flag msg tools
Avatar
mbmbmbmbmb
Ask 10 programmers and you will get 12 different answers. A good starting point is deciding whether you want it to run in a web browser or as a standalone program.
6 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Todd Zircher
United States
Midwest City
Oklahoma
flag msg tools
designer
Avatar
mbmbmbmbmb
Alan's right, best to drill down/filter your choices depending on what you want to deploy where. Also, budget can be a factor if you're want to do this on the cheap. Sometimes features can have an impact. If you want remote player capability or 3D models for playing pieces that can be a limiting factor.

My son is a big fan of GameMaker because you can program in it via drag and drop or script. It also supports a number of platforms, but is is a commercial program and not that cheap if you're wanting to make a one off game.

Out of the blue I would go with John's suggestion of javascript bundled with a graphics/game engine like EnchantJS.

On the virtual table top side (no programming required), I'd like at tools like Tabletop Simulator.
--
TAZ
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
bort
Australia
Brisbane
Qld
flag msg tools
badge
Avatar
mbmbmbmbmb
JavaJack wrote:
A good starting point is deciding whether you want it to run in a web browser or as a standalone program.


Ok, what are good answers for either of those starting points?

I've been thinking about doing something like this myself - I've been looking over Corona, Stencyl, Scratch.

Unfortunately the language I'm best at is a commercial 4GL that comes with a 100k ERP system...(which I did write an implementation of Sushi Go in - dont tell my boss - he thinks I was doing real work).
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Christophe Denoize
France
Lille
flag msg tools
badge
Avatar
mbmbmbmbmb
bortmonkey wrote:
JavaJack wrote:
A good starting point is deciding whether you want it to run in a web browser or as a standalone program.


Ok, what are good answers for either of those starting points?


I would go for a web browser implementation, unless you have specific needs (such as heavy data processing, like an AI), or you are using a dedicated tool such as Vassal Engine.
That rather quick to have an interface working.

But I think a lot of game designers use vassal to test their prototype. It might be rather quick to have your game running, and making it evolve is not very difficult, compared to some implementation written from scratch, which would require several hours for each evolution (depending on the nature of the evolution of course).
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Dave Dyer
United States
Playa Del Rey
California
flag msg tools
designer
Avatar
mbmbmbmbmb

If you have some programming experience and can accept the idea that you're just making a toy to have fun and experinement with, then the answer is "whatever language you're most familiar with".

Otherwise, this is pretty sure to be a case of "wrong question". If you did have a clue what's involved in writing a game program that's not just a personal toy, you'd know that lots of other choices precede choice of language, and usually dictate it.
3 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Alex Henderson
Cayman Islands
Grand Cayman
flag msg tools
Avatar
mbmbmbmb
Whichever language you settle on, you should also take a look at SQLite. It would make data management in your statistics-driven simulation a lot easier, IMHO. It's free, well-tested, under active development, and easy to learn.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Chris Robbins
United States
Alcoa
Tennessee
flag msg tools
Avatar
mbmbmbmbmb
Free, and with a history of support and updates makes sense.

Just pay something back if you do well.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
United States
SoCal
flag msg tools
badge
Avatar
mbmbmbmbmb
Was going to suggest Python with PyGame, but distribution seems to be more of issue with those.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Front Page | Welcome | Contact | Privacy Policy | Terms of Service | Advertise | Support BGG | Feeds RSS
Geekdo, BoardGameGeek, the Geekdo logo, and the BoardGameGeek logo are trademarks of BoardGameGeek, LLC.