Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 3 4 [5] 6 7

Author Topic: The Community Game! Open to Everyone!  (Read 5782 times)

winner

  • Bay Watcher
    • View Profile
Re: The Community Game! Signups!
« Reply #60 on: March 25, 2010, 09:59:20 pm »

I'm kind of worried about this project.  Maybe if it started migrating towards a rogue-like people would have more interest?
That's not particularly likely, unless you personally are more interested in that.  Home made games don't get alot of attention unless you make a lot of hype.
Logged
The great game of Warlocks!

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: The Community Game! Two More Spots!
« Reply #61 on: March 25, 2010, 10:14:37 pm »

I thought that I sufficiently implied that I wnted to participate...


Also, limiting the available spots, in my opinion, would likely only work if you plan to fill empty ones as people leave, even if they have already contributed.
Logged
Eh?
Eh!

Omegastick

  • Bay Watcher
  • Crazy musician man
    • View Profile
Re: The Community Game! Two More Spots!
« Reply #62 on: March 26, 2010, 04:05:46 am »

Sorry, Qwerty, I seem to have missed/forgotten about your post, I've added you to the next space, also we will keep rotating around the list and if somebody drops out there will be a space for someone else to join, it helps keep dedicated members.

EDIT: Also, if we do migrate to roguelike then libtcod that White Kitteh suggested mught be a good idea, I'm learning to use it at the moment.
Logged
I make music under the name Flag Red, check me out:
Soundcloud
Youtube
Facebook

jplur

  • Bay Watcher
    • View Profile
    • http://www.parker-portfolio.com
Re: The Community Game! Signups!
« Reply #63 on: March 26, 2010, 10:00:02 am »

I'm kind of worried about this project.  Maybe if it started migrating towards a rogue-like people would have more interest?
That's not particularly likely, unless you personally are more interested in that.  Home made games don't get alot of attention unless you make a lot of hype.

I meant more interest for people who had signed up to take a turn.  But personally, I'd be interested in:
Turning the text based adventure into a telnet MUD
Using libtcod's python bindings, or curses for python, to migrate to a roguelike with some text adventure elements.
Logged
I ended up finding out you can speed up pregnancies by changing the mother to a cat to knock them up and changing back before labor

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: The Community Game! Only One Spot Left!
« Reply #64 on: March 26, 2010, 01:54:46 pm »

I'm plugging away at my game for now.
I will take a look at the code soon,
 and if I see something I could accomplish,
 then I will dive in.

The pin wheel of contributors is a neat idea.
I hope I don't fly off the edge when it spins.
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

Omegastick

  • Bay Watcher
  • Crazy musician man
    • View Profile
Re: The Community Game! Only One Spot Left!
« Reply #65 on: March 27, 2010, 03:13:05 pm »

Alright, I think it's Qwerty's turn now...
Logged
I make music under the name Flag Red, check me out:
Soundcloud
Youtube
Facebook

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: The Community Game! Only One Spot Left!
« Reply #66 on: March 27, 2010, 04:29:34 pm »

It is?

I guess I should get started, then.
Logged
Eh?
Eh!

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: The Community Game! Only One Spot Left!
« Reply #67 on: March 27, 2010, 06:49:59 pm »

I should probably leave discussion for when I am done, but whatever.

I found(and fixed) a bug, where quitting through control-c would cause an uncaught KeyboardInterrupt exception, giving an error text as they quit. Normally, a user wouldn't control-c, and normally they would have launched it from the file, so the window closes too fast to notice the error anyway, but by simply catching that error, I turned it into a friendly "bye" for people who launced it from an already-open terminal.

Also, by the time I am through with it, verbs will be much more complicated than ever before, but will be better as a result. Hopefully. And will hopefully support at least partial inform-7-like instead of... results, but here it would only be allowing rooms to redirect a verb, and with layers of verb-aliases, you could have all phrasings of steal and accuire terminate in get, in a tree where stealing passes through steal(that defaults to passing to get) and non-stealing aliases of get go directly, so a room needs only to redirect steal and it can have a NPC reprimand the player for their theif-like posture and state that they should really learn some manners when they try to take an object in a way that was phrased as stealing.

The downside would be that all verbs would have to be defined in the text file before they could be used, even if it was implemented.
Logged
Eh?
Eh!

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: The Community Game! Only One Spot Left!
« Reply #68 on: March 27, 2010, 09:52:13 pm »

Funny stuff:

Too much verb:
Code: [Select]
                verblist[verb] = verbs.verb()
                verblist[verb].verb = verb

I took all the good ones from a thesaurus:
Code: [Select]
[verb:steal]
  [alias:nab:abduct:appropriate:burglarize:embezzle:heist:loot:misappropriate:peculate:pilfer:pillage:plunder:shoplift:swindle:swipe:thieve]
  [action:alias:get]


Also, if you only give it a partial verb, it will try to find the best match, where the best match is any verb that starts with the given verb, as long as it is the only one. An exact match will take presedence, but if it can't find an exact match but finds more than one partial match, it will ask the player to clarify their meaning.


I will finish early, as soon as I restore functionality by having the current actions route through the verb system. And test a bit.
Logged
Eh?
Eh!

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: The Community Game! Only One Spot Left!
« Reply #69 on: March 27, 2010, 10:37:25 pm »

Well, here it is.

The old quest system is still in, although you could verb-redirect for the same result. The only change to that is that it may return any variation of true to cancel further processing of the verbs.

