Topic:   Philosopher's Cup   (Read 10362 times)


0 Members and 1 Guest are viewing this topic.

x


  • GMG-er

  • **


  • Posts: 247
    • View Profile
Re: Philosopher's Cup
« Reply #15 on: October 05, 2012, 05:18:00 PM »
That sounds really cool! I think that forcing oneself to work inside restrictions (however arbitrary) can spur creativity.

Do you use F# often? My experience in functional programming is in Scheme and SML and while I understand the appeal of pithy code I think I'd go crazy trying to organize a large project under that paradigm.

Yeh I use F# often. I used to use OCaml a lot, and to a lesser extent SML (Ocaml is based on SML, F# is based on Ocaml. They are all similar languages). They attraction for me is the extremely good multithreading support, something which Ocaml just plain doesn't and will never have, and which SML doesn't do very well.

I haven't used Scheme a lot, but I do know a little Common Lisp, which is an offshoot from the same parent language. I'm also learning Haskell at the moment, and I would say I am passingly fluent at it.

I find structuring big functional projects is slightly more difficult than object oriented projects. But once done, they almost never needs re-factoring and tend to end up with 'hidden features' instead of hidden bugs. SML has a really nice feature set for functors, as does Ocaml. However F# beats both with its GREAT module system.

I am happy to post whatever code I make if anyone wants to see it.
« Last Edit: October 05, 2012, 05:20:09 PM by x »

Charlo


  • GMG-er

  • **


  • Posts: 460
    • View Profile
Re: Philosopher's Cup
« Reply #16 on: October 05, 2012, 06:46:01 PM »
Working on a Javascript/HTML5 thingy at the moment.  We'll see if I can make it more "game-like" before the deadline, right now it's more like a simulation.

WarHampster


  • GMG Extraordinaire

  • ***


  • Posts: 1576

  • The People's Moderator
    • View Profile
    • Arcade of the Absurd
Re: Philosopher's Cup
« Reply #17 on: October 05, 2012, 07:11:04 PM »
"Game-like" is not a requirement  ;)

I am happy to post whatever code I make if anyone wants to see it.

Please! My favorite feature of SML is the pattern matching system... it would be really interesting to see that implemented in a more modern language.


x


  • GMG-er

  • **


  • Posts: 247
    • View Profile
Re: Philosopher's Cup
« Reply #18 on: October 05, 2012, 07:35:02 PM »
"Game-like" is not a requirement  ;)

I am happy to post whatever code I make if anyone wants to see it.

Please! My favorite feature of SML is the pattern matching system... it would be really interesting to see that implemented in a more modern language.

I use pattern matching pretty heavily in combination with discriminated unions. I love the ML language, it just feels so... pragmatic. Also I'm getting pretty well through this super simple text adventure. I'll probably post it soon!

If you like SML, by the way, have you checked out MLton? Its an extremely good SML compiler capable of making ridiculously optimized binaries.
« Last Edit: October 05, 2012, 11:45:49 PM by x »

x


  • GMG-er

  • **


  • Posts: 247
    • View Profile
Re: Philosopher's Cup
« Reply #19 on: October 06, 2012, 03:49:56 AM »
So here is the source code of my little game. To run it you'll need to install the latest version of mono (if you are on mac), compile it with the FSharp compiler which comes with the latest version of mono (command line is 'fsc filename.fs' I think), then run it with mono ('mono compiledAppName.exe'). Its quite similar if you are on linux. Heres the official 'guide' for both:
http://fsxplat.codeplex.com/

For Windows you can compile it using the .NET FSharp compiler that comes with Visual Studio if you have it, or using mono. The FSharp compiler itself is open source, so you don't actually need Visual Studio to get it and use it. But I don't really know how since I just use Visual Studio when I am on Windows--FSharp has great .NET integration, its a first class citizen along with C#, same goes for Mono actually!

There might be spelling/grammatical mistakes. I was just typing right into the IDE with no spell checking or proof reading whatsoever.
« Last Edit: October 06, 2012, 06:26:01 AM by x »

Charlo


  • GMG-er

  • **


  • Posts: 460
    • View Profile
Re: Philosopher's Cup
« Reply #20 on: October 08, 2012, 04:40:01 PM »
http://charlo.gamemakersgarage.com/games/conatus.php

Conatus, according to the all-knowing Wikipedia, is the innate inclination of an object to continue existing and furthering itself.  My take on this concept is a simulation of life vying on what I call the "Gaiagrid" (really just an HTML canvas, but that ruins the mood).  Try it out!

(Important note: click the "Reset" button to enact any changes you make to the Gaiagrid parameters!)

x


  • GMG-er

  • **


  • Posts: 247
    • View Profile
Re: Philosopher's Cup
« Reply #21 on: October 08, 2012, 09:55:23 PM »
http://charlo.gamemakersgarage.com/games/conatus.php

Conatus, according to the all-knowing Wikipedia, is the innate inclination of an object to continue existing and furthering itself.  My take on this concept is a simulation of life vying on what I call the "Gaiagrid" (really just an HTML canvas, but that ruins the mood).  Try it out!

(Important note: click the "Reset" button to enact any changes you make to the Gaiagrid parameters!)

Reminds me of Conway's 'game of life', in a good way.
« Last Edit: October 08, 2012, 10:30:09 PM by x »

Connors


  • ^ This guy is amazing.

  • ****


  • Posts: 2347

  • It's a secret to everyone...
    • View Profile
Re: Philosopher's Cup
« Reply #22 on: October 09, 2012, 07:42:00 AM »
The Conatus thing was an interesting program. I think you could determine what behavior is the best for survival by giving different traits to different colors. This would make it a better analog of real living organisms.

On a side note, it reminds me of the board game Blokus because you had to place pieces in a way that would make it hard for others to keep placing, and there were similar rules (same colored edges can't touch, corners and other colors are OK, etc).

Any chance at all I could see the compiled form of the other program?

EDIT: With enough tweaking you can get fun patterns:
« Last Edit: October 09, 2012, 07:57:15 AM by Connors »
Warning: The above post may have been modified multiple times.

"In a great game, the character must never perfectly obey the user's command"
 - Tim Rogers

http://connorspuzzles.tumblr.com/

Circuit


  • GMG-er

  • **


  • Posts: 315

  • blast from the past
    • View Profile
Re: Philosopher's Cup
« Reply #23 on: October 09, 2012, 11:17:16 AM »
http://charlo.gamemakersgarage.com/games/conatus.php

Conatus, according to the all-knowing Wikipedia, is the innate inclination of an object to continue existing and furthering itself.  My take on this concept is a simulation of life vying on what I call the "Gaiagrid" (really just an HTML canvas, but that ruins the mood).  Try it out!

(Important note: click the "Reset" button to enact any changes you make to the Gaiagrid parameters!)
That's really cool!

WarHampster


  • GMG Extraordinaire

  • ***


  • Posts: 1576

  • The People's Moderator
    • View Profile
    • Arcade of the Absurd
Re: Philosopher's Cup
« Reply #24 on: October 10, 2012, 07:01:27 PM »
I'm late to my own party! I'm really glad that you guys took the time to make things, they look awesome, and I'll look at them in more depth as soon as I have some time.

I had a epiphany that completely changed the direction of my project, as I usually do. So here's my take on Object-oriented ontology:

Mac - http://www.arcadeoftheabsurd.com/files/allthethings_mac.zip
Win - http://www.arcadeoftheabsurd.com/files/allthethings_win.zip

WarHampster


  • GMG Extraordinaire

  • ***


  • Posts: 1576

  • The People's Moderator
    • View Profile
    • Arcade of the Absurd
Re: Philosopher's Cup
« Reply #25 on: October 10, 2012, 08:09:11 PM »
Post your things, by the way. Here are some of mine:

Ben Jeby
EusLisp Robot Programming Language
Derby Philosophical Society
President of the General Council
Christianity in Shandong