Enquirer Home Page | Twitter | Back to Improbable Island

 Forum Index > Places > Places: Feedback and Development New Topic Post Reply
 Place Thoughts
 |  Printable Version
CavemanJoe
 Wednesday, March 07 2012 @ 09:21 AM UTC (Read 5445 times)  
Forum Admin
Admin

Status: offline

Registered: 02/24/08
Posts: 2281

Thoughts are now live!

"Thoughts" are what a programmer would call variables. Like Memories, but they only exist for a single page load. Because they're not saved anywhere, we don't need to take up database space - so you can have as many as you like, and you don't have to pay any Supporter Points for them!

So! What can you do with Thoughts? Well, let's take the Dice Roll Contrivance, and its successor, the new Roll to Thought Contraption.

Dice Roll rolls a 1,000-sided die and then returns a pass or a fail depending on whether the roll was above or below the number you specify. All well and good - but what if you want to do one thing if it's a roll between 0 and 100, another thing if it's a roll between 100 and 200, and so on?

Well, you'd be shit out of luck, since Dice Roll rolls a new die every time you use it.

Enter Roll to Thought.

Choose a minimum number and a maximum number, roll the die, and assign the result to "funkydieroll" or whatever word you come up with.

Then, use the Thought Greater and Thought Less Contrivances to see whether "funkydieroll" fits your criteria! "funkydieroll" stays the same!

You have these new Contraptions:
Set Thought
Increment Thought
Roll to Thought

And these new Contrivances:
Thought Greater
Thought Less
Thought Equal

And some of the Contraptions and Contrivances concerning Memories have been altered so that they can read Thoughts. Eventually I'll be extending Thought support across all the Contraptions and Contrivances where it makes sense to do so (is player hitpoints more than "scarylownumberofhitpoints"?).

You can even use Thoughts to pass data between different Logic Grids! If a Logic Grid sets a thought called "heythisgridpassedjustfineokay" or whatever, then other Logic Grids firing after that Thought is set will be able to read that Thought! Combine this with the Run Program Contraption to create some really complex and interesting stuff, where Logic Grids can affect the behaviour of other Logic Grids!