Room definitions are now started with R, taking the room ID as a paramter, rather than with the name. When the name isn't present, it defaults to the room ID. They can also use V:1:2 where 1 is a verb function or alias, and if it is alias, then 2 must be present, and is the verb name to redirect to. V defined verb changes only take effect while the player is in the room.

The earlier mentioned bugfix for control-c is also implemented.

Finally, the verb changes:

Verbs are defined in verbs.txt. The format is much closer to DF's files, with tags in square brackets and anything else ignored, although for now it doesn't accept two tags on one line.
The action tag has two types. It either specifies the name of a verb function, or it takes the form of alias:{do this verb instead}.

The verb functions are defined in verbs.py with the format verb_{name}(player, verb, args) and only specified through non-alias room V lines and non-alias action tags, with any alias version redirecting to a diffrent verb definition in those files. In the parameters to a verb function, verb is the verb that the player actually typed and args is the entire command. A verb function may return 0 and the game will treat it is if the player had typed a nonexistant verb.

Verb matching is now very flexible, as you only need to type enough of a verb to clearly identify what you want to do. If you type ste and there are both steal and steel, it will ask for clarification, but if only one of the two exist, it will use it. Exact matches trump partial matches, so you can specifically set a single-letter shortcut and it will take presedence if they only type that letter.

Bug: I just realized that if there is a single partial match in the room-defined verbs, it won't bother to try the rest even if the rest would give a conflict of clarity or would have a full match. Also, that a solution to that must also check if the global verb is the same as the room defined one, so that a verb won't clash with itself since both would partial-match and fail if you didn't enter it fully, and the verb in question was a room-verb redefinition of a global verb.
Realized that I was probably the best person to fix it, since I know what change was needed, so did.
Logged
Eh?
Eh!

Omegastick

  • Bay Watcher
  • Crazy musician man
    • View Profile
Re: The Community Game! Only One Spot Left!
« Reply #70 on: March 28, 2010, 07:52:40 am »

Got the files, now I'm gonna have a go at doing some improvements, the code is beyond my understanding of Python but I might be able to expand the quest and fix some mistakes in the files. So far I've been cleaning up the spelling mistakes and grammar.
Logged
I make music under the name Flag Red, check me out:
Soundcloud
Youtube
Facebook

Virex

  • Bay Watcher
  • Subjects interest attracted. Annalyses pending...
    • View Profile
Re: The Community Game! Only One Spot Left!
« Reply #71 on: March 28, 2010, 11:02:08 am »

Perhaps it would be worthwile to see if reworking the quest system to be in accordance with the verb system would be possible? Idealy it should be possible to define quests largely from the raws. Also, it might be a good idea to migrate the raws to their own folder, to keep things organised.
Logged

jplur

  • Bay Watcher
    • View Profile
    • http://www.parker-portfolio.com
Re: The Community Game! Only One Spot Left!
« Reply #72 on: March 28, 2010, 11:29:06 am »

wow!  I looked over the code and the new verb system is great.  Virex; I can totally see how a raw based quest system could work now.

Actually, I might be tied up with work until wednesday so if Virex or anybody wants to switch turns..

Also, I had a dream last night that I unlocked the secrets of curses.. it was very colorful.
Logged
I ended up finding out you can speed up pregnancies by changing the mother to a cat to knock them up and changing back before labor

Omegastick

  • Bay Watcher
  • Crazy musician man
    • View Profile
Re: The Community Game! Only One Spot Left!
« Reply #73 on: March 28, 2010, 11:57:27 am »

Ach, life and the fact that I'm working incredibly slow is getting in the way of progress. I won't be able to do my turn this time round. Virex, if you want to swap with Jplur you can...
Logged
I make music under the name Flag Red, check me out:
Soundcloud
Youtube
Facebook

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: The Community Game! Only One Spot Left!
« Reply #74 on: March 28, 2010, 12:28:33 pm »

I would like to apologize to anyone who has problems with the regex in the verb loading. It does get things done quickly, and if you know even a tiny bit it should be easy to understand, but it alsomeans that you need to know a bit more to edit it. However, it is actually clearer than actually scanning characters manually, and regex is not a python feature exclusively, so people without python experience might still understand it.

Just for clarification to people who don't understand it, here is a breakdown:

Code: [Select]
\[([\w:]+)\]
The \[ and \] become the literal characters [ and ].
The ()s specify a group so that just the text between the []s can be extracted.
Inside the ()s is [\w:]+. the []s there mean any one character represented within, and the + means one or more. So one or more of the characters in the inner []s.
The \w symbolizes every letter, number, and the underscore, and the : allows it to also accept colons.

Summary: It gets any string of letters, numbers, _, and : that is surrounded by square brackets. If it contains any illegal characters(including spaces), it is considered invalid, or if it doesn't have a proper [] pair on the line.

If you want to add a special character, for example @, just add it to the internal []s, after checking if it is a control character, and if so, preceding it by a \

However, the downside to that is that it might allow invalid action parameters, so either tolerate them giving in-game error messages(not python errors, though, since SyntaxError and AttributeError are caught to properly inform the player that someone messed up in verbs.txt), or alter them. Example: if you want to allow spaces, change the regex to \[([\w: ]+)\] but remember to add code to remove it or replace it in action parmeters(only the first one, as an alias could tolerate them)

Another example, would be using a preceeding $ to distinguish a verb as debug-only, as long as code would strip it before using it as an action(debug mode) or disregard it entirely(non-debug mode). Since $ is a control character, you would have to write it as \[([\w:\$]+)\]
Logged
Eh?
Eh!
Pages: 1 ... 3 4 [5] 6 7