View previous topic :: View next topic |
Author |
Message |
parkbench .
Joined: 02 Jul 2007 Posts: 145
|
Posted: Thu May 08, 2008 1:53 am Post subject: Cavernous: the Autonomous Roguelike |
|
|
So here's something I whipped up for a project of a friend of mine...it's coming along really nicely and it's going to be a fun little proof of concept...I'll past the summary here and I hope you guys find it interesting!
http://parkbench.butanpressfight.com/cavernous/cavernous.html
Cavernous is a roguelike that plays itself. Your hero--whose name is randomly generated from a devillishly witty list--traverses the randomised dungeons put in front of him to the best of his ability, based on a "genetic" personality matrix. This matrix evolves and fluctuates depending on the actions he (or she!) decides to take: so he may be aggressive and fight till the death, or he may be cowardly and gun it for the next level every time, or better still he could be greedy and consume all his time by collecting all the treasure he can.
The point is: depending on his actions, he will be mutated by a "blind watchmaker," in a perpetual race for a higher score. After his death, the results are outputted to a text file for posterity (to put on fridges, walls, etc.). It is a tiny little applet that will be released shortly and hopefully will bring some smiles to some faces. _________________ ich bin aber eine mensch maschine |
|
Back to top |
|
|
Winged Assassins (1984) .
Joined: 28 Nov 2006 Posts: 996 Location: Super Magic Drive
|
Posted: Thu May 08, 2008 2:25 am Post subject: |
|
|
I will definitely be following the Progress of this. _________________
|
|
Back to top |
|
|
player 2 .
Joined: 10 Jul 2005 Posts: 585 Location: Madison, WI USA
|
Posted: Thu May 08, 2008 4:12 pm Post subject: |
|
|
Can the game learn from its mistakes? For example, if you play through 100 characters and 70% of the most succesful ones played like cowards, would 101 be more likely to be a coward than 100? _________________ Wii #: 8749 9109 9732 3653
"It is a peaceful way of understanding life, to play"
_Marcel Duchamp |
|
Back to top |
|
|
kirkjerk .
Joined: 12 Apr 2006 Posts: 1227
|
Posted: Fri May 09, 2008 11:05 am Post subject: |
|
|
That is lovely. I see the cited "Progress Quest" influence, but this would be much more visually compelling.
So, it's not that you're "dice rolling up" a bunch of characters each with a different set of genetic predispositions, and then breeding from the most successful of those, but the genetic algorithm cycle is applied during the course of one life time? Hmm! _________________ =/ \(<D)_/
==/\/ >_ kirkjerk.com |
|
Back to top |
|
|
getter77 .
Joined: 22 Oct 2007 Posts: 24
|
Posted: Sat May 10, 2008 2:25 pm Post subject: |
|
|
Utterly fascinating and I look forward to seeing how this rolls out. Cheers. |
|
Back to top |
|
|
parkbench .
Joined: 02 Jul 2007 Posts: 145
|
Posted: Sun May 11, 2008 7:20 pm Post subject: |
|
|
Ah. I will have the answer to your questions shortly! I called the creator to query him about it but I just went and forgot every last thing he said. Haha. So I'll get back to you guys on those questions.
It's good to see interest though. Keep an eye out for a 'beta--' which will mostly be just baby-sitting the algorithms to see if they're one-sided or have bugs and such. But keep an eye out nonetheless! _________________ ich bin aber eine mensch maschine |
|
Back to top |
|
|
Bobbicus .
Joined: 11 May 2008 Posts: 3
|
Posted: Sun May 11, 2008 9:24 pm Post subject: Cavernous |
|
|
Well since I am the co-creator of cavernous and the crazy man responsible for most of the A.I. stuffs, I'll try and field some of these quiestions.
First, a brief overview -
Cavernous is written in Processing, which is a programming environment that uses a bastardized version of Java. This environment was used solely because it was a requirement of the assignment that gave birth to this project. I do not like it, mainly because I'm not so great with java, and therefore will be converting the project into a python program for ease of development. Fortunately, this should not take long, as the project is finished (Yay!) just extraordinarily buggy (Boo!) I'll also use this time to optimize the code, as it sort of grew spontaneously and veered off in wildly different directions at points
Anyways, Cavernous functions by taking an "Avatar" with 6 personality traits (Aggression, Greed, Ego, Care, Confidence, and Tolerance) and throwing him into a randomly created dungeon filled with Trolls (they're the only monsters we have at the moment.) All creatures, including the avatar, share a common set of "states": IDLE, HUNTING, FLEEING, FIGHTING, and DEAD. Different stimuli cause the creatures to shift between states: For example, a Troll will move about randomly at a third of his running speed while IDLE, checking to see if the avatar comes into his field of veiw. If it does, the troll has a fight or flight response, which is dependant upon a combination of his personality and his stats. Trolls are strong and aggressive, so the majority of the time they will fight, unless their health is really low. If they choose to fight, the state changes to HUNTING, and the troll will then run at full speed towards the avatar. If the troll catches the avatar, they both FIGHT, etc, etc.
There's still a ridiculous amount of tweaking to go, but I hope to get a working beta out shortly. |
|
Back to top |
|
|
kirkjerk .
Joined: 12 Apr 2006 Posts: 1227
|
Posted: Sun May 11, 2008 9:52 pm Post subject: |
|
|
i <3 processing, myself ... but I never used pygame or whatever (and am still unsure how I feel about meaningful whitespace) _________________ =/ \(<D)_/
==/\/ >_ kirkjerk.com |
|
Back to top |
|
|
Bobbicus .
Joined: 11 May 2008 Posts: 3
|
Posted: Mon May 12, 2008 8:37 am Post subject: |
|
|
Processing's great, but it's not as suited for this type of project. I'd also rather be writing in Python than Java any day- Meaningful whitespace quickly becomes second nature, and everything becomes far less cluttered. |
|
Back to top |
|
|
kirkjerk .
Joined: 12 Apr 2006 Posts: 1227
|
Posted: Mon May 12, 2008 11:19 am Post subject: |
|
|
Bobbicus wrote: | Processing's great, but it's not as suited for this type of project. I'd also rather be writing in Python than Java any day- Meaningful whitespace quickly becomes second nature, and everything becomes far less cluttered. |
I'm also biased against Python because I have Perl monkey on my back, going back almost 15 years -- to me there seems to be enough problem space overlap that I can never justify really learning more Python than I need to get by... _________________ =/ \(<D)_/
==/\/ >_ kirkjerk.com |
|
Back to top |
|
|
Bobbicus .
Joined: 11 May 2008 Posts: 3
|
Posted: Tue May 13, 2008 8:02 am Post subject: |
|
|
Yea, Python's either love it or hate it I've found.
So, I'm going to post the early early processing beta up here once I get the silly bug that prevents anyone from going in a straight line worked out... |
|
Back to top |
|
|
|