(I hear some programmery types thinking about asking me about variable scope right now, and I say this to them: Variable scope? VARIABLE SCOPE? Oooh, la de frickin' da! Check out Ms Software Engineer here, with her fancy ideas about "Standards" and "Common Sense." This is Programmer's Lego for Roleplayers, here, the variables go in a great big bucket with "VURBLES" written on it. That's yer variable scope support!)

(the $place_thoughts array is even a global. That's right, a global! *runs off giggling into the night*)

Have fun!


 
Profile Email Website
Quote
Count Sessine
 Wednesday, March 07 2012 @ 07:11 PM UTC  
Forum Moderator
Moderator

Status: offline

Registered: 08/16/08
Posts: 1402

Pssssst! If you go hunting for these right now, you'll discover they are really easy to find. Hurry! Who knows how long this abundance will last!


 
Profile Email
Quote
Full Metal Lion
 Thursday, March 08 2012 @ 01:06 AM UTC  
Forum Improbable Badass
Improbable Badass

Status: offline

Registered: 12/19/11
Posts: 437

Man, I should get on top of this Places thing. Not only do you get to build walls of text, you also get a bucket! Labelled "VURBLES"!


 
Profile Email Website
Quote
CavemanJoe
 Friday, March 09 2012 @ 06:58 AM UTC  
Forum Admin
Admin

Status: offline

Registered: 02/24/08
Posts: 2281

You can now reference Thoughts and Memories in your Room and Page descriptions! The decorating job menu will tell you how! Big Grin


 
Profile Email Website
Quote
Trowa
 Friday, March 09 2012 @ 02:34 PM UTC  
Forum Improbable Badass
Improbable Badass

Status: offline

Registered: 01/09/11
Posts: 426

Quote by: CavemanJoe

You can now reference Thoughts and Memories in your Room and Page descriptions! The decorating job menu will tell you how! Big Grin



THIS. Eek!

That's all I can think to say right now besides "I love you," but that would be awkward, even if I meant it on a completely platonic sort of way.


Something something unintelligible gibberish something.
 
Profile Email
Quote
Buddleia
 Saturday, March 10 2012 @ 04:13 PM UTC  
Forum Improbable Badass
Improbable Badass

Status: offline

Registered: 04/23/10
Posts: 343

I'm really looking forward to using this, but ... I'm gonna need more instructions than that.

Help? Please?

Hairy Mary, another tutorial-series, perhaps? Tea and cookies and love and hugs!


Improbable Reference Links - goo.gl/MRBnb -------------- Land Registry (map of Places) ---- goo.gl/bpkRR
 
Profile Email Website
Quote
Hairy Mary
 Sunday, March 11 2012 @ 02:24 AM UTC  
Forum Improbable Badass
Improbable Badass

Status: offline

Registered: 08/17/08
Posts: 1083

Tea and cookies and love and hugs will get you a long way Budd.

I'm slowly writing a series of tutorials on the elements of memories, that will be my next page.

The whole programming guide thing is an ongoing project which is spreading long into the foreseeable future.

Shortish term
- Memories tutorials, I think another three or four pages should do.
- The original basic tutorials - replace the two pages that are now obsolete due to the weather being handily provided in Master Settings and also revision of pages to take into account Trowa's comments elsewhere in this forum.
- A couple or three new basic tutorials on mementoes and debugging.

Longer term
- Advanced tricks including the Stop Program and Run Program Contraptions and also Thoughts.
- Any other advanced tricks I think of.
- A non-tutorial, how-to section on games of chance, with various casino-ey type games.
- A how-to section on tricks for 'Adventure style' games, including how to have objects which can be picked up, moved around and dropped again, with inventories and how to tell what is currently in a room.
- A few other odds and ends that spring to mind, but which I won't tell yet.

That should take me up till about 2020 or so, by which time I'll have thought of some other things.


 
Profile Email
Quote
Count Sessine
 Sunday, March 11 2012 @ 02:51 AM UTC  
Forum Moderator
Moderator

Status: offline

Registered: 08/16/08
Posts: 1402

Quote by: Hairy+Mary

- A how-to section on tricks for 'Adventure style' games, including how to have objects which can be picked up, moved around and dropped again, with inventories and how to tell what is currently in a room.

Eek!

How are you doing this? Not asking for the long-form tutorial essay now -- but hints would be much appreciated.

Much appreciated!


 
Profile Email
Quote
LydiaDefountain
 Sunday, March 11 2012 @ 05:11 AM UTC  
Forum Improbable Badass
Improbable Badass

Status: offline

Registered: 04/07/08
Posts: 142

Quote by: Count+Sessine

Quote by: Hairy+Mary

- A how-to section on tricks for 'Adventure style' games, including how to have objects which can be picked up, moved around and dropped again, with inventories and how to tell what is currently in a room.

Eek!

How are you doing this? Not asking for the long-form tutorial essay now -- but hints would be much appreciated.

Much appreciated!



I'm having trouble imagining this as well.. unless you have say so many pages for whatever combination of items a person can have and using memories keep track of the value changing it as needed depending on what new thing the player acquired.. and when memory = such and such the page with the right list is displayed?

Maybe?

Am I even close?


 
Profile Email
Quote
CavemanJoe
 Sunday, March 11 2012 @ 05:18 AM UTC  
Forum Admin
Admin

Status: offline

Registered: 02/24/08
Posts: 2281

I would hazard a guess that HM's gonna use Mementos.

Thinking of it... the Inventory does need better organizing. Perhaps in the future I can put a Category tag in the Memento Forge, so that items from different Places can be grouped together.


 
Profile Email Website
Quote
Count Sessine
 Sunday, March 11 2012 @ 06:04 AM UTC  
Forum Moderator
Moderator

Status: offline

Registered: 08/16/08
Posts: 1402

Mementos as they stand -- I can sort of see them being used this way. That is, it's easy enough to give a particular memento in one program, and take it back in another one. But that's a far cry from the kind of generalized flexibility HM just described!

Showing in the Player Inventory that a given group of Mementos had all come from a particular Place would be excellent.

(Separately -- the place inventory needs attention, too. I cracked a programmer's box and added the contents into my Place's inventory (placeid 344). It now shows -- exactly the same list that was there before, followed by four each of everything. Rather than adding 4 to the quantity when the Place already had some.)


 
Profile Email
Quote
Dirk Vanderhuge
 Sunday, March 11 2012 @ 07:11 AM UTC  
Forum Contestant
Contestant

Status: offline

Registered: 08/14/10
Posts: 21

Holy Chrome... If this inventory stuff is possible...

Well, needless to say, Valskyr will get a lot more functional. I've been brute forcing a lot of stuff in it, and I'm sure it's all needlessly clumsy and inefficient. It's certainly nice not to have to worry about weather and tree effects for 270+ "outside" rooms, too, but I suppose that makes rain and tree shadow contraptions next to worthless.

The "global" memory idea is also nice, but if we could have a global memory state that was permanent as a memory chip, that would be even better.


 
Profile Email
Quote
Hairy Mary
 Sunday, March 11 2012 @ 12:08 PM UTC  
Forum Improbable Badass
Improbable Badass

Status: offline

Registered: 08/17/08
Posts: 1083

CMJ, no I wasn't thinking of using mementos. Mementos have the property that they're universal for everybody, which may be an advantage or disadvantage, depending on what you're trying to do. I haven't played with the memento gadgets yet. I will do soon(ish) if only so that I can write a page or two for them in the tutorial. I'd thought that they were in the whole place rather than attached to rooms, which menas that you'd still need memories to keep track of where they were meant to be, and with multiple copies of the same memento, that could start getting complicated. I'm not at all sure that I'd know how to do that.

Here's my idea for inventories and objects. I should very heavily stress that I HAVE NOT DONE THIS YET!! Wait until I have until saying that this works for sure.

Lydia - no, you don't need different pages for each combination, just one page for each object. Then you choose the combination of pages to show.

So. Give each of your rooms a unique number (unique in the sense that each number is used only once, not that each room only has one number.)* Start with 2, and go up from there. 1 = In the players inventory and 0 = Non-existent (the guest has to do something to make it appear, or has destroyed/used it up it in some way, or whatever). In each room, the very first programming thing that happens is a Set Thought: Thought_Current-Location = (That rooms room number).

Now, for each object, build a page somewhere (in a private room not accessible to the general public). Decorate with your object description. Then for each object have a memory which is set to the room number that the object is in.** You'll need to have a program in your first room that checks to see if somebody is a first time entrant, and if so then set all these memories as you want them to initially be.

Now for each object, build a program:-

Line 1: Is Memory_Object = Thought_Location-Check? (Note - different Thought to Current-Location.)
Line 2: Show Page for that object.

Have an overall program Object List rammed full of Run Program Contraptions which fires each of these in turn.

Now, if you set Location-Check = Current Location and run Object List, then you should get a list of everything in the room. If you set Location-Check = 1 and run the program you should get a list of everything the your guest is currently carrying.

Of course it should go without saying that, as with everything else in life, what should be and what is, are not necessarily the same thing.

I'm currently building the necessary pages to try this in my Puzzle Land Place. If you see a page go up in the wiki, then you'll know that it's worked. Or to be more precise, you'll know that what is described in the page in the wiki has worked.

--

On a side note, my gut instinct tells me that for Places of any real size and complexity, every room should start with a program, Set Thought_Room Location, Run Program, then have all the bits specific to that room, and end with another Run Program. The two programs run will essentially be a list of all the bits and bobs that want doing everywhere. What goes where will partly depend on what you want where on the screen, and also what you may or may not want to be stopped with a Stop Program elsewhere. For instance, if somebody is looking at their inventory, then you don't want a list of objects in the room underneath, so put List Objects Present in the bottom Run Program, and Check Inventory in the top.

Experience tells me that it's probably a good idea to decorate absolutely every room blank, and do everything via Pages. For a start you get a lot more control over what goes where. However I keep thinking "Ah this room is simple! No need to faff around with that here!" and then I think "Oh yes, and I'll just add this in, oh and that might be nice, and what about the other, and Drat! Wish I'd done it all with pages!"

I'll start doing that soon, but the next room is simple! No need to faff around with that there. Wink


----

* An exception to this would be if two different "physical" rooms both represent the same "logical" room, then they would have the same number.

** Depending on how big your Place is, you might be able to fit two, three, or even six objects in a memory, but that would be a bit more complicated. I haven't played with all this too much yet and I don't know how I'd go about doing it. We'll stick to the simple case of one memory per object here.


 
Profile Email
Quote
Twosocks Monkey
 Sunday, March 11 2012 @ 12:17 PM UTC  
Forum Improbable Badass
Improbable Badass

Status: offline

Registered: 01/28/11
Posts: 246

I have been reading all of this with lots of interest but no comments so for the record, I want to say very very VERY LOUDLY THAT,

"HAIRY MARY YOU ARE DA BOMB!"

That is all.

-Rose

PS: Also, rather obviously, but important to say, CMJ is the best evil overlord. Having stumbled into his lair completely innocently, I'm rather glad his maze is impossible to escape. Who knew evil was so so good?.


moooooooooo Visit and help me finish the monster list: goo.gl/rpBGe (Ya'll mostly know me as CLOG, fyi)
 
Profile Email Website
Quote
Hairy Mary
 Sunday, March 11 2012 @ 02:32 PM UTC  
Forum Improbable Badass
Improbable Badass

Status: offline

Registered: 08/17/08
Posts: 1083

Quote by: Count+Sessine

Mementos as they stand -- I can sort of see them being used this way. That is, it's easy enough to give a particular memento in one program, and take it back in another one. But that's a far cry from the kind of generalized flexibility HM just described!

Showing in the Player Inventory that a given group of Mementos had all come from a particular Place would be excellent.

(Separately -- the place inventory needs attention, too. I cracked a programmer's box and added the contents into my Place's inventory. It now shows -- exactly the same list that was there before, followed by four each of everything. Rather than adding 4 to the quantity when the Place already had some.)



You're keeping the gadgets in a seperate place, they're in your (weightless) hunter's lodge bag until you move them elsewhere, rather than in your backpack. Indeed, if you move them into your Place's inventory, and then take them back again, then they'll go back into your Lodge bag.

However, if two (of the same) gadgets have different preference settings, then they'll be listed separately. Also, if you have some amount of a gadget, and then get some more (from the scrapyard say) then they'll be listed separately.

The good news is that if you find say two Warp Contraptions together and take all (or put all into the Place inventory) then you will take/put all the Warp Contraptions. This makes it reasonably easy to see what you've got.

----

Dirk. I've had a little (silent) look round Valskyr, and I'm seriously impressed. I recommend that people take a look. It's on the southern most square of the snow fields up in the CC mountains. It's an entire 'ancient Celtic' world for fantasy role playing in, including missions and all sorts. It's very much work in progress, but it's well worth taking a look, even if you've no intention of RPing there. One point though Dirk, could you lock off the areas which you haven't done yet? I got lost in a whole sea of blank rooms the other day.

----

I've said before, that as far as I can tell, we've barely scratched the surface of what Place programming is capable of. I think that the above 'Inventory' idea is starting to properly dig into it. But it's not at all the limit. Give this another year or two, and things are going to get Impressive.

I'm sort of glad that CMJ misread me on inventories and mementos, he seems to have this uncanny ability to see what I'm thinking, then takes it, untangles and straightens it, knocks off the rough edges and streamlines it, and then gives us back something that is far more powerful and easy to use than what I thought that I wanted. I was starting to think that I ought to wear a tin-foil hat to bed.*

----

Rose: Are you saying that I inspire thousands of people to go on long marches demanding that I be banned? Wink
----

*Although I hear that all that tin foil hat stuff is just a myth put about by THEM so we all start wearing nice convenient aerials for THEIR mind control rays. Eek!


 
Profile Email
Quote
Count Sessine
 Sunday, March 11 2012 @ 02:37 PM UTC  
Forum Moderator
Moderator

Status: offline

Registered: 08/16/08
Posts: 1402

Wow, HM, that's a lot to think about!

As for mementos... they can be owned by either a player, or by a Place. You're right, if they're in a Place's inventory, they are not associated with a particular room in that Place.

Another problem with using mementos for game objects is that it's possible for the Place to run out of copies of a memento. If you give your Place 50 copies of a dead battery to give out, then when the fifty-first player comes along, they're going to be out of luck.

This can be mitigated to a certain extent by setting up situations in the game where the Place takes mementos back, but that only means that all 50 will eventually end up in the possession of those players who don't keep playing your adventure. What if people discard some of your key mementos, drop them on the map, give them to someone else...? Not only that, if a character is expired for inactivity all their inventory items are wiped out, so sooner or later most of those initial fifty dead batteries will have vanished.

You'd have to keep monitoring and replenishing the stock of all memento-objects in your Place, just to keep your game playable.

I like your notion much better -- it's sustainable.

Edit: Mementos could have a role, too, but I think more in the way of trophies for completion.


 
Profile Email
Quote
Count Sessine
 Sunday, March 11 2012 @ 04:29 PM UTC  
Forum Moderator
Moderator

Status: offline

Registered: 08/16/08
Posts: 1402

Quote by: Hairy+Mary

Quote by: Count+Sessine

(Separately -- the place inventory needs attention, too. I cracked a programmer's box and added the contents into my Place's inventory. It now shows -- exactly the same list that was there before, followed by four each of everything. Rather than adding 4 to the quantity when the Place already had some.)

You're keeping the gadgets in a separate place, they're in your (weightless) hunter's lodge bag until you move them elsewhere, rather than in your backpack. Indeed, if you move them into your Place's inventory, and then take them back again, then they'll go back into your Lodge bag.

However, if two (of the same) gadgets have different preference settings, then they'll be listed separately. Also, if you have some amount of a gadget, and then get some more (from the scrapyard say) then they'll be listed separately.

The good news is that if you find say two Warp Contraptions together and take all (or put all into the Place inventory) then you will take/put all the Warp Contraptions. This makes it reasonably easy to see what you've got.

Ah. Right. The ones from the programmer's box have the prefs that let them go into the Lodge bag. The others don't, so they are retrieved into the backpack. That's why they are listed separately.

I see now why it works the way it does, but... still. If you do a 'Take all', transfer some to your backpack, then do a 'Put all', you end up with three groups of what's functionally the same item. Neutral


 
Profile Email
Quote
CavemanJoe
 Sunday, March 11 2012 @ 04:37 PM UTC  
Forum Admin
Admin

Status: offline

Registered: 02/24/08
Posts: 2281

Quote by: Count+Sessine

Wow, HM, that's a lot to think about!

As for mementos... they can be owned by either a player, or by a Place. You're right, if they're in a Place's inventory, they are not associated with a particular room in that Place.

Another problem with using mementos for game objects is that it's possible for the Place to run out of copies of a memento. If you give your Place 50 copies of a dead battery to give out, then when the fifty-first player comes along, they're going to be out of luck.

This can be mitigated to a certain extent by setting up situations in the game where the Place takes mementos back, but that only means that all 50 will eventually end up in the possession of those players who don't keep playing your adventure. What if people discard some of your key mementos, drop them on the map, give them to someone else...? Not only that, if a character is expired for inactivity all their inventory items are wiped out, so sooner or later most of those initial fifty dead batteries will have vanished.

You'd have to keep monitoring and replenishing the stock of all memento-objects in your Place, just to keep your game playable.

I like your notion much better -- it's sustainable.

Edit: Mementos could have a role, too, but I think more in the way of trophies for completion.



So what we need, really, is Place Items. That is, Mementos with the following differences:
* To forge them, you pay a flat rate for a Memento Generator that goes in your Place, rather than paying for individual Mementos.
* The non-transferable flag is set.
* The Unique flag is set (the player may have only one).
* They go in a different Inventory area.


 
Profile Email Website
Quote
Count Sessine
 Sunday, March 11 2012 @ 05:22 PM UTC  
Forum Moderator
Moderator

Status: offline

Registered: 08/16/08
Posts: 1402

Quote by: CavemanJoe

So what we need, really, is Place Items. That is, Mementos with the following differences:
* To forge them, you pay a flat rate for a Memento Generator that goes in your Place, rather than paying for individual Mementos.
* The non-transferable flag is set.
* The Unique flag is set (the player may have only one).
* They go in a different Inventory area.

Ouh! That's brilliant. Two contraptions, two contrivances that would have to work with them, but I suppose the existing Memento C&Cs could handle that, or could be made to.

And in Player Inventory, they'd show the name of the Place they came from?

HM, I've been mulling over your idea, and I am becoming quite excited about using it for mobile NPCs!


 
Profile Email
Quote
Hairy Mary
 Sunday, March 11 2012 @ 06:35 PM UTC  
Forum Improbable Badass
Improbable Badass

Status: offline

Registered: 08/17/08
Posts: 1083

CMJ: Are Place Items meant to be instead of my little idea or as an alternative? I realise that what I'm suggesting could take up a lot of memory space, and server load. I've been trying to think up ways to extract two or three digit numbers from memories, (so that Dirk could fit two objects per memory for example) I think that it could be done with a two-program combination, but I'm really not sure. I would need to work on that a little.

Mementos: I think you might be over egging the rate of attrition a little bit there Sussine, it's not like you're going to need fifty a week or anything, but yes, you will need to restock from time to time.

CMJ: I'm not sure about 'unique', there might be occasions when duplicates might be useful, and when they're not, that could be dealt with. The big problem is putting them down and remembering where they're meant to be.

I think mementos and my memories idea would serve different purposes, they'd both be useful though.

If my memories thing really is a bad idea, then I'll stop thinking about it, and start concentrating on other stuff, How to have combat and random encounters for example. (WARNING: NO! I haven't come up with this yet, so don't ask! Furthermore, I'm unlikely to use it in any of my Places, so unless you're willing to use your Place as a guinea pig, then don't expect to see it any time soon, or indeed at all.)

Quote by: Count+Sessine

HM, I've been mulling over your idea, and I am becoming quite excited about using it for mobile NPCs!



First of all, I can't wait to see your Place Sessine. Is it open? Or nearly finished? Started?

I've got a few NPC's who move about in Puzzleland at the moment, but it's all a bit basic there, with this system you could have people appear when you rub a magic lamp or something.

The things that I didn't mention were picking up and putting down objects. This would be a program (for each object) Transfer from X to Y, which would check that said object actually is in X and then change X to Y. When picking up (respectively putting down) Y (resp X) would be 1, but you could easily press that into service for moving NPCs.

By the way ExclaimationADVERTExclaimation Have you seen Interactive NPC's?

For anybody who hasn't, the programming is pretty basic (although the writing might not be) .


 
Profile Email
Quote
Content generated in: 0.87 seconds
New Topic Post Reply



 All times are UTC. The time is now 11:49 PM.

Normal Topic Normal Topic
Locked Topic Locked Topic
Sticky Topic Sticky Topic
New Post New Post
Sticky Topic W/ New Post Sticky Topic W/ New Post
Locked Topic W/ New Post Locked Topic W/ New Post
View Anonymous Posts 
Anonymous users can post 
Filtered HTML Allowed 
Censored Content