Hello. Conway's Game of Life--with bunnies and variants--questions

[A link, an intro, some questions]

  1. Here’s the project I’m primarily talking about http://rabbitmatchthegame.com/bungol/ (semi-hidden it’s not even linked to menus on the main site pages yet). Would love feedback, questions.

  2. Hello. Been coding (more regularly) off and on since Turbo Pascal was in its heyday. Finally working on JS to speed up testing for tabletop games (I’d rather have rules built in and rudimentary AI than work with TTS etc.)
    It was actually the Conway puzzles/variants search that lead me to this site and I am more than eager to meet testers, puzzlers, talk about ideas etc. I’ve already experimented a bit with life-cycles for bunny cells, wraparound, variants in the numbers.

  3. Looking for suggestions about porting other projects (all currently turn based, in the classic sense) to the web format for easier,expanded testing. Currently projects are in C# with either a Unity or WPF front end. My two (obvious?) concerns:

a. The required rotation of my brain and thinking required to move from a heavily class/OOP way of thinking to JS and the like.

b. Dread of being locked into a specific technology. In fact I chose WPF because it was so limited that I had to be extra careful about separating game logic from the display and UI. (Hard learned lesson as my Rolling for Bunnies app is in dev purgatory as I contemplate what it will take to remove from Unity and the game I spent the most time on Notyet for DOS (1996) - MobyGames is pretty much a fond memory given my dependence on graphics and sound libraries in the DOS days.)

[And yes, I know Mountain View has over 80k people, but Kevin, if you ever went to Game Kastle’s Protospiel, you might have seen me with one of the bunny games or Waxing the Barbarian or my Shakespeare game, Serpent’s Teeth.

Hop,
David Moskowitz

1 Like

These are good things to be thinking about. For what it’s worth, modern JavaScript does support a ton of OOP concepts. Here’s a quick tutorial on creating classes in JavaScript:

And you can take it a step further an introduce inheritance with the extends keyword:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/extends

I don’t think you can do interfaces in JavaScript, but I believe you can in TypeScript, which compiles to JavaScript. I’ve only messed with TypeScript a tiny bit though.

JavaScript feels relatively future-proof, but I’m not sure any language / framework / library is entirely safe from bit rot. I’ve got a few dozen little games and projects that no longer work anymore. I’ve thought about trying to update them, but there’s so much I want to do, so revisiting past projects isn’t super interesting to me.

I believe Unity can export projects to WebGL which can run directly in the browser, but I’ve never played with Unity myself. Another option might be something like libGDX which is written in Java and exports as a desktop application, an Android or iOS app, or a webpage.

In the end I would probably go with whatever lets you target the audience you’re going for now.

I tried out your simulation, and it worked pretty well! I’d maybe consider an “easy mode” for folks who might feel overwhelmed by all those settings, and I’d maybe speed up the simulation a bit. Also, clicking an existing bun didn’t delete it for me, and the “allowed to add” counter kept going down if I clicked in the same cell. But overall it worked really well. I like the idea of giving cells a lifetime, makes for some interesting patterns!

PS: I’ve never been to Game Kastle, but according to Google Maps it’s right down the street from where I live!

Absotively. I’m still trying to find the sweet spot between spending a several dozen hours learning more css and html, finding a WYSIWG tool that will generate so many layers of CSS that any attempts at tweaks will derail everything and keeping my . The tooltips were my first attempt at explanations. WIll not post links to the main site until I’ve got full instructions et al.

I will check the frame delay field and the some of the button activity on the screen.[EDIT: Buttons fixed! Thanks again!]

After I posted this I read more of your blogs, got some ideas on crafting puzzles and challenges seeing how you’ve approached it.

I’ve had decent results with WebGL and Android from unity, but as I’m primarily testing rules, rapid prototypes, the JS browser approach seems the fastest for getting changes up there. Any server side logic I’ve done with other projects has been with PHP (JS requires a different hosting package). Much to learn…

Thanks for the quick response.