Maybe some of you guys know CantrII; it's been down for a while (hacked AGAIN) and I've been playing with the idea of making something similar (but technically better) for a while. I have offered to help programming twice, but never received an answer. So I figured, I'll see how much I get done by the time CantrII is back up.
For those who don't know what CantrII is (was?): Imagine a very slow-paced browser-based text MMORPG, where no NPCs exist (every character you meet is played by a human player), death is permanent, no social structures (clans, camps, teams, etc.) are predefined, and there are no pre-programmed quests. The game merely provides a sandbox with constraints on what your characters can and cannot do - you can travel, but you're bound by geography and time; you can make things, but you need resources and time to do so; you can attack people, but only a limited number of times per timeframe, and a single blow is almost never fatal; etc. etc. It's one huge interconnected world, and if you have the time and the means, you can travel to any location you like.
This is not going to be a clone, but rather a different game in the same spirit, sharing a lot of features (but not all).
I'm not ready to go for a public beta yet, but here's a few screenshots (attached) and some bullet points:
real-time messages (with ajax)
location and character names are dynamic, you can label other characters and locations any way you want (the interface uses jquery & ajax to pop up a dialog, update the name and replace all occurrences in the current page)
character name generator: on character creation, the game can suggest a name for you in case you're out of ideas
color scheme changes to match the mood of your current location
overview of your (other) characters, highlit when there are new events
no SQL injection vulnerabilities and similar open doors
uses clean semantic XHTML (might consider switching to HTML 5 though), works with all major browsers
If enough people are interested, I'll see if I can get to the point where I can deploy a rough version and deal out a few accounts. There's not much you can do right now: just create characters (need to put a cap on the number of characters per player before going public), travel around, talk to other characters, name things, and pick up and drop items.
Oh, and the guy who "stole the original cantr code and data" is NOT me.
If I had the time, I would be interested in a game like this.
Well, CantrII used to be the only game I kept playing - it's really slow paced, and you're typically playing for no more than 5 to 15 minutes a day, and if you don't log in for a few days, you're not missing much usually. Simple conversations could take days. Travels too.
Hey, looks cool. Never heard of CantrII before, but I had a similar idea myself (which I'm sort of semi-working on now and then).
How slow paced is it exactly?
How slow paced is it exactly?
<sekrit message> Nobody answer that for at least four hours please! </sekrit message>
Notre serveur a été récemment piraté, et cette personne a pu copier et notre télécharger le code et la base de données. Cette personne a déjà installé un faux site-web faux de Cantr. Lae pirate a toutes les adresses électroniques et il est possible qu'<s>elle<s><b>il vous contactera d'ici peu pour vous convaincre de jouer à sa version de Cantr. Notez que cette version est illégale et n'est pas soutenue par l'équipe Cantr.
Notez aussi que si il c' est vrai que la base de données ait été copiée, lae pirate détient non seulement votre adresse électronique mais aussi votre mot de passe. Si vous vous servez de ce mot de passe outre qu'en jouant à avec un autre login que celui de Cantr, il vaut mieux le changer.
Si quelqu'un vous dit que vous pouvez jouer à Cantr en se servant d'un nom de domaine autre que les suivants, rassurez-vous que c'est un jeu illégal et pas soutenu par notre équipe.
Les bons noms de domaine sont: flizzle.net, cantr.net, cantr.org, et joselkink.net.
Nous sommes désolés pour tous ces problèmes.
Their translator is very bad at French. The last sentence mean the exact opposite of what it should mean.
And in French, you should use the masculine form if you don't know who you're talking about. The masculine always win when it comes down to writing in French, and it's also the default form to use.
Good idea for a game though.
Never heard of CantrII before, but I had a similar idea myself (which I'm sort of semi-working on now and then).
Really? Anything worth showing off?
How slow paced is it exactly?
Really really slow. So slow as to drive some people away. Imagine a conversation where you say one sentence, and then wait two days for the other one to reply. A simple production job (making a simple tool) would take a day or two, travelling between two distant locations on foot up to a week. In crowded places with, say, 20 characters or more, things could sometimes move fast out of a sudden, and in such cases, the UI is far from optimal because your message screen fills up with all sorts of garbage you have to read through, but the messages are sorted last-first, so you have to read from the bottom to the top (which is one of the things I intend to do better). One of my characters went on a resource gathering trip that took several real-world weeks, just to get some iron and rubber so they could build a machine.
Their translator is very bad at French. The last sentence mean the exact opposite of what it should mean.
Their original programmer is also very bad at programming, which is why they got hacked in the first place. The game just oozes "bad code" all over the place, even without seeing a single line of it you can tell it's a horrible mess. I talked to one of the programmers on IRC; the hacker seems to have exploited one of the many SQL injection holes, and probably a few other vulnerabilities (how else would you get at the source code?), and they've been working on fixing all those vulnerabilities for a few weeks now. Go figure. I mean, SQL injection? Seriously?
The idea and the game mechanics are really unique though, and the fact that it is moderated on a few basic rules (with people getting kicked out over breaking them on purpose) creates a fascinating role playing experience, something I haven't seen in any other online game so far.
Yeah, I've had an interest in these types of games for a while. I was kind of hoping the Lego MMORPG would be like this, allowing me to deconstruct and build based on world pieces and everything else is up to the players.
Not exactly similar, but several people recommended I research Cantr, was my Lore game, which was based on trying to create a game that's completely generated (combining concepts I like from the Civilization Series, RPGs and Progress Quest). The project is on hold, but I keep it all safe somewhere so if time ever permits, I can pick it back up.
You have a working map with locations?
As for the issue of CantrII not being efficient at recruiting developers. What's your opinion for your project.
Will it be a closed source one man project. Or are you open to letting people in?
I'd really like to have a look at your code, I think there's a lot I could learn from it.
Ah yes, Cantr II. I really liked that game. The only thing I didn't like about it was how horribly slow it was. I mean, 30 SQL queries just to get some news from a database table? It got worse, when playing the game the number of queries could rise up to 150+. A horrible mess indeed.
I also offered to help them, but got no response. Your game really looks good Tobias. Let us know when you will be letting testers play.
I mean, 30 SQL queries just to get some news from a database table? It got worse, when playing the game the number of queries could rise up to 150+.
How would you know how many queries the game uses? O.o
Well, I am guessing that the footer was meaningful. It was something in the lines of:
took X queries to blah blah blah.
Of course, there is no way of knowing that it displayed the right number. I am just assuming it did.
Sounds good. I'd be up for it.
Sounds like Minecraft, but with better graphics.
Sounds like it could be interesting to write, but I'm afraid it sounds immensely dull to play.
Sounds interesting.
I would like to try it out too (and if you're sharing the code, I would also like to look at that).
You have a working map with locations?
Yes. The map was one of the first things I tackled, and it's probably going to be the most complicated part of the entire project. It involves four database tables, a bunch of PHP code, a dedicated map editor (also in PHP), a C++ application that generates heightmaps, terrain maps and satellite images using a diamond-square midpoint displacement algorithm, another C++ application used for A* pathfinding (generating paths that look natural, based on the terrain at hand), and a PHP image generator that composes a partial map from individual map segment images and information from the database.
As for the issue of CantrII not being efficient at recruiting developers. What's your opinion for your project.
Will it be a closed source one man project. Or are you open to letting people in?
As of now, it's closed-source-one-man, but once I have gained critical mass, extra hands are very welcome.
I'd really like to have a look at your code, I think there's a lot I could learn from it.
(and if you're sharing the code, I would also like to look at that).
I don't feel like going completely open source, mainly because I haven't figured out if and how I am going to draw profits of any kind from this. Other than that, I'm pretty open source minded, so I don't have any fundamental objections. First things first, though - upcoming milestone is the first test release, and for that, I need to do quite some work on the user management part of the application, and then figure out where to host the thing. The shared hosting I'm renting should do for a handful of players, provided I can install cronjobs (need to check on that one too), but as soon as things get any more serious than that, I'd best find a virtual private host or something. Should anyone feel like donating... 
Ah yes, Cantr II. I really liked that game. The only thing I didn't like about it was how horribly slow it was. I mean, 30 SQL queries just to get some news from a database table? It got worse, when playing the game the number of queries could rise up to 150+. A horrible mess indeed.
The fact alone that the number of queries is displayed is a basic WTF by itself. This is not information you want to bother your users with - mysql query logging was invented for exactly this kind of thing. Also, CantrII is not only slow (in the runtime performance sense), it is also horribly inefficient from a usability point of view. Some things require way too many server round trips, so even if there were zero SQL queries, you'd still have to wait for a lot of requests and responses travelling over the net.
I also offered to help them, but got no response.
Looks like a pattern to me...
I would like to try it out too
Sounds good. I'd be up for it.
Your game really looks good Tobias. Let us know when you will be letting testers play.
Absolutely. A game like this can only function with a sufficient number of players, so once I publish the first version, I'll hand out invites (or whatever I'm gonna call them - but I think an invite system is a good way of controlling growth and testing scalability during the first phases) to anyone here who wants them. I'll keep you guys updated.
Sounds like it could be interesting to write, but I'm afraid it sounds immensely dull to play.
CantrII is slow, and most of the time, most of your characters aren't doing much of interest - bit of hunting, make a few tools, travel or farm - however, you can have up to 15 characters, and when two or three of them become heavily involved in politics, or take up a manager job, things can move relatively fast. Also, the goal isn't fast-paced hack & slash action, it's more about actual role-playing, a bit like interactive storywriting (but bound to the laws of a fictional universe).
Maybe I'll take an invite.
Map editor! Can I make my own paradise island?
Are you gonna expand the world as you get more players? CantrII started with such a humongous world that even after all these years there are unexplored areas AFAIK. At least a few people have sailed around the world.
As for funding. I guess you could start with paypal like minecraft did. 
I'd also like to see you use flattr. http://flattr.com/
When I was 12 I played zoids role playing on a proboards forum. Is this like that only with a more appropriate interface? Or will you have some kind of php/javascript interactive environment?
I'm interested. This appeals to the old MUDder in me.
character name generator: on character creation, the game can suggest a name for you in case you're out of ideas
One of the parts of CantrII that appeals to me (and have also struck me as an interesting idea for MMO's in general) is the fact that you don't automatically know the name of everyone. Would your game also work like this? If so, the name the user picks would only be for remembering which character he is playing
(you can tell other players any name - no way for them to check if it's "the right" name).
One of the parts of CantrII that appeals to me (and have also struck me as an interesting idea for MMO's in general) is the fact that you don't automatically know the name of everyone. Would your game also work like this? If so, the name the user picks would only be for remembering which character he is playing
(you can tell other players any name - no way for them to check if it's "the right" name).
Yes, that's exactly what I have now. Locations and other characters are unnamed by default, and the name you give your character is unknown to others, until your character tells them. The first screenshot I posted shows the (currently rather minimalistic) rename dialog.
In fact, I do have names for all locations, but they will not be visible to players - they're only there for administrative purposes, making it easier to find locations in the map editor and when doing things manually in the database. Maybe, just maybe, a supreme being might tell a select handful of characters the intended name of a location under certain circumstances (something like, 'A voice in your head says: "Thou shalt name this place Frufundium"'), but I'm not sure about this yet.
When I was 12 I played zoids role playing on a proboards forum. Is this like that only with a more appropriate interface? Or will you have some kind of php/javascript interactive environment?
The game will provide a rigid sandbox environment, in which you can do a lot of things, but only within the laws and rules of the universe that the game simulates. If you don't have enough food, you'll starve to death, no matter what you role-play. However, no social structures (clans, teams, factions, whatever) will be coded into the game: those are expected to arise from the way people play their characters.
Map editor! Can I make my own paradise island?
In theory, yes. In practice, however, there is only going to be one large world map, and everyone will be playing the same map simultaneously. Should I decide to let other people help me on that front, they will be allowed access to the map editor of course. BTW, here's how it works: First, you run the IslandGenerator application, which spits out a bunch of map segments (each consisting of a terrain type map, a heightmap, and a "satellite" image). You choose a suitable image, copy it to the /maps folder, and add a record to the map_segments table, telling the game where it should place the map segment and which images it should use to display it. Then you open the map editor and start adding locations and paths. Locations can be put anywhere, and you can connect any two locations with a path (although if they're too far away, the pathfinding application will take too long, causing the map editor to timeout).
As for funding. I guess you could start with paypal like minecraft did.
I don't want this to be a paid service. A free membership should give you the full deal. Also, I hate ads, so ad-funded is out too (I would accept a small unobtrusive text ad in return for free hosting, something like "web hosting kindly donated by XYZ"). The only options I find acceptable are:
give paying members extra features that will not give them any advantage in-game; think purely decorative special items, or allowing them to play more characters
voluntary contributions
merchandise (but for that to work, I first need a fan culture, and for that, I first need a working game
)
Which reminds me, I still have to find a proper name for this baby.
One of the parts of CantrII that appeals to me (and have also struck me as an interesting idea for MMO's in general) is the fact that you don't automatically know the name of everyone. Would your game also work like this? If so, the name the user picks would only be for remembering which character he is playing
(you can tell other players any name - no way for them to check if it's "the right" name).
Is there any way to identify them though? For example, if the same character comes along claiming to be a different name, can you still tell that it's the same character that you've previously met? Perhaps you could give them a unique hash identifier to represent their unique appearance.
It looks like this type of game would be highly susceptible to bots. Have you got any plans for stopping this?
For example, if the same character comes along claiming to be a different name, can you still tell that it's the same character that you've previously met?
They would still have the same description/name that you gave them last time I suppose.
It would be interesting if you could change your looks so that people who have met you before can't recognize you without taking a really close look or you reveal who you are.
For this the game needs equipment for shaving and cutting hair, clothes that obscure your face, facepaint...
I would play it if there was an option to flag players who use poor grammar habitually. If the experience hinges on written role playing, I'd hate to have any sense of immersion shattered by "hi, how r u?".
It looks like this type of game would be highly susceptible to bots. Have you got any plans for stopping this?
Just force a captcha on login and after every so long in high activity or something.
I hope you're joking. Have you any idea how annoying that would be?
I hope you're joking. Have you any idea how annoying that would be?
Not very annoying at all. 4chan requires a captcha every time you submit a post! I suggested entering one every time you log in and every period of time while active so that they can't just log the bot in and forget about it.
That would be if there ever was a bot problem to deal with anyway.
Not very annoying at all.
It can be if you have difficulty telling different colours or shades of colours apart.
In fact, it can be even if you can do that perfectly.
I suppose you're right. I never thought of that.
Well the idea basic idea of a captcha is it is something that a human can do but a bot cannot.
It could by replaced by a plain text question for example, but repeated use might be an issue.
Not very annoying at all.
I'm colourblind. You have no idea.
[edit]
It can be if you have difficulty telling different colours or shades of colours apart.
Exactly.
Well the idea basic idea of a captcha is it is something that a human can do but a bot cannot.
Sooner or later someone is going to write an open-source captcha breaker that is much better than the average human. If it hasn't already been done.
Instead of captcha, you have to chat with a player and convince him you're a human.
Not very annoying at all. 4chan requires a captcha every time you submit a post!
... it's 4chan.
Well the idea basic idea of a captcha is it is something that a human can do but a bot cannot.
All too often, implementations make it the other way around. They're easy for bots, who can retry again and again and again without any effort. 
Unless they've changed it recently, Valve's forum search is a prime example. It has an anti-CAPTCHA - whoever solves it has to be a bot, since nobody else can be that patient.
(Oh, and I have ideological reservations against reCAPTCHA)
About the bot thing: The game will require quite heavy moderation one way or another - you don't have to be a bot to be annoying, being a really bad roleplayer or just not giving sh** about proper grammar or spelling is probably equally bad. A few things I have in mind that would hopefully keep bots and jerks to a minimum:
Moderation, combined with automated alerts (if someone behaves in a way that suggests you're a bot (chat frequence, repetitive messages, keywords) or a douchebag (keywords, letter/non-letter ratio, etc.), you'll appear on a list somewhere, and me or another moderator would investigate the incident and deal out punishments where appropriate)
Peer moderation: giving players the opportunity to flag other characters' behaviour as against the rules or questionable, or maybe even voting players out (but then, this could be abused to get rid of characters that make your life hard)
High subscription threshold - I'm thinking some sort of invite system, hand-checked applications, e-mail verification, IP filters, but probably not a CAPTCHA ('cause you can always rent a bunch of Indians or Bulgarians or people from wherever labour is really cheap to solve them for you). In other words, I'll try to make subscribing hard enough so you can't just create a new account when you're banned, but not so hard as to drive people away.
Kingdom Of Loathing has a really neat grammar and spelling test which you must pass before you are allowed to enter the chat. Maybe I'll do something similar.
Have the game dynamics sort things out by themselves. In CantrII, this often works really well: people who misbehave are ignored or punished in-game, without any moderation. A character who behaves like a jerk gets the jerk treatment, up to the point that an angry mob kills them within a few days' time.
Yeah, death should be a big part of a game like this. It motivates people and builds the worlds history.
About that. Will your game have an age limit? There are people in Cantr that are "very old" and I don't think you ever die of old age.
How will your game handle notes? Cantr became littered with useless notes everywhere. I think they did something about this recently though.
Age limit: I'm thinking not a hard limit, but from a certain age on, the chance of dying increases, in a way that makes it very unlikely for people to reach ages above, say 100 years.
For notes, my thoughts are that first of all, the way you have an unlimited amount of paper on you isn't realistic; I'll probably make it so that writing a note requires paper, which shouldn't be too hard to make, yet hard enough to form at least a bit of a threshold - e.g. you need a tub and some wood to make paper, and maybe as an alternative be able to write notes on dried animal skin, making it feasible in most locations (there should be either animals or wood or both in most locations). And the second thought is that you should always be able to destroy any note - in CantrII, the main reason why there are so incredibly many notes is that the only way of destroying them (that I know of at least) is to bury them with a dead body.
On a different notice, I have a very rudimentary pre-beta version online.
Those fearless enough to try it may request an account by PM. I don't have an invite system in place yet, but I can create the accounts manually. Don't expect too much of it though: The features that I have implemented so far are:
logging in and out
creating characters (up to 5 per player as of now)
travelling between locations on foot
talking
dynamically naming characters and locations
picking up and dropping items
a little map of your current location and its surroundings
I'll keep adding features whenever I find the time, and suggestions of all kinds are extremely welcome.
Oh, and: The current version doesn't seem to work well in IE <= 7, mostly because I haven't taken the time to add extra workarounds for its incompatibilities yet. I have successfully tested it in Firefox, Chrome and Opera though, so I expect most other browsers to work just fine.
Hey, early humans wrote stuff by hacking lines into rock and wood.
It would be nice if you could put messages on big rocks or stone/wood tablets. But make it a project that takes a little time, since this kind of writing isn't quick. In Cantr you could make signs, but you needed a paint brush...
I always found it rather odd that notes and envelopes were special objects that you could conjure from thin air when everything else in the game was extracted from the earth.
Which reminds me, I still have to find a proper name for this baby.
"Götterdammers"
Hey, early humans wrote stuff by hacking lines into rock and wood.
Don't forget clay!
"But Dad, I'm Jesus Christ!"
Shouldn't it be more efficient to make a single HTTP request with all the results you need to update instead of 4 at a time?
I imagine that it should improve the user experience slightly. That said, I'm not entirely sure how much is updated. It seems that if I want to see my progress while walking that I have to update manually.
Also, is it by design that you can only use a single character at a time (can't use multiple tabs)?
Shouldn't it be more efficient to make a single HTTP request with all the results you need to update instead of 4 at a time?
I imagine that it should improve the user experience slightly. That said, I'm not entirely sure how much is updated. It seems that if I want to see my progress while walking that I have to update manually.
There are currently 3 timed ajax requests. The first one updates the clock; the second one updates your character list (bolding the ones with new events), and the third one gets all new messages for your current character, if any, and updates the list of characters at your current location. For everything else, you need to refresh. This isn't ideal, and I might change this somehow, but I'll have to find a way to balance playablility and efficiency (I can't have the game fire a dozen ajax requests every second just to keep information updated that doesn't change frequently anyway). The travel state, by the way, only updates every hour or so.
Also, is it by design that you can only use a single character at a time (can't use multiple tabs)?
Sort of, yes. The current character is stored in the session, and most browsers do not allow multiple sessions on the same domain. CantrII is even worse in that regard, it even breaks when you use your browser's Back function, or open anything in a new tab, due to its weird way of passing state around (which I'm not entirely sure I understand yet). Playing a single character is hard enough, I figured, and having several of them open in parallel isn't something I would want for myself, but if others have different opinions, I pass the current character in the URI or a hidden field or something like that.
-- edit --
2 bugfixes:
you cannot pick up or drop negative quantities of any item anymore
password policy should now work correctly
At my j0rb, every Web application that we build stores the "current" state in the session (I don't design them). From the very beginning, it seemed really strange to me. It basically cripples every site if you want to multitask. You can only ever work with a single subject of information at a time. I don't know about you, but personally I find that I like to do more than that with most systems. For example, you might be in the middle of something with one "subject" and then need to make a simple fix for another. Rather than saving an incomplete state or throwing away your progress, it makes sense to me to open a second tab and do the minor change without affecting the first.
It just seems contrary to how the Web works to me. The client decides what they are doing at any given time, not the server. The server just makes sure that the client's actions are valid and carries them out. I guess that's just a perfect world.
I'm not necessarily saying that this game requires (or even benefits from) the ability to use multiple tabs at a time, but I don't see any reason why it should be restricted by it. I suppose somebody with a slow Internet connection might appreciate the ability to manipulate one character, submit the change, and switch to another while that one slowly updates.
On a side note, is it normal for picked up items to be grouped by when you picked up them? I picked up potatoes at my spawn point and again at my first destination. In my inventory, they appear separate, which seems odd to me. Perhaps a "bag of potatoes" would make sense. I'm not saying this needs to be changed (I'm not a regular for this type of game). I'm just inquiring.
Most website code that I've been involved with stores user authentication data in the session, and the "state" is stored in the URI, e.g.
/forums/offtopic/hello_guys/10.html
would be URL rewritten as
/index.php?module=fourms&board=offtopic&thread=hello_guys&page=10
And the site gets those GET variables, and from the request headers it has the cookies that has a session id.
Then it sees if that is a valid session, if so sees if its session variable for client ip address matches the accessing ip address, if not it deletes session and 300 redirects to login page.
Otherwise the page is built purely on that information. No matter if the previous page was the 9th page of that thread or if you came in there directly.
And every module for the entire site is coded that way. And that's how we did it when I was in highschool coding for PHP cms's so I don't see why it would be any worse for pro commercial stuff.
At my j0rb, every Web application that we build stores the "current" state in the session (I don't design them). From the very beginning, it seemed really strange to me. It basically cripples every site if you want to multitask. You can only ever work with a single subject of information at a time. I don't know about you, but personally I find that I like to do more than that with most systems. For example, you might be in the middle of something with one "subject" and then need to make a simple fix for another. Rather than saving an incomplete state or throwing away your progress, it makes sense to me to open a second tab and do the minor change without affecting the first.
It just seems contrary to how the Web works to me. The client decides what they are doing at any given time, not the server. The server just makes sure that the client's actions are valid and carries them out. I guess that's just a perfect world.
I'm not necessarily saying that this game requires (or even benefits from) the ability to use multiple tabs at a time, but I don't see any reason why it should be restricted by it. I suppose somebody with a slow Internet connection might appreciate the ability to manipulate one character, submit the change, and switch to another while that one slowly updates.
You are absolutely right in pretty much every regard. The reason the current character ID is stored in the session rather than a hidden field or the URI is that I originally thought of it as part of your login. I'm pretty certain I'll change this behaviour somewhere down the road, but for now, I have other priorities - getting rid of actual bugs in the current functionality, adding the rest of the core features necessary for some real role playing, etc.
-- edit ---
Actually, I just fixed that one. Current character ID is now passed through the URI exclusively, so far seems to work pretty well. Let me know if there are any issues.
-- /edit --
On a side note, is it normal for picked up items to be grouped by when you picked up them? I picked up potatoes at my spawn point and again at my first destination. In my inventory, they appear separate, which seems odd to me. Perhaps a "bag of potatoes" would make sense. I'm not saying this needs to be changed (I'm not a regular for this type of game). I'm just inquiring.
They are not supposed to be separate. Inventories should automatically merge all items of the same type when adding them (except for non-splittable ones like tools or weapons, of which there are none yet). I'll look into it.
I like that you already have different units were appropriate.
Milk in dl and potatoes in g. And all listed also show weight.
I was surprised when picking up milk that then it wanted millilitres...
So I hope money will be measured in number of coins. In Cantr coins didn't form neat piles.
The unit system is quite advanced really. Every unit type refers to a base unit, but it also has a unit weight. For milk, this means that one unit of milk is 1 ml, and weighs a bit more than 1 g. However, each unit type also has a list of allowed prefixes, for example the mass unit type can be kg, g, mg, µg, pg, depending on the quantity at hand. Each item type can additionally specify a base exponent offset: For milk, this is -3, making the integral unit for milk millilitres rather than litres, although the unit type itself uses litres. This will allow me things like trading very rare resources like gold or diamonds in milligrams, while using larger units (grams, or even kilograms) for things like rocks, timber, etc.
Small amounts of milk will be displayed in ml, larger amounts in dl, yet larger ones in l or even hl. When you pick up or drop items however, the quantity is represented in whole base units.\
For coins, when I implement them (not sure exactly how, the cantr system certainly is too cumbersome to deal with, but I do want to allow different kinds of coins; have to think this through yet), they will behave in a similar fashion. I imagine the inventory list would then read something like:
Iron Coins (Frufundium Mint): 14 Iron Coins (Westfield Bank): 32 Gold Coins (Frufundium Mint): 3
...that is, somehow grouped by material AND authority. A really neat thing would be if you could, just for your own convenience, define relative values of coins, and the inventory would show you the total amount of each currency - this is more of a nice-to-have though, so I won't do it too soon.
First things first; what I'm planning on implementing next are:
pointing (at other characters and locations)
simple projects (gathering resources and producing items)
food, eating, and hunger
death from starvation
I think I also need to take another look at the spawn point function; so far, there is only one location with more than one character.
So, one more oddity I noticed. Whenever I want to change the name of a location/character and press Enter, my character says something. But he doesn't say anything because it looks like the chat window intercepts that Enter key press... So I basically say nothing.
Basically what would be better IMO if you press Enter on the change char/location name field than that should be changed. Or at least a safeguard so I cant submit blank fields in the chat window.
Spawning was a frequent topic on the Cantr forums. They used the rule that if two characters were in the same place a new character could spawn there.
This was rather troublesome when you tried to cross a desert...
I'd like to see a different system for that but I'm not sure what it should be. Perhaps some way to mark a location as a proper settlement. Like, there has to be at least one house and two people present. Maybe some time in the future you could implement pregnancy, but that'd probably just be weird.
If there is no such location available then you should probably have a few default locations. Perhaps even make newbie spawn locations, with NPC's.
I've never dared to play Cantr II because of it's lack of security.
About a year ago we all got a task in the school to prepare something about computers to talk about in the class. Somebody chose to talk about security and also got to the subject of SQL injections. To show an example he used Cantr and showed all the tables and contents. The passwords were just in plain text, not even encrypted. As a bonus he took a random e-mail and password and opened some stranger's inbox.
So, one more oddity I noticed. Whenever I want to change the name of a location/character and press Enter, my character says something. But he doesn't say anything because it looks like the chat window intercepts that Enter key press... So I basically say nothing.
Basically what would be better IMO if you press Enter on the change char/location name field than that should be changed. Or at least a safeguard so I cant submit blank fields in the chat window.
Yes, that's basically a bug. Or two to be specific. Enter, pressed inside a popup, should submit the popup, not the entire page or the talk button; the talk button however is created first in the page lifecycle and thus becomes the default button. And empty talk messages should just be discarded. I'll work on that, need to dig up a bit of javascript trickery to make it work.
Spawning was a frequent topic on the Cantr forums. They used the rule that if two characters were in the same place a new character could spawn there.
This was rather troublesome when you tried to cross a desert...
I'd like to see a different system for that but I'm not sure what it should be. Perhaps some way to mark a location as a proper settlement. Like, there has to be at least one house and two people present. Maybe some time in the future you could implement pregnancy, but that'd probably just be weird.
If there is no such location available then you should probably have a few default locations. Perhaps even make newbie spawn locations, with NPC's.
Current spawning rules are:
each location has a "spawn_location" flag; locations with this flag are always preferred over locations without it
the number of characters weighs into the probability of someone spawning there, although you can also spawn in an empty location
your character will not spawn in a location where you already have another character
I'm open for better suggestions, because now it's far from ideal. I'm not too partial about NPCs or newbie areas though - those would be hard to explain in-game, and one particular thing I liked about cantr was the absolute lack of NPCs. A script just doesn't role-play well.
I'll also try to add some documentation, soon...
-- edit --
I've never dared to play Cantr II because of it's lack of security.
Security is a horrible mess with CantrII, yes. It's one of the reasons that made me start this project in the first place. I mean, come on, preventing SQL injections isn't hard at all, you just need to be disciplined about using parametrized queries and PDO for everything. XSS is a bit harder, but not much - just make sure you know what is HTML and what is not, and never ever allow people to upload plain HTML anywhere. Text is text, HTML is HTML, and they're both different things that need to be treated differently. I have this part pretty much covered in my web controls library, takes care of translating between HTML, form variables, plain text, query string params, and what have you, and works around PHP's silly magic quotes automatically.
Ah! Just remembered an old idea I had that I wanted in a Cantr-like game to speed up gameplay significantly.
Players should be able to set up automated responses and trade options for when they're not playing. So if you know John Pearson will show up and want a key or something from you. You could set it up so he can select that option from an interaction menu.
Let's see:
1) Frequent questions like "Who's the leader here?", "Can I hunt the animals?", "Can I take stuff from the ground?"
2) Exclusive interaction for specific characters.
3) Trade options.
So basically when you're not online people can still interact with your characters as if they were NPC's, with options that the player sets up.
Nice idea. Not sure how hard it would be to implement though. I had a more subtle trade system in mind, where you could create a list of trade offers for your character which others could see without you being awake. So you could add an entry to your list that says you're willing to trade 50 wood for 10 iron, and someone with 10 iron could come along and perform the transaction while you're asleep. But then, I'm not so sure this would be a good thing for the role playing aspect, so I might end up not doing it after all.
In general though, I think the amount of manual labour required to achieve anything in CantrII is outrageous, and I'll definitely go with less: adding items from your inventory to a project should be possible from both your inventory and from the project overview. Naming people and locations is already possible without leaving the current page (major annoyance in CantrII, especially when the "You are not allowed to see the events of other players" bug kicks in); I'll probably add other person- and location-related tasks to the popup, such as displaying a description and pointing.
-- update: --
Yes, that's basically a bug. Or two to be specific. Enter, pressed inside a popup, should submit the popup, not the entire page or the talk button; the talk button however is created first in the page lifecycle and thus becomes the default button. And empty talk messages should just be discarded. I'll work on that, need to dig up a bit of javascript trickery to make it work.
Fixed. The inventory bug too (adding stuff to your inventory produced a new entry instead of merging).
Now we're 4 people at one location. The message log has a scrollbar. So I'm wondering how far back will it load?
Another thing I though of earlier but forgot to mention is the issue of maps.
I tried my hand at making a map over several months, can't recall how many locations I mapped, but it was all on foot and I stopped playing soon after I got my hands on an abandoned dirtbike...
Anyway, I thought it would be nice if mapping happened automatically so you could have a map over the places you've been without having to mess with image editing and all that. Perhaps it should be required you have paper for it before you can get such a map. You select a paper and set it to automap, or something like that.
Somebody wondered away from a 4 person location to continue mapping out his spawn area.
So it may be down to 3 soon.
So far I've been completely unimaginative when it comes to naming places. I basically started with "Initial Spawn Point" and have been prefixing incremental directions on to it for every place I go. 
How do people normally come up with names in these games? Are they just arbitrary or do you try to make them make sense?
Also are the names shared by all of your characters or do they only apply to one?
Also are the names shared by all of your characters or do they only apply to one?
I wonder that as well. If they're shared, then I need to rethinking my naming scheme, as I too just did a simple spawn location thing.
Now that location went down to two people.
Characters don't share location names or other character names. They don't share nothing. They don't even know of each others existence... Thats how Cantr 2 was played.
...as I too just did a simple spawn location thing.
Eventually I'll probably exceed the maximum length for the field so it's only a temporary solution anyway. Seeing a single place in the world for the first time made me draw a blank for what else to call it. And if I didn't know where I was then I couldn't possible know where I was going. 
** IDEA **
It occurred to me that calling a spawn point Nibelheim would be easy for me to recognize without being so arbitrary.
I then decided to go ahead and be that guy and create a Cloud Strife character.
Oh come on, you already knew it was me!
I have not seen that guy, then again, I only been to two locations so far.
One of my characters has moved around quite a bit now. I just realized this game should have a route planner that makes it easy to travel between locations that are far apart. Since each stretch of road only takes an in game hour it would be a bit annoying to log in at every location to get from A to E via B, C and D.
Especially if you're planning to introduce vehicles that are faster than walking. If the current speed is the walking speed you're set on.
About vehicles. I wasn't really a fan of the tech level you could reach in Cantr. While lots of people were hunting with bone spears and didn't bother wear clother, it's rather weird to be driving around in sports cars...
I'd rather see animal domestication in this game. So you can ride, or put a cart behind a horse to transport between locations. A bit more structured farming would be nice too. Getting milk by killing cows and eggs by killing birds... that's just wrong.
If there are birds around you might be able to find some eggs, collected like any other resource. But to be more efficient you should build a coop.
Lots of nice ideas there. Let's see.
First of all, names you give to characters and locations aren't shared, this works exactly like in cantr II.
Then, travelling. The travel speed is currently hard-coded at 36 pixels per in-game hour, and since the average distance between locations is about the same, one hour is how long a usual travel takes. This is just a temporary solution though; ultimately, travel speed is going to be determined by a number of factors - terrain type, road type, the load you're carrying, etc. It's almost certainly going to be much lower in most situations. In any case, lots of tweaking and experimenting to do. Some pathfinding would probably be a good thing too, but I think in order for it to be realistic, you'd have to have a suitable map in order to program your character for a multi-location travel. And then, considering how in cantrII most communities expect you to state your name upon arrival, automatic travel would mean that you couldn't do this easily.
About the maps: I had almost the same thought about this. My idea is that you could at any time draw a map of your current location, extend an existing map, or string several existing maps together. Each of these operations would require paper or a similar resource, and it would take some time. This way, maps become a valuable yet affordable thing, unlike cantrII, where players had to make maps tediously, after which their value was very low, because you could copy them instantly without using any resources at all. Auto-mapping might be a good idea, but I'm a bit hesitant about automating too much.
About the tech level: I'm not exactly sure about this one, but I guess I'll be aiming at very early industrialisation. That is, sailing ships, horse carriages, carts, maybe bicycles, but not motor cars. Clothes should be slightly more functional than in cantrII - they'd provide protection from damage, and maybe also from cold and rain (but I'm not sure if there will be weather or climate). As far as weapons go; I don't see why I shouldn't have firearms, as long as you can't kill a perfectly healthy person in one shot (or maybe even that could be acceptable, if there is a harsh enough threshold for firing a lot - very expensive ammunition, a shots-per-day limit, time consuming gun maintenance, that kind of thing).
Domesticized animals are another thing I want to have. Killing cows for their milk is stupid and ruins part of the role playing; there is no reason why you shouldn't be able to build a stable or a fenced field and put some cattle or sheep on it. You'd still be able to kill them, but then the milk production would stop. Also, domestcized horses are crucial for transportation if I don't add motor vehicles.
Now we're 4 people at one location. The message log has a scrollbar. So I'm wondering how far back will it load?
The message log goes back 25 messages, but as long as you don't navigate (by switching characters, selecting a tab, or picking up / dropping items, new messages are simply added at the bottom. I'll probably change this to be in-game time limited rather than message count limited though, because that seems more realistic to me.
Oh come on, you already knew it was me!
I'm in the nice position that I could go SELECT c.name, l.name, u.name FROM `character` c INNER JOIN location l on l.id = c.location_id INNER JOIN user u on u.id = c.user_id if I felt like it 
Oh, and I definitely need a proper name for this thing. It's pretty hard to come up with a name that doesn't generate a million google hits these days. Maybe I'll just resort to writing a little script that tries every possible 4-letter word and collects the top 20 with the fewest google hits automatically, then I select one that doesn't sound too retarded.
And then, considering how in cantrII most communities expect you to state your name upon arrival, automatic travel would mean that you couldn't do this easily.
You could make the log say "[character] passes through [location]" instead of the two events for arriving and leaving when someone travels like this. If the game supports such travel I don't think people would be offended by players who use it.
Firearms eh, well the best weapon in Cantr was the crossbow. It needed a couple shots to kill someone weak without any protection. There was also the limitation that you could only attack each character once per day. Rather unrealistic but with the game being the way it is you need some way of limiting the violence. Otherwise you could live in a peaceful village one day and when you log in the next day everyone is killed by a single player.
One feature that may be appropriate is automatic defense. So people hit back when someone attacks them without the players having to be logged in. Perhaps adding settings for protecting others too. This would help against hit and run tactics where attackers barricade themselves in a locked building, make a quick attack and go back in. Commonly used in the war between Swedes and Turks.
Otherwise you could live in a peaceful village one day and when you log in the next day everyone is killed by a single player.
Just like the real world. I see no problem with this.
To avoid this villages would have to have some sort of police force... Better said, they would need people with guns. It is true that people in the game would be more inclined to go berserk because if they die or kill 100 other people there are no consequences. So its not exactly like in the real world.
Just like the real world
Except you are always online in the real world
Since people are not expected to be in the game 24/7, a way is needed to limit the amount of damager a player can do over a certain time period (ie before people have time to react).
Charge $10 to send a message to a player's cell phone if he gets decapitated while sleeping.
You could make the log say "[character] passes through [location]" instead of the two events for arriving and leaving when someone travels like this. If the game supports such travel I don't think people would be offended by players who use it.
That might work. However, as I said, travelling is probably going to be much much slower once I get to the balancing part, so the automated routing might not even be something I implement. But if I do, then yes, something like that would work I guess.
Firearms eh, well the best weapon in Cantr was the crossbow. It needed a couple shots to kill someone weak without any protection. There was also the limitation that you could only attack each character once per day. Rather unrealistic but with the game being the way it is you need some way of limiting the violence. Otherwise you could live in a peaceful village one day and when you log in the next day everyone is killed by a single player.
One feature that may be appropriate is automatic defense. So people hit back when someone attacks them without the players having to be logged in. Perhaps adding settings for protecting others too. This would help against hit and run tactics where attackers barricade themselves in a locked building, make a quick attack and go back in. Commonly used in the war between Swedes and Turks.
I've been thinking about automatic attack responses myself, but while playing around with the idea, I quickly figured that it's going to be a lot more complicated than you'd think at first sight. In cantrII, a lot of sparring was going on all the time (one of my characters was part of a group where daily sparring was pretty much expected), maybe more than actual fighting even; so the automatic response would have to somehow figure out whether someone was just sparring or really meant to attack you. Then there's the situation where people hit you by accident (mis-click, selected the wrong weapon, or whatever), and when you have a powerful weapon on you, this might lead to a cascade of unwanted violence. Further, you'd have to make sure that the counter-violence isn't countered back (
) by another automated response, leading to an automatic fight to death. Next problem is that you don't always want to fight back: If a super-bully with thirty years of battle training and an uber-weapon takes a swing at you, you don't want to hit them back using your bare hands, you want to run as fast and as far as you can - I don't see how I'd automate this, let alone offer a sane user interface for that. So, long story short, I don't think I'll provide automatic violence response, and instead limit violence much like cantrII did (except that I'm leaning more towards a complete violence lock after each attack, that is, after you've hit someone, you'd have to wait some time before you could hit anyone else, or the same person, again, and the wait period would depend on the type of weapon used).
Oh, and just to be clear about this: If I implement firearms, they won't necessarily be the most powerful weapons in all situations. Firearms, and even more so the kind used around 1800, have a few interesting disadvantages over things like swords and clubs: You need ammunition, you need time to reload, they can malfunction, they can even hurt you instead of your target (especially when you're a bad shot), they don't work well when wet, etc. If these things have enough effect, a good sword could very well be superior to a gun in many situations in the game - e.g., in larger battles, the need to reload and the depletion of ammunition could mean that you don't get a chance to kill more than one or two of your enemies, while they keep slashing away at you with their ever-functioning swords.
How about an e-mail system. As a way to remind some of us that we have pending actions, so if a character had an event, and you haven't log in for a set period of time (e-mail sending is delayed), you get an e-mail saying which characters have events you haven't read yet.
E-mail functionality is definitely in the pipeline. A few things I might want to do:
Daily digest mail, listing all events of the day for all your characters
Password reset by e-mail (the ubiquitous "forgot password" dialog)
Confirmation of account activation, suspension, deletion, etc.
An invite system (send an invite to someone else by automatic e-mail, pretty much like gmail had when they started out)
Maybe something like you describe, but this would only make sense if your characters don't see much action. In CantrII, my experience was that there were new events for at least some characters at least once a day.
At some point, I might need automated tools to find rule violations and other misbehaviour, and such tools might include functions for sending standard e-mails, e.g. "You have been seen doing XYZ, which is wrong because blah blah, don't do it again kthxbye"
But first, more gameplay features.
RSS?
I'd love to get an RSS feed on my characters events. But my experience with RSS on services that require login is rather bad. Though I've only used it on one site.
RSS with session state is sort of clumsy - most RSS clients support sending cookies, but not receiving them or displaying a login form. So what you'd have to do is log in to the regular site, then copy the login cookie to your RSS client, and it would work so long as your login cookie remains valid. To my knowledge, the RSS protocol itself does not contain an authentication mechanism.
You got pointing in the game now!
First new feature since you let us in right?
One thing I thought about is that roads and overview are two separate tabs. But neither one looks overly crowded. I suspect you're planning more stuff on the overview? The thing I react to is that you see the map in both these tabs, I just feel that you should only be seeing the map in one tab.
You got pointing in the game now!
First new feature since you let us in right?
First real feature, yes. The rest was bugfixes I think. There's also a tiny wiki/cms now, but currently the only user with editor privileges is me (mainly because there's no history and no change logging
). Still useful though, if only to quickly make and change the news page.
I also have projects in the making, but so far, there's only the data model, no interface and only partial logic yet. It's the most complicated piece so far, because each project type has a list or requirements, but requirements may have alternatives - for example, to build a "wooded crucifix", you'd need:
- 2 wooden planks
- 4 iron nails OR 4 steel nails
- wooden hammer OR steel hammer OR stone hammer
One thing I thought about is that roads and overview are two separate tabs. But neither one looks overly crowded. I suspect you're planning more stuff on the overview? The thing I react to is that you see the map in both these tabs, I just feel that you should only be seeing the map in one tab.
Yes, this is far from ideal. I leave it as it is for now, but ultimately, this has to be streamlined. The original idea for the overview was some sort of digest version of all the other tabs, so that you could get a quick run-down of the situation. At one point, I even had the map in the top center panel, but that screen real estate is too valuable IMO, and in a lot of situations, you don't need the map (say, you're working inside, or just not planning on travelling any time soon), and the color scheme already suggest the kind of location you're in.
I'll see where things go for now, either the overview becomes more functional, or I'll ditch it and add its functionality to the other tabs. A thought that just appeared to me is that the various counts (number of roads, people, etc.) could be added to the tab headers. I'll have to play around with that idea a bit more.
This looks pretty interesting. I've never played Cantr, but I've thought about making a game somewhat like this before, just never motivated myself to try.
I hope resources come soon too so we can start hoarding.
Resources, gathering, and making things, are all part of the "projects" feature I'm currently working on. Next thing after that is eating (and starvation).
Yay, my second character finally found my first character. Now we can break the capital rule! 
Already kinda did in a very small way. I recognised the location my first character had visited and knew which way to go for the last road.
So have you started an Alpha? - Juding by their comments, people are actually playing it. In which case, may I join too?
So have you started an Alpha? - Juding by their comments, people are actually playing it. In which case, may I join too?
Yes I have, yes they are, and I sent you a PM with a login.
(Note to self: Need to make a proper account creation page.)
Yay, my second character finally found my first character. Now we can break the capital rule!
Oh yeah, the CR... as much as I found the Cantr team's constant emphasis of that rule annoying, I certainly think it is required to achieve balanced and fair role playing without putting harsh restrictions on the game mechanics that would ultimately hurt gameplay more than anything. After all, information is an important factor in the game, and any way of bypassing the game's rules for passing and sharing information can be abused to unbalance things. I'm already thinking of a "report rule violation" button somewhere (probably in the message box somewhere), so you could flag any message as a possible rule violation, and then a moderator could take a look and judge on a per-case basis. Maybe even peer voting, but I think probably not, because it would just open up another opportunity for abuse - imagine ten characters at one location, one going against general consensus, but within the rules, and the other 9 voting that character out: not good.
Pretty neat, but I don't know if I'd play a game like that (never played Cantr). Can I try it out as well?
Oh, we can play? Sweet, hook me up!
My second character seemed to have missed part of a conversation (or someone is talking to herself)
Yes, I am experiencing the same thing. While we are talking about it... Tobias, did you consider implementing whispering?
Whispering has been there from day one. To whisper to someone, select his/her name in the dropdown right above the talk box, then talk. Currently, whispering is completely invisible to other characters, so that's probably the reason you've missed part of a conversation. But I will make it so that there's a random chance of others noticing the fact you are whispering, and a smaller chance of others overhearing your conversation. This is a bit harder to implement than what I have now, and there are more important things to do, so bear with me.
Oh, we can play? Sweet, hook me up!
Pretty neat, but I don't know if I'd play a game like that (never played Cantr). Can I try it out as well?
Sure thing. See your private messages for account details.
Whispering has been there from day one. To whisper to someone, select his/her name in the dropdown right above the talk box, then talk.
For me, that drop down always seems to have only one option, "All". Seems fixed.
What's the travel speed? Will I keep moving along the road if I log out? And who built these roads, anyway?
EDIT:
Is there a way to see the overall map that you've explored so far, or will I just have to remember the way if I want to turn back?
EDIT:
Is in-game time slower than real life time?
What's the travel speed?
Currently, a hard-coded 36 pixels per in-game hour. Ultimately, it will be dynamic, depending on your skills, the stuff you're carrying, the type of road you're on, and a number of other factors.
Will I keep moving along the road if I log out?
Yes. Life goes on while you 'sleep'.
And who built these roads, anyway?
I did, with a little help from Mr. A* (one of the parts of the game written in C++).
Is there a way to see the overall map that you've explored so far, or will I just have to remember the way if I want to turn back?
There is no auto-mapping as of now. I'm thinking about allowing characters to do this, but it's probably going to slow you down a bit, and you need to have enough paper.
Is in-game time slower than real life time?
It's different. See this page.
I did, with a little help from Mr. A* (one of the parts of the game written in C++).
It was a rhetorical, in-game question. 
EDIT:
So it will take about six (real) hours to go anywhere?
Hmm. Does the "Remember me" checkbox actually do anything right now?
Hmm. Does the "Remember me" checkbox actually do anything right now?
No. It's there because I copied the login page from another project, but the way I had implemented it there was kind of half-broken (i.e., it doesn't scale well at all). Implementing a version that works is on my list. I think I should just disable that checkbox for now.
Tobias: will "projects" and items have a modular design. What I mean is, you could make the system so that people could help you create items and requirements for them etc. For example, have a page dedicated to adding items to the game. This way, you could have designers that would help bring new items to the game, so the burden would not lie solely on you.
Tobias: will "projects" and items have a modular design. What I mean is, you could make the system so that people could help you create items and requirements for them etc. For example, have a page dedicated to adding items to the game. This way, you could have designers that would help bring new items to the game, so the burden would not lie solely on you.
Definitely. Currently, I add items types and projects through SQL statements (or phpmyadmin), but I will absolutely make a nice web interface for this - even if it's only for myself, because the process is quite tedious.
I just saw someone else pick something up and realized we can't give stuff to each other yet, when are you gonna add that feature?
I just saw someone else pick something up and realized we can't give stuff to each other yet, when are you gonna add that feature?
As a hack, you should be able to drop it and hope nobody else gets it before them.
That said, I don't think there's really any justification to trade items yet...
Well as soon as the projects are available it will become quite relevant.
In another game I've played, Daimonin, there is no trade feature. You have to drop it on the ground and let the other player pick it up. So all trades have to be made in out of the way location to avoid ninjas doing drive by stealing. And you have to trust that the other guy keeps his word.
The issue of trust is still there in Cantr, but at least you don't have to worry about thieves unless they're murdering thieves.
At least you have word of mouth available as a weapon against dishonest people. Though in Cantr, the dishonest person isn't automatically known by the same name everywhere so you have to work a bit to let people know he's a bad person. As a bad character you do have a chance to move to distant locations and start over fresh.
This made me think of a new feature for the game.
Let characters have attributes like height, hair and eye color and maybe some other stuff.
Then you could leave a description of a character to someone and when they later see someone with the same attributes you get a special message.
"You see a young man that might be [name]"
I imagine this would be a fair bit of work to implement. Each character would need a list of characters they can leave a description of. You probably should have to actively choose to memorize a characters attributes to be able to describe him/her to other people.
I just saw someone else pick something up and realized we can't give stuff to each other yet, when are you gonna add that feature?
Soon.
First I'll need to finish the first raw version of the whole projects thing. It's taking a tad bit longer than I had hoped, especially because I really really need a useable maintenance interface, which turns out to be pretty tedious.
When that's done, I'll make a generic two-way inventory control that would allow you to move items between inventories. I can then use this for all situations where two inventories are involved: Trade, picking up and dropping, putting items into projects, and maybe stealing.
Speaking of which:
The issue of trust is still there in Cantr, but at least you don't have to worry about thieves unless they're murdering thieves.
I was actually thinking of a stealing feature. You could choose to "snatch" things or take them using brute force. With the first option, each attempt would give you a list of items you happen to come across while secretly rummaging through the other character's bag, then you'd select one, and a roll would determine whether you succeed, or the other character notices your attempt. Your "snatching" skill would influence your chance of success. The brute force approach would only be available for items that are publicly visible (larger items), the other character would always notice, and your success chance would be rolled based on the strengths of you and the other character. So if you're really strong, you can just take things by brute force, but everyone will notice; if you're good at snatching, you have a chance of stealing without being noticed, but it's much lower than the brute force chance.
Another thing I've been thinking about is signatures. When you write a note, you will have the option of signing it; while your signature doesn't tell anyone your identity directly, it will be recognizable, and by comparing it to another signature, it can be verified. This would allow for enforcable written contracts, as well as bank notes and such. Technically, it's probably going to be a randomized bezier line pattern rendered onto a PNG image and tied to your character.
This made me think of a new feature for the game.
Let characters have attributes like height, hair and eye color and maybe some other stuff.
Then you could leave a description of a character to someone and when they later see someone with the same attributes you get a special message.
"You see a young man that might be [name]"
I imagine this would be a fair bit of work to implement. Each character would need a list of characters they can leave a description of. You probably should have to actively choose to memorize a characters attributes to be able to describe him/her to other people.
Physical properties are another thing I've been thinking about; however, a graphical representation, while doable, would contrast heavily with the otherwise text-based character of the game, while a textual representation is really really hard to get right without making it look artificial. So I'm not sure yet how far I'll go with this one. Things like height, posture, hair color, etc., are definitely possible though, and they would probably give enough clues to distribute character descriptions in-game. Automating the whole "looks like X" thing isn't something I see myself implementing though: It's going to be a pain to get right, and I don't see much advantage over manually checking a character's properties against a written note.
When you mentioned publicly visible I recalled the funny thing about Cantr that most people wander around wearing nothing worth mentioning. And yet they can carry up to 15 kg of various stuff.
Will your game also feature the magical ability to carry gas and fluids without any containers and still have your hands free?
So far it does
Cool, I found some milk... on the ground.
When you mentioned publicly visible I recalled the funny thing about Cantr that most people wander around wearing nothing worth mentioning. And yet they can carry up to 15 kg of various stuff.
My thoughts on this:
- Clothes should be a bit more functional instead of purely decorative; maybe there will even be climate zones and weather, and appropriate clothes would protect you from the elements; they are almost certainly going to serve as body armour. The result should be that being naked might be just too risky for most characters, making clothes something like the most important thing after food.
- There is no inventory size limit yet, and once I implement it, I'd like to have it so that the more you carry, the more various important skills (travel speed, agility, etc.) suffer, probably exponentially or something like that, making anything above a certain "soft" limit impractical even though possible. This way, carrying 14.98 kg wouldn't be much different from 15.01 kg, yet carrying 150 kg would cripple your stats to the point that you aren't able to do anything but sit around and talk (just like a real life person with a 150 kg sack of stuff would be immobile for all intents and purposes).
Will your game also feature the magical ability to carry gas and fluids without any containers and still have your hands free?
To be honest, I hadn't given this one much thought really. Guess I'd gotten used the way things worked in cantrII already.
On a side note, I decided to roll out the projects feature even though the project type maintenance page isn't finished yet; I've added just one project type manually (for those who haven't noticed yet). You'll need wood, which can be found in most forest locations, except those that have been plundered already
I have a character who reached a dead end, who needs more wood.
More wood, eh? Let's see...
...OK, now all you need is a forest location. Once you're there, you can start a wood gathering project.
Duh! It just sucks that I didn't pick up enough wood when the I had the chance.
Duh! It just sucks that I didn't pick up enough wood when the I had the chance.
Really? Everywhere that I've been the first thing that I did was check for items and take them all.
That's why there's nothing left anywhere
I just tried to test out the "projects" functionality. I first created a project to gather wood. I said to use my inventory, participate, and start immediately. I had ample wood in my inventory to satisfy the demands, but the material status is 'none'. Immediately after I also created a project to make a pointy stick. Same configuration and immediately the materials appear to be satisfied. Is this a bug or am I misunderstanding what's happening?
Ah, maybe that requires some explanation.
The 'gathering wood' project doesn't require anything at all, as long as you are in a forest location, you can gather wood. The material status 'none' just means that no materials are required. I might re-word that as 'none required' or something like that.
The 'pointy stick' project requires 60 grams of wood, and if you check the 'take from my inventory' checkbox, and your inventory contains enough wood to satisfy the requirement, the status goes to 'satisfied' immediately. If you create a project without storing materials, the list will show you how much is needed.
Then there's the owner vs. participant thing. The project owner is the character that will receive the result of the project when it's finished, but only if you're at the same location at the time, otherwise it will end up on the ground. If the owner is away, or has abandoned the project, other characters can adopt it (but if you go somewhere else and come back before anyone else has adopted the project, it is still yours).
Participants are the characters currently working on the project; you can only work on one project at a time, and you cannot travel while working (at least that's how it's supposed to work). A project that nobody works on doesn't get finished.
And finally, starting a project is a required step before any progress can be made; a project can only be started once all requirements are met. I'll make a better dialog for storing items in a project later, and when I do, I'll also include the option of taking items back out, but this will only be possible before the project is started.
Hmm, one of my characters appears to be making no progress on his stick.
I'm just standing around, whittling a stick and making Monty Python references. (Hehe, banana and a pointed stick!)
Hmm, one of my characters appears to be making no progress on his stick.
Did you put the required wood into the project? Did you start the project? Are you participating? These three requirements must be met, otherwise no work can be done on the project.
NM it works
@Gull: If you mean the account settings dialog, I just fixed that. Over-eager code cleanup on my part
I'm trying to gather wood and it does not seem to work. Can't see any options other than abandon and leave.
Ah, my bad. Inspecting the log, it turns out I forgot to add a message type. Since the entire project update runs in a transaction, here's what happens:
1. Check if project progress can be updated
2. Update progress
3. If progress >= 100%: create project output, delete project, post message
A wooden stick takes two game hours, gathering wood one, and all but one instance of these would have been finished within the next progress update tick, which would trigger the message, which in turn would fail because the "project finished" message type was missing and hence the foreign key check barfs, and as a result, the entire update transaction gets rolled back. After the next project tick, I guess ALL projects with enough resources and participants will be finished. Let the poking begin!
You're working hard Tobias ^^
I have a little annoyance. When I go on a road, the character list indicates a new event on that character and I have to click it to get rid of that. I don't think this should happen since I already know I sent him walking down that road.
I think it's a bug. I believe it didn't always do that.
Also, it seems clicking any tab removes the new event thing as well.
Most of the work has been done in the past two months - laying out the framework, making the web controls library and the ORM code generator, the whole terrain generator thing; the actual game logic is only a relatively small part of the whole thing.
Speaking of which, the update that includes an items and project types editor has just been rolled out. It also features a radically different color scheme for the out-of-game pages, mainly because I'm not very partial of the odd brown/red tint I had, and because I want to use that color scheme for indoor locations (once those exist).
I have a little annoyance. When I go on a road, the character list indicates a new event on that character and I have to click it to get rid of that. I don't think this should happen since I already know I sent him walking down that road.
This is due to the fact that I increased the message update interval form 5 to 30 seconds, and that the first ajax request is fired 30 seconds after the page load instead of immediately (like in earlier versions). This was necessary because my bandwidth usage went through the roof, with 200k ajax requests in 5 days - averaging at ~600 bytes each, but still. As a result, you trigger a postback by leaving the location, which produces a new message, and that message, at the time the response is generated, is still considered unread (which is probably wrong and needs fixing). Clicking anything that triggers a postback, or waiting 30 seconds, will reset the new events status.
Here is a silly request, would it be possible for you to add a favicon to the site, so that when I put it in my bookmarks toolbar, it has an icon. I find it annoying that I have a default page icon in my toolbar. (I usually dont bother having text beside the icons wasting screen real estate.)
Favicon is on the "could have" list for now. Also, a definitive favicon is something I'd make once I have a logo, and a logo is something I'd make once I have a definitive name for the thing, which I don't. Suggestions are absolutely welcome.
Oh, BTW, I just released a new version. Bugfixes and layout mainly.
I think you broke something. Firefox 3.6.8, Windows 7 x64 Professional.
{"name":"602579","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/d\/0d91f02ed364f7acedfef853e971634e.jpg","w":1358,"h":551,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/d\/0d91f02ed364f7acedfef853e971634e"}
Uh-oh. Guess I did. Hold on.
--- edit ---
OK, should be fixed now.
I want to test too please send me a login Tobias.
Ooh, a bunch of new projects. Some requiring stone, I hope I can find some stone...
Feature request, an indicator on the news link to show if unread news are available.
I too am intrigued by this project. Would I be able to get a login as well please?
Ooh, a bunch of new projects. Some requiring stone, I hope I can find some stone...
Here's a hint: Different terrain types yield different resources.
Feature request, an indicator on the news link to show if unread news are available.
That's going to be kind of hard; the news page is a plain old wiki page, and the wiki is, well, let's call it spartan. I can create and edit articles, and there's a simple cross-link feature, and that's about it. For now, this thread is pretty much the announcements thread (but this time, I didn't announce anything here, for which I apologize).
I too am intrigued by this project. Would I be able to get a login as well please?
I guess so.
Meh. I PM'd him one already. But still:
Bug, I'm not working on anything and it wont let me travel. 
I have finished all my stone gathering projects.
exception 'Exception' with message 'You cannot start travelling while you are working on something.' in /home/tdammers/domains/tobiasdammers.nl/public_html/rpg/play/Roads.php:101 Stack trace: #0
Should be fixed now. I was relying on a foreign key with ON DELETE SET NULL, which was supposed to remove your participation when the project gets deleted, but the foreign key wasn't there on the database (only in code). Additionally, when a project finishes, it explicitly removes itself from all participants.
Yes, I can move.
Soon I shall be making food!
I have yet to see the first character to make food. But that probably has to do with the fact that both wheat fields and potatoe patches require a plough to make, which in turn requires 12 kg of wood. That's quite some wood to collect, but I still think this is reasonable - at 400g per hour (in a forest location), 12 kg means 3.75 days.
Also, my thought is that I want ploughs to be transportable, yet heavy enough to avoid dragging them around, sort of between a stationary machine and a tool.
A way to look off into the distance would be helpful, I don't need (or even want) a detailed map, just to know if there is a mountain or water in any particular direction.
Fishing at coastal regions would be nice, (as that seems to be all I can find at the moment.) It is not really required at the moment, as it is just a project that only happens at the beach, and you need a fishing rod, which is just a product of some other project. Where creation of new features is probably a higher priority at the moment.
A way to look off into the distance would be helpful, I don't need (or even want) a detailed map, just to know if there is a mountain or water in any particular direction.
^this
I recently set off for what looked like a mountainous region (that side of the local map was almost entirely gray), turned out to be a forest. No mountains in sight.
I definitely want fishing in the game, probably several kinds - say, angling (using a fishing rod, for which you'd need wood and string, and the string would in turn require either wool or some plant material), spear-fishing (using a spear made of wood, optionally one with a metal tip), and catching fish with your bare hands (with an extreme skill weighting, and a relatively low chance of success, but still possible).
But you're right, new features are first priority. I just implemented repeatable projects; the next steps are probably:
food, eating, hunger and starvation (and related to that, death)
configurable random deviation in project output
projects that block a certain machine
optional tools, producing a performance increase in a project (not sure yet how I'll fit this in the data model)
better control over the way materials are stored in projects
travel speeds depending on weight carried
a skill system
violence, wounds, overall health, weapon usage
About the map: I might add something like "this road looks like it leads into an area of XXX" in the roads list; other than that, the map you're seeing is supposed to give you some clues about the surrounding locations. I experimented with a ray-traced 3D panorama view, but the results took way too much time to calculate while producing horribly ugly images, so I ditched the idea for now.
I have potatoes and milk, which I apparently simply picked up. From the ground I guess.
About the map: I might add something like "this road looks like it leads into an area of XXX" in the roads list
I'd still like the ability to map locations you've been too. I'm afraid to travel because I might not find my way back.
One of my characters been moving along the cost line. Actually found a dead end. I called that location "Left 4 Dead End" for some reason.
Heh, I just looked at the FAQ on the website, and I realized that all the question on it are from me.
As it is now, wouldn't it still be hard for a new character to get food before he starves. If he needs to make a plough and stuff to get any?
I think you should be able to find fruit and berries in the forest at least.
That's what I was thinking. I dun wanna starve!
EDIT:
Feature request: a way to send messages to people that aren't in your current area.
You do that by sending a character with your message.
This would probably make a decent business model in the game.
I never really saw any couriers in Cantr, I wonder why. People always went in person when they needed to get something somewhere.
There was radio transmitters and receivers, but even them didn't seem to be much used. I wasn't really playing in the busiest parts of the world, maybe that had something to do with it.
I have potatoes and milk, which I apparently simply picked up. From the ground I guess.
Yes. I made a couple resources out of thin air and spread them over all locations. Since rot isn't implemented yet, these things currenly just lie around.
I'd still like the ability to map locations you've been too. I'm afraid to travel because I might not find my way back.
There will be notes, which will allow you to at least write down where you've been and how to get there. You will need paper to write on though.
One of my characters been moving along the cost line. Actually found a dead end. I called that location "Left 4 Dead End" for some reason.
Yes, there are dead ends. Somewhere down the pipeline, I plan to add sea travel, making such a coastal dead more attractive.
As it is now, wouldn't it still be hard for a new character to get food before he starves. If he needs to make a plough and stuff to get any?
I think you should be able to find fruit and berries in the forest at least.
Yup, I'll make a few less resource-intensive ways of finding food - picking berries, fishing, hunting - basically, the hunter-gatherer thing. In real life, agriculture (even of the primitive kind) requires effort, and is only really viable if you settle, and I want to mimic these effects.
That's what I was thinking. I dun wanna starve!
You won't starve, at least not now. Hunger and starvation aren't implemented yet. And when I do implement them, I'll first make sure finding food is not brutally hard.
Feature request: a way to send messages to people that aren't in your current area.
I won't do this. At least not an easy way. Once there are notes, you are free to set up a postal service, leave notes for other characters, or transmit messages orally, but as I stated before, the tech level I'm aiming at is 19th century. So maybe, just maybe, there could be telephones, but if I make them, they will be horribly expensive, and far below modern telephony standard.
Restricting communication this way has interesting consequences for the game dynamics.
I might implement OOC messaging, but just like cantrII, I want to maintain a "capital rule" which says you're not allowed to exchange in-game information using OOC communication.
There was radio transmitters and receivers, but even them didn't seem to be much used. I wasn't really playing in the busiest parts of the world, maybe that had something to do with it.
They were used in the busier parts of the world. I had characters in Akypor and Klojt, and also in the Pok Desert area, and the local authorities had radio equipment which was mainly used for law enforcement and trade. Radios in cantrII were quite expensive to make, requiring rare metals and a few steps to build; you'd need a quite organized bunch of people, and probably a few trading connections, to make one.
I just met myself, and didn't realize it until messages started popping up on one of my other characters.
Very nice. Means the separation of characters and players works well.
I ran into another problem. My second character, the explorer, can't go on the roads. He has only been travelling... The error message only says "(SQL)"
This unfortunate error made me have a look at what was on the ground and I found Cellulose pulp... I wonder what that's for and why it was found on the beach?
My second character, the explorer, can't go on the roads. He has only been travelling... The error message only says "(SQL)"
Yea, my explorer is having this issue as well.
Looks like something went wrong. I'll look into it.
-- Update 1 --
The cellulose pulp is due to me not using my own tools properly. I wanted to add cellulose pulp as a new item type, but apparently, I overwrote potatoes. So all items that were potatoes are now cellulose pulp. Fixed.
-- Update 2 --
Guess I was too quick deploying the load-carried-influences-travel-speed update. It's fixed now though.
Guess I was too quick deploying the load-carried-influences-travel-speed update. It's fixed now though.
I had notice that the 2nd last journey took way too long.
But in good news, I have found my new home of "Rock Pass", It has taken me days of searching, but I have found somewhere to set up a settlement. Will there a way to put up a sign, or do I just have to tell everyone that arrives, where they are.
Edit: Thanks for the favicon as well.
I could go on the road again. But I don't think my character is getting anywhere... I'm only carrying about 8 kg, but I seem to be stuck.
I had notice that the 2nd last journey took way too long.
The travel speed calculation was all wrong; somewhere, I interpreted a float value as kilograms instead of grams; so where the intention was to halve the travel speed for every 8 kg carried, it halved it for every 8 grams. Since most characters were carrying at least a few hundred grams, the resulting speeds were practically zero.
The only problem with the bugfix is that in fixing existing travels, I just set everything to 36, which means some travels have probably reversed directions.
But in good news, I have found my new home of "Rock Pass", It has taken me days of searching, but I have found somewhere to set up a settlement. Will there a way to put up a sign, or do I just have to tell everyone that arrives, where they are.
At some point, you will be able to make signs. For that, I need a mechanism to add parameters to project, so that for things like signs, landmarks, notes, but also building and ships, you can enter text that should be put on the resulting object. It's in the pipeline, but needs a bit more thinking before I start implementing it.
On a side note, I noticed that you named your character after yourself; the idea is to separate players from their characters, so that others won't be able to tell who is playing which character (it's part of the "Capital Rule", which I pretty much intend to "borrow" from CantrII).
Edit: Thanks for the favicon as well.
You're welcome. And anyone starts trying to deduce information from that image, or the background image: That island, although generated by the same algorithm as the in-game terrain, is not used in the game itself.
I looked up the Capital Rule, having never played CantrII, and it was basically what I expected. All characters played by an individual need to be individual characters with no information cross over. Naming a character after myself does not come close to breaking the rule. I am not sure I could play characters totally separate from each other, which is why in this sort of game I only ever have a single character.
Usually when I start a game, I create a male Timorg character and use them to understand the dynamics, then create a character with a totally different name to play, unfortunately I have become attached to this Timorg, and if characters only live to 100 years, I am going to very upset when he perishes in 180 days.
But I understand the world needs to keep on turning and long lived characters will reduce the vibrancy of the world.
Is vibrancy the right word in that context?
Edit:
But this is your game, you make the rules.
I really do like where my character is going.
One of my characters was with someone, but that person left, and now he's along. For now, I'm going to have him make paper.
I looked up the Capital Rule, having never played CantrII, and it was basically what I expected. All characters played by an individual need to be individual characters with no information cross over. Naming a character after myself does not come close to breaking the rule. I am not sure I could play characters totally separate from each other, which is why in this sort of game I only ever have a single character.
I consider this an edge case - if there were no way for players to communicate outside the game, then naming characters after yourself wouldn't be problematic. But now, we have a character named Timorg, and a player named Timorg, and both are potentionally known to other players. So when one of my characters encounters a "Timorg" character, I (the player) knows it's you, and I can abuse this information (although that would be a Capital Rule breach on my part, too). Part of the Capital Rule in cantrII also says that your character cannot give other characters any personal information about you as the player: you are strictly forbidden to post your username, e-mail, IM ID, and anything else that could allow people to contact you, while playing your character.
Usually when I start a game, I create a male Timorg character and use them to understand the dynamics, then create a character with a totally different name to play, unfortunately I have become attached to this Timorg, and if characters only live to 100 years, I am going to very upset when he perishes in 180 days.
But I understand the world needs to keep on turning and long lived characters will reduce the vibrancy of the world.
I haven't made up my mind about dying of age, but I'm leaning toward "yes". OTOH, characters in cantrII did not die of age (they kind of planned this, but haven't implemented it yet), and this never posed any apparent problems - there were some people who were "very old", but because most players didn't have the stamina to consistently role-play a character for more than half an Earth year, there weren't too many of them. Most characters were abandoned before age 30, and after that, very few proceeded past 60.
If I do implement it, it's not going to be a fixed age, but rather an increasing chance of spontaneously dying, so that dying of age at 40 is extremely unlikely, but living more than, say 120 years, is even more unlikely.
Oh, and in some other news: There is now one dead body in the game. You can't bury it yet, and your characters won't die unless you make me kill them (through SQL).
The list of projects is growing. I hope it will be better organized in the future so navigating to find the project you want wont be cumbersome.
Yes, I know. A project type search box is an absolute must, and coming soon. The drop-down is just a quick solution for now, so that I can have projects at all. I'm even thinking of adding a detailed wiki-like library of all item and project types in the game, so that you could look up things, e.g. suppose you want to make a small horse carriage, you could search for that in the library, and it would tell you something like:
Land vehicle.
Weight capacity: 1200 kg
Seats: 3
Travel speed (empty): 60 px/h
Travel speed (fully loaded): 30 px/h
Project required to build: "Assembling a Small Horse Carriage"
And then you could click the project link, and it would tell you what ingredients and tools you need, how long it takes, and what the output is - pretty much what the current "create project" page does, only that from there, you could click further to the library pages of each material, tool, etc.
Yeah the wiki is a must. It's way too troublesome to get an overview of what you need otherwise.
I will have to think of a new name for my town, fortunately as no one knows my characters name, or the location of Rock Pass.
I will just have to tell them some thing different from Timorg, if anyone ever inquires about what my name is.
(Unless a character name change is possible.)
My mother is the only person that uses my real name, so doing that in character, wont be something unique for me.
Something I have been thinking about is funding this project. Paying/donating customers could have more of the pages auto-update regularly, or pages could update more often. That is the only feature that I can think of at the moment, that will not balance the game in the favour of paying customers, but still give a reward to them. I used to pay the $1 a month to tribal wars to not have the adverts.
Although, I am sure you have something in mind to fund this project.
I will have to think of a new name for my town, fortunately as no one knows my characters name, or the location of Rock Pass.
I will just have to tell them some thing different from Timorg, if anyone ever inquires about what my name is.
(Unless a character name change is possible.)
It's not possible yet, but it's one of the thing I'll add sooner or later.
Something I have been thinking about is funding this project. Paying/donating customers could have more of the pages auto-update regularly, or pages could update more often. That is the only feature that I can think of at the moment, that will not balance the game in the favour of paying customers, but still give a reward to them. I used to pay the $1 a month to tribal wars to not have the adverts.
Although, I am sure you have something in mind to fund this project.
A quicker auto-load DOES put paying customers at a favour: they know things earlier than others, even though it's only a matter of seconds.
I was thinking about selling in-game items with purely decorative value, such as stickers, paintings, unusual clothing, etc. The only in-game advantage of this would be that if such items become desirable, you could sell them for a profit; or if a culture were to develop in-game where people wearing "special" clothes are worshipped.
Increasing the character cap for paying customers would be another option: As long as the "Capital Rule" is obeyed, having more characters doesn't give you any advantage, but you can still get more out of the game.
On a side note, if anyone is interested in the source code (a few people mentioned), PM me.
I looked up the Capital Rule, and something about it bothers me. On the site where I found it, here, it has some guidelines under the main description of the rule, and I have a problem with two of them:
You are not allowed to have more than one character in the same organization.
You are not allowed to have more than two characters on the same location.
It seems to me that you would have to use out of character information, namely your knowledge of your own identity as the player, to follow these guidelines. In-game, the characters may both have good reasons to be in an organization, or to be in the same location. And you'd have to go against role-playing to avoid that.
I don't know how important these guidelines are considered relative to the Capital Rule, though.
I just thought of a nice feature to have! Some way to take notes for our characters so that we don't break the capital rule by mistake, in case there's a fact that only my first character should know, and I make the mistake of acting like my second character knows it. We could also use it to store some history for the character (like maybe have the character's back story there, and maybe the long term goal of the character, etc.). Basically a storage of info that only we should know.
I mean, if we get big enough that we have groups or something, and a group has a password system in place, it would be silly for a character to say the password to a member because I forgot that character didn't interact with the group yet. Even more if the character who I said it to was the one who told another character the password.
You could use ingame paper to keep notes, make a diary or something.
That brings up another thought I used to have about notes. Sometimes they got rather big. Could we get a way to make multi page notes? With navigation like, next, previous, go to page x.
Also now that paper is a measurable resource. Will note size be limited in some way depending on how much paper you have?
To my knowledge, the RSS protocol itself does not contain an authentication mechanism.
Um... RSS doesn't need to, it's just a data format. You ARE sending it over HTTP, no? Last I checked HTTP had several authentication methods (I think it might be extensible, but I'm not sure, if memory serves, the last time I looked in IIS there was about 5.)
RSS with session state is sort of clumsy - most RSS clients support sending cookies, but not receiving them or displaying a login form.
Also, if you're using session cookies, I hope you're using HTTPS for the entire session, because if you're not, anyone on the same network as someone else who is playing can steal that players session by inspecting the packets going back and fourth (which contain the session cookie).
Also, if you're using session cookies, I hope you're using HTTPS for the entire session, because if you're not, anyone on the same network as someone else who is playing can steal that players session by inspecting the packets going back and fourth (which contain the session cookie).
Actually, that shouldn't be true. Devices on the network should send packets directly to the router, which should send it directly to the next router in the chain or directly to the receiver (or to bridge devices in between). All packets aren't broadcasted to the entire network.
The Firesheep thread is about unsecured wireless networks, which transmit the network traffic unsecured through the air, which can easily be heard by those listening for it.
Disclaimer: I'm not a networking expert.
Actually, that shouldn't be true. Devices on the network should send packets directly to the router, which should send it directly to the next router in the chain or directly to the receiver (or to bridge devices in between). All packets aren't broadcasted to the entire network.
You would think that -- but unmanaged routers/switches are actually very dumb, and for the 50% of the time that they're working, the other 50% they are not... When we packet sniff our enterprise network we see ALL KINDS of data that has no business being on our particular nodes -- so it's kind of hit or miss.
The Firesheep thread is about unsecured wireless network
Firesheep does NOT require a wireless network, just a shared network and cookies that bounce around via unencrypted http packets...
Edit: Anyway, back on topic, just use HTTPS+Authentication and bam, you have secure, authenticated RSS feeds.
You would think that -- but unmanaged routers/switches are actually very dumb, and for the 50% of the time that they're working, the other 50% they are not... When we packet sniff our enterprise network we see ALL KINDS of data that has no business being on our particular nodes -- so it's kind of hit or miss.
I can't dispute that, but the whole point of a router is to route packets. If it's passing them all over the place then I would assume either a cheap (i.e., broken) device or a misconfigurated network.
Firesheep does NOT require a wireless network, just a shared network and cookies that bounce around unencrypted.
I suppose a Firefox extension isn't going to care what interface it's listening to, but it was apparently designed with unsecured wireless networks in mind (albeit, I suppose broken wired networks fall under the same category).
Tiny issue: In Firefox I get horizontal slider in character pages.
Doesn't happen in Chrome or Opera.
The layout is just a few pixels too wide.
Hit Cntrl- a few times to make the font smaller?
Font size doesn't matter.
Bah, its your fault Trezker, I hadn't noticed it before, but now I am unable to not see it.
Firesheep does NOT require a wireless network, just a shared network and cookies that bounce around via unencrypted http packets...
It requires a network that uses a particular structure. Like a wired lan using a hub, or a WiFi network where a lot of traffic from other users is available by sniffing. If you have a wired lan, and use a switch, most network traffic is not visible to you at all.
If you have a wired lan, and use a switch, most network traffic is not visible to you at all.
Not sure how this is now-a-days, but it used to be quite possible to spoof enough MAC-addresses to force the switches on a network into hub-mode.
It seems to me that you would have to use out of character information, namely your knowledge of your own identity as the player, to follow these guidelines. In-game, the characters may both have good reasons to be in an organization, or to be in the same location. And you'd have to go against role-playing to avoid that.
I don't know how important these guidelines are considered relative to the Capital Rule, though.
It's kind of a dilemma, I admit that, but IMO, moving one of your characters and making up an in-character justification is easier to role-play than constantly ignoring all your knowledge when roleplaying two or more characters in the same situation. Also, these two specific rules are easier to enforce, since the situation is always clear, whereas violations of the "no outside knowledge" rule are much, much harder to (dis)prove.
Also now that paper is a measurable resource. Will note size be limited in some way depending on how much paper you have?
Definitely. A simple note would be limited to an amount of text comparable to what you could write on a single sheet of paper (have to research a bit how much that is, in hand-writing), and you would be able to bundle several pages into a book. Similarly, drawing (and expanding) a map would also require paper proportional to the area you're mapping out.
Tiny issue: In Firefox I get horizontal slider in character pages.
Doesn't happen in Chrome or Opera.
Probably due to how Firefox handles box shadows. I was sailing on the edge of validity anyway, putting a display: table-row on the <form> element (yuck!), so I fixed it all while I was at it. Now it uses absolute positioning and padding, which isn't as nice, but at least it's standards-compliant and it should work, without resorting to table-based layout.
It would be nice to get a time estimate on how long a project has until it is complete. Once you've started there doesn't seem to be any way to see how long you have until you're done.
It would be nice to get a time estimate on how long a project has until it is complete. Once you've started there doesn't seem to be any way to see how long you have until you're done.
I've been thinking about this, but it's harder than you think, mainly because projects can have a random duration deviation; if you know from the beginning how long exactly it is going to take, then you'd just create a bunch of identical projects and finish the shortest one. So the "estimated time left" needs to be the project's nominal duration when you start, and then slowly approach zero until you're finished, which means the duration the engine uses to calculate depends on the progress you've already made: at 0%, the nominal duration is calculated, at 100%, the actual duration is used, at 50%, the average of both (or maybe I should use a nonlinear mapping, to avoid giving away the actual time too early).
I suppose a Firefox extension isn't going to care what interface it's listening to, but it was apparently designed with unsecured wireless networks in mind (albeit, I suppose broken wired networks fall under the same category).
If you have a wired lan, and use a switch, most network traffic is not visible to you at all.
Not sure how this is now-a-days, but it used to be quite possible to spoof enough MAC-addresses to force the switches on a network into hub-mode.
Keep in mind, unmanaged routers and switches don't route traffic for security, they do it for network optimization... meaning that IF the unmanaged router/switch knows where to send the data, it only sends it there -- if it doesn't know where to send the data it sends it on all ports -- this isn't "broken", it's the desired behavior (and the only way for the device to learn). Any big network with unmanaged smart devices (ex: switches instead of hubs) will behave this way (and with limited memory, the devices can only "learn" so much before they have to forget something to learn something new.) It's my understanding that firesheep was written to help motivate big sites like facebook into using proper HTTPS security for the entire session.
Sorry to derail the thread so much. Carry on. 
{"name":"duty_calls.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/8\/686d0d2d97cf2974b81c039d17539908.png","w":300,"h":330,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/8\/686d0d2d97cf2974b81c039d17539908"}
Keep in mind, unmanaged routers and switches don't route traffic for security, they do it for network optimization... meaning that IF the unmanaged router/switch knows where to send the data, it only sends it there -- if it doesn't know where to send the data it sends it on all ports -- this isn't "broken", it's the desired behavior (and the only way for the device to learn). Any big network with unmanaged smart devices (ex: switches instead of hubs) will behave this way (and with limited memory, the devices can only "learn" so much before they have to forget something to learn something new.)
I still consider it broken to have devices in the network that under normal operating conditions don't know where to send packets. That's just going to slow down the network due to unnecessary collisions (i.e., only one person talking at a time). I don't consider the devices broken, but the configuration of the network. Whoever sets it up should make sure to use the right devices in the right places to keep everything organized so that the network does know where to send packets (or at the very least, limits the broadcast as much as possible).
Both resident and persistent storage are cheap these days so I don't really buy the whole "only so much they can remember" bit. It shouldn't be hard to remember the nodes directly connected to you and know which nodes are communication devices (i.e., other switches or routers) and which ones are clients.
Again, I'm not an expert. I just think that it's wasteful and poor etiquette to allow a network to yell out everybody's requests unnecessary. I'm sure it's possible to configure a network of any size not to. Whether or not the networking personnel have the knowledge and funding to do so is another question.
I still consider it broken to have devices in the network that under normal operating conditions don't know where to send packets.
The device doesn't know where to send it if it hasn't sent it there before. That's hardly broken. It isn't efficient or practical to micro-manage the network to the extent you're suggesting.
Please, learn a bit about how networks work before you criticize them.
I somewhat agree with bamccaig, but the problem isn't that the device doesn't know where to send packets because of the network config. Its more like someone has maliciously spoofed a bunch of mac addresses, causing the switch's routing table to have nonsense data in them, so it doesn't know where any of the devices connected to it are. At that point all a dumb switch can do (ie: not a fancy router) is send at least one packet from each device to all ports, and then notice which mac the reply comes back on. But if that malicious user is still spoofing, the switch isn't going to be able to keep up.
The device doesn't know where to send it if it hasn't sent it there before.
If you're continuing a Web session then more often than not the device has seen you before. The only exception might be when the network is micromanaging which routes to take.
Happy New Year, it is no longer year 1.
If you're continuing a Web session then more often than not the device has seen you before. The only exception might be when the network is micromanaging which routes to take.
Okay, and when you're continuing a session, the packets shouldn't be flooded out every switchport. This thread is boring, so I've only read the last several posts, so maybe I'm missing something from this whole story.
Fuck, really? Seriously? I only even commented to say: 1.) Use HTTPS, 2.) Use RSS + HTTP Authentication...
I don't consider the devices broken, but the configuration of the network.
By definition you can't configure an unmanageable device. 
Further, you shouldn't be configuring your managed devices at a micro level, as said above, it's just not practical. To reiterate: any security you get by using smart devices (switches/routers) instead of dumb devices (hubs) is completely by accident; the smart device's primary function is to optimize for SPEED, NOT SECURITY, and most devices in real world scenarios are going to have lots of misses no matter how well you configure them.
Even if you had your managed router/switch micro managed down to the last detail*, as was noted above, anyone can spoof what port an address is on, and confuse it into sending data down those ports or even put the thing into full broadcast mode.
(*I am aware of some high end Cisco routers that require you to associate a mac address with a specific port, but they're VERY expensive, and even then it's only to prevent you from plugging in an unauthorized device, not to securely direct traffic... if the router can't figure out where to send it, it will still broadcast on all ports -- consider the scenario where multiple routers are chained together, the maintained address list gets exponentially big... and it's not just a memory issue -- it comes down to speed -- is it faster to broadcast on all ports and let the child routers sort it out, or to do a crazy expensive lookup to figure out which port to send the data too... -- and then what if the next router/switch in line decides to do a broadcast anyway...?)
Another point entirely: Even if you had a "security optimized" router no matter how few people on your local net see your cookie packet, if you're connected to the internet SOMEONE is upstream from you, be it your ISP, third parties between you and your ISP or third parties between your ISP and the internet... (where the third parties may or may not be authorized to be there...) all of those entities have complete access to your unsecured session cookies and can do whatever they please with the data (ex: find out your private facebook information and sell it to telemarketers...)
If you want to discuss this further, PM me, I feel really horrible about derailing this game's thread. My sincere apologies, Tobias.
Touché. I suppose I naively thought that wired networks were more reliably managed (networking class was pretty confusing...). That wouldn't excuse the lack of encryption for truly sensitive data, such as bank credentials, but it certainly would make a wired attacker far less effective than an unsecured wireless attacker.
Derailing threads is how we learn stuff.
Besides, in the interim between updates and feature requests, we're just keeping this thread alive.
Besides, in the interim between updates and feature requests, we're just keeping this thread alive.
I guess I should, uh, thank you?
Anyway, I've rolled out a quick update that fixes a few minor bugs. Having these out of my system, I'll see if I can give you a few more features soon.
Here's a list of things I'm considering:
#5 - allow players to change their own characters' names
#6 - display remaining time for a project (see an earlier post for the problems)
#7 - allow removing inactive projects (getting you back a part of the used resources, though with a penalty)
#8 - a more fine-grained way of adding resources to a project
#9 - giving items to other characters
#10 - notes
#11 - automatic items and projects encyclopedia (based on actual game logic data)
#12 - add a message when you receive an item
#13 - limit a machine usage to a maximum number of projects per machine (need to find a better word than "machine", because things like wheat fields, apple trees, beehives, etc. also belong in this category)
#15 - implement optional tools, and efficiency advantages for some tools on the same project; for example, you can harvest potatoes with your bare hands, but if you have a suitable tool, you will harvest more in one hour
Any favourites among these?
Heh, feels a little like choosing what tech to research next in Civilization.
I have two favourites.
#10 - notes
#9, #12 - giving items to other characters, and message for receiving.
I thought it was strange 9 and 12 was two different entries...
9 would of course work without 12, but it would be greatly missed.
#12 is also aimed at items you receive because a project you own has been finished or dissolved. But you're right, when I implement #9, #12 is pretty much a must-have.
I'm just trying to figure out which feature would produce the most payoff in playabilty.
And I forgot:
#16 - Skills
#17 - Food and Eating
#18 - Wounds and injuries
Rest of this post is blabbing about these three, skip it if you're not interested.
Regarding skills: I'm thinking a two-level structure, with base stats (motor and sensor skills) at the bottom, and individual skills (cooking, hunting, tool-making, gathering, beating people to a pulp, etc.) on top of that. A "genetic" base for each of them, and then the following factors to influence it:
food
long-term effects of training (small increase, slow decrease)
short-term effects of training (larger increase, rapid decrease)
Regarding food: Characters should auto-eat like in CantrII so you can leave them alone for a few days without them starving on you. However, I always found it annoying that you didn't get to choose what they ate, so I want to have a "meal list" where you can move items from your inventory. When auto-eating, the character would first pick things from that list (sorted by tastiness, not efficiency like in cantrII) and eat until they're "full" (determined by "fillingness", not "calories" like in cantrII). Only when the meal list is depleted, the character would continue through the regular inventory, again starting with the tastiest items. Also, I want some basic food properties, roughly reflecting properties of real food, such as:
tastiness (higher value makes characters prefer this food)
fillingness (higher values mean the characters eats less of this)
calories (too many calories cause obesity, too few cause undernourishment and eventually death)
carbs (good for agility and endurance)
fats (good for dexterity and sensor skills)
proteines (good for strength, necessary for wounds to heal)
I will not have the silly healing food thing cantrII has; rather, wounds should heal on their own, but better so if provided enough proteines.
Regarding wounds: Instead of just an overall hit-points counter, I want a list of wounds. When you stab someone, their description will show a stabwound, and depending on where you land it and how deep it is, the consequences can be instant death, severe bleeding (eventually causing death), less severe bleeding (causing temporary nausea or similar disadvantages), and maybe even infections. Non-fatal wounds would heal over time; if the healing takes too long, you bleed to death. This way, several small wounds, none of which is fatal by itself, would still cause death over time, especially when you're low on proteine food. Since there can be different types of wounds, there can also be different effects (reduced strength, agility, dexterity; inability to move/travel/attack; inability to speak/hear/see; unconsciousness; increased or reduced appetite), and different treatments, and it would allow for modelling all sorts of interesting diseases.
I guess I should, uh, thank you?
Who said we were doing it for you?
Sounds like you've got a pretty advanced nutrition program planned.
Anyway I just caused a need for #7, because of a bug.
I started making a paper press. Then I clicked the project again, and it disappeared along with my wood. In my confusion I created another paper press project...
Then I found the finished paper press in my inventory on the ground. It seems two days went by in a few seconds...
EDIT: Same thing happened with stone cleaver. So it's not just the paper press. Except the stone cleaver is in my inventory.
Whee, update! I implemented (rudimentary) notes functionality!
I saw it. So you create a note like that. But can it be edited later?
I working on the grinding stone now so we can soon make some paper.
You can't edit for now, but you will be able to. I just need to figure out two things; first, how do I fit editing (or rather, expanding) a note into the whole project model, and how will signatures fit in the picture. Ideally, want I want to make possible is that each note can be signed while created, and each subsequent edit appends to the end, optionally adding another signature. So you could have:
text text text --- signature --- text text text text text --- signature ---
...and you'd know that the second block of text was appended after the first signature was made. But this would mean I either have to hack the signature into the note text itself (which would require a fair amount of cryptography to prevent forgery), or I'd have to make the project data model more complex than it is already.
Now, I haven't tried your game, but in a game where a user does not really have a name - what is the signature? Can you just sign with any string? What would then prevent forgery in the sense of "this isn't my signature" (since a string is always going to be trivial to copy, unlike a real-life signature)?
Tobias, currently, projects are listed in a drop-down box. This is all nice and dandy now that there are relatively few projects to add... But what about later when there will be tons of stuff to do?
A drop-down menu that spans several screen would not be an ideal solution IMHO. But I honestly forgot how Cantr did it. Maybe a categorized list?
Housing Weapons ...
And, for example, if you would click on Housing, it would open up new links below:
Housing + Stone room + Stone house + Mud house ... Weapons
Or maybe even sort them based on material?
Housing + Stone + Stone house + Stone room + Stone door + Wood + ...
Just a suggestion.
Now, I haven't tried your game, but in a game where a user does not really have a name - what is the signature? Can you just sign with any string? What would then prevent forgery in the sense of "this isn't my signature" (since a string is always going to be trivial to copy, unlike a real-life signature)?
He already answered this earlier.
Tobias, currently, projects are listed in a drop-down box. This is all nice and dandy now that there are relatively few projects to add... But what about later when there will be tons of stuff to do?
I believe he already addressed this as well. IIRC, he said that the drop down was just to get the system working and eventually it will be updated with more advanced functionality.
Oh sorry, must have missed that post, this thread is just getting so much attention. 
Well, back to making notes.
I believe he already addressed this as well. IIRC, he said that the drop down was just to get the system working and eventually it will be updated with more advanced functionality.
Indeed. I'm currently leaning toward expanding the wiki to include item and project types, based on in-game data; with a few extra tricks here and there, the wiki can then be used as a comfortable search function - just search for the item you want to make, and click your way through the wiki until you find the project you need.
I just started a mashing project with two repetitions. But it only added wood for one repetition from checking the option to add materials. So I had to press add from inventory to add the rest after creating.
EDIT: Now I made a 3 repetition project. I had to add stuff form inventory for every repetition. This really sucks if you want to do lots of repetitions.
@Trezker: Solved in my test version. The bugfix is going to be in the next update, which will also feature a completely rewritten "writing" part (the first attempt turned out to be horribly inflexible and also plain wrong in terms of data structures). You'll be able to write notes, and add more text to existing notes (but not change or erase previously written text). I feel that this is closest to how real paper and real ink behave. Also, the more text you write, the longer it takes, and enabling other objects to be written on is going to be relatively trivial (as in, a data-only thing). I just have to add a little indicator that tells you how much more text you can fit on the note. So, a little more jquery trickery and I'll have a nice new feature.
I have a little interface issue. When you first log in you get to choose character on the left side. But then that menu jumps to the right side and for a moment I get confused and think I still need to select a character.
I'm beginning to feel I'm constantly nagging about features...
I have a little interface issue. When you first log in you get to choose character on the left side. But then that menu jumps to the right side and for a moment I get confused and think I still need to select a character.
I don't get confused by it, but I do find it a little bit distracting. My eyes are usually on the menu when the page changes and then suddenly I see it jump to the other side of the page. I think it would be more consistent if it stayed put, but that's just one opinion.
Yeah, the character list position isn't final yet. The reason I put it right in the in-game screens is that it's less important there, but I agree that having it jump back and forth is irritating.
BTW, I just rolled out another update.
BTW, I just rolled out another update.
I giggle like a schoolgirl every time I see that. Keep on the good work, I'm really enjoying the game.
Feature request: estimated completion time for projects. E.g.
Created: Year 1, day 1, 00:00
Started: Year 1, day 1, 0:00
Progress: 0%
Repeats: 1
Completion time at current rate: Year 1, day 1, 13:00
Also: there's a misspelling in the game. Or Dan Quayle has been editing the Wiki.
Feature request: estimated completion time for projects.
I believe this was addressed earlier too.
Tobias: the map server returns images of maps even if its not a map of my character. Here is an image of where character with the id 1 is:
Feature request: estimated completion time for projects. E.g.
Quote:
Created: Year 1, day 1, 00:00
Started: Year 1, day 1, 0:00
Progress: 0%
Repeats: 1
Completion time at current rate: Year 1, day 1, 13:00
I'd love to have this too, but as I said before, this isn't as trivial as you might think, due to the random deviation added to a project's duration. I don't want to give away that deviation instantly, because then people could just set up the same project multiple times and go with the fastest one. It'll have to be something like, display the non-deviated completion time at the beginning, and slowly transition into a more accurate estimate as the project progresses.
Also: there's a misspelling [rpg.tobiasdammers.nl] in the game. Or Dan Quayle [secure.wikimedia.org] has been editing the Wiki.
Fixed. 
Tobias: the map server returns images of maps even if its not a map of my character. Here is an image of where character with the id 1 is:
Should be fixed now. Try it.
I just wrote my first note. But it doesn't seem to complete. My status is saying "Writing". But the note is already available in my inventory, what would happen if I drop it before I'm done writing?
Anyway I think it's a bit strange that it has to take ingame time to write a note when you have to take real time to type in the text anyway.
Update time!
I just wrote my first note. But it doesn't seem to complete. My status is saying "Writing". But the note is already available in my inventory, what would happen if I drop it before I'm done writing?
Notes should now finish, although it may take some time to write longer ones.
The reason writing takes in-game time is twofold.
First of all, in cantrII, I found the sheer amount of notes and the casual way in which people exchanged them unrealistic and disruptive of the role playing experience. I've seen people do entire conversations using notes, at the same speed others would talk. Copying a note takes no time at all in cantrII, even if the note is in fact a huge book - you could make a dozen Bibles (or Books of the Onion or whatever) in a matter of seconds, while working on something else. In real life, having to resort to writing instead of talking significantly impacts the communication, and I want it to be similar in the game. In other words, writing should be significantly more expensive than talking.
The second reason is that I'm thinking about modelling writing skills. Someone who has good reading & writing skills will finish notes within seconds, someone with a lower skill level might take longer, and someone completely illiterate could be prevented from reading and writing notes altogether (showing text in notes as "lorem ipsum" or "blah blah blah" or something like that, only revealing the length of the note, but not the content).
I also made it so you can't drop notes or give them away until you're done writing. The reason the note is in your inventory goes like this: Normally, when you start a writing project, you write on an object that is, well, writeable - a note, a booklet, a book, or maybe something else; however, since "paper" is a splittable resource, the engine cannot allow writing on paper directly. To allow writing on paper without burdening you with having to create a "turn paper into note" project, a special case has been added that allows selecting "paper" for writing. When you do this, a note is created for you behind the scenes, and the writing project is attached to that note.
I think that it makes sense for notes to take some time to write. I can certainly type a LOT faster than I can write. Not to mention that the more you write the more difficult it becomes (because your hands get sore over time, etc.).
Sounds a bit complicated, but workable.
I think your reasons are good.
Well now we have paper and I have written my first note, maybe the first note in the world? I hope people will do some creative stuff with booklets and stuff.
My characters are in the process of getting the needed stuff to write notes.
A few ideas on completion time estimates: (from someone who never played cantr or this game)
1) Give an inaccurate estimate and also
2) Update the given estimate only after some progress (like every 10%)
3) Split each project into milestones (maybe one for each 10%) and only show time until the next milestone (and instead of choosing random completion time for the whole project, randomize each milestone so that even optimizing the first milestone [which is all the you can see when you start the project] won't help much since the other milestone will have a bigger effect)
4) In relation to 3, you could even have variable and logical milestones that you'd expect on the project, for example a "shed" project might have:
0% - started
10% - dug foundations
18% - foundations filled with concrete
25% - support pillars connected
60% - walls attached to supports
75% - roof built
100% - roof shingled
Maybe even abandoning a project at different milestones could lave you with different results.
Well now we have paper and I have written my first note, maybe the first note in the world? I hope people will do some creative stuff with booklets and stuff.
Well, I can confirm that there is currently exactly one item of type "note" in the game, so yes, yours is the first.
Sounds a bit complicated, but workable.
The code is hairier than the user side of things. The only thing I see that isn't entirely logical is that the sheet of paper magically turns into a note the minute you start writing on it.
Oh, and as far as aborting write projects are concerned; progress is currently modelled as number of characters written, so when a write project gets aborted, I could write out partial text and leave it at that. But since writing projects are generally very short (most should finish within a few minutes real-world time), I don't see a lot of necessity for this right now.
Slartibartfast has some good ideas. Too bad none of the projects have milestones that would make sense though. Other than the repeating stuff (like when a cycle is done, make a note of that)
1) Give an inaccurate estimate and also
I'll probably end up doing this - indicate the normal duration when starting, and slowly slide into a better estimate as the project progresses. Another idea I had was that the progress might be indicated verbally, e.g., "Currently working on building a house, about halfway done".
2) Update the given estimate only after some progress (like every 10%)
I don't really like this one, don't know why exactly - it feels wrong somehow.
3) Split each project into milestones (maybe one for each 10%) and only show time until the next milestone (and instead of choosing random completion time for the whole project, randomize each milestone so that even optimizing the first milestone [which is all the you can see when you start the project] won't help much since the other milestone will have a bigger effect)
As long as the milestones are purely decorative, that is, they only determine what gets displayed as the progress, this is doable.
4) In relation to 3, you could even have variable and logical milestones that you'd expect on the project, for example a "shed" project might have:
0% - started
10% - dug foundations
18% - foundations filled with concrete
25% - support pillars connected
60% - walls attached to supports
75% - roof built
100% - roof shingled
Maybe even abandoning a project at different milestones could lave you with different results.
Nice ideas, but in practice, I fear the data model would grow way too complex. The project type editor is a bitch already, even though all the building blocks are automatically generated.
All in all, I'm currently leaning toward a simple solution, with a textual representation of the estimated completion time.
Well, I can confirm that there is currently exactly one item of type "note" in the game, so yes, yours is the first.
The First Note has been written. We must travel the world and spread its message!
Heh, it doesn't say anything of importance. But the guy next to me is binding a booklet. Perhaps he will write some sort of sacred text.
Well, my one character that was actually interacting with folk got left behind. Now he's making the tools needed to make paper. Once done, I don't know what I want him to do.
Maybe I'll make a beggar or something, and have him focus on just finding folk and asking for stuff. I expect him to be the first to die when that system is in place.
Heh, it doesn't say anything of importance. But the guy next to me is binding a booklet. Perhaps he will write some sort of sacred text.
Make up stories of magic and wonder.
Record them in a book.
Duplicate the book and distribute it all around.
Preach about worshiping the magical and wondrous.
When the game gets popular recruit the sheeple.
Profit.
"20 of paper"
heh. I wonder how easy it would be to fix that.
Here's something I just noticed:
The landscape types of destinations don't show up in the "Roads" display, but the type of your destination is visible as soon as you start travelling (at which point you could immediately turn around, if all you wanted to know was what kind of land you'd be travelling to).
It feels like the types should either be visible all the time, or become visible on arrival (or halfway through the trip there).
"20 of paper"
heh. I wonder how easy it would be to fix that.
Fixed. Should now say "20 sheets of paper".
Here's something I just noticed:
The landscape types of destinations don't show up in the "Roads" display, but the type of your destination is visible as soon as you start travelling (at which point you could immediately turn around, if all you wanted to know was what kind of land you'd be travelling to).
It feels like they should either always be visible all the time, or become visible on arrival (or halfway through the trip there).
The intention is to always show the landscape type you're currently standing or travelling on - as soon as you start travelling, it should display the landscape type of the map pixel you're currently on. I'm not 100% certain that this works as intended though, but that's what it should be like. I'll go investigate.
Why do I have a feeling that my newest character appeared neared where my second character got left behind...
The intention is to always show the landscape type you're currently standing or travelling on
I feel like you should be able to see the landscape type of the places around where you are. Maybe make it so someone could build a tower, or something, that would let us see the area around?
Oh hey, spearfishing. Neat. 
But this puzzles me a bit:
Result:
* maybe about 100.0 g salmon
Is that a probabilistic expected value per try, or are the salmon incredibly small in this world?
There appears to be a run-time error on the site.
Well, if not for an approximate finish time, at least make the percent finished digit a bit more precise. Like 0.05% finished. 
I am desperate to see some progress in my projects!
I am desperate to see some progress in my projects
If your projects stay at 0%, then you might want to check:
are all requirements met?
have you actually started the project?
Is that a probabilistic expected value per try, or are the salmon incredibly small in this world?
In real life, spear-fishing is pretty damn hard, and so the expected outcome is relatively low. Since I can't model "chance of success" yet, I decided to make the output small with a large deviation (you'll receive between 0 and 200g for each run). Once I can model success chance, it's probably going to be something like "between 3 and 5 kg of salmon, with a 10% success chance".
I feel like you should be able to see the landscape type of the places around where you are. Maybe make it so someone could build a tower, or something, that would let us see the area around?
The mini map is designed to do exactly this: It gives you clues about the surrounding landscape, but only up to a certain distance, and with a certain fuzzyness. Grey = mountains, shades of green = forest / bushland / grassland, yellow = sand / beach, blue = water.
I might make it so that the distance gets larger when you're inside a high building, or something like that.
Why do I have a feeling that my newest character appeared neared where my second character got left behind...
There are only so many spawn locations, so this may well be true. I have to rewrite the map editor before I can do serious work on expanding the map and managing spawn locations.
There appears to be a run-time error on the site.
It's PHP. All errors are run-time. Anyway, my logs didn't catch anything, so could you maybe give me some details? What were you doing, etc.?
Anyway, my logs didn't catch anything, so could you maybe give me some details? What were you doing, etc.?
I'm rather surprised that I could be the only one seeing it.
Fatal error: Call to a member function canSpawnCharacter() on a non-object in /home/tdammers/domains/tobiasdammers.nl/public_html/rpg/uc/MiniCharlist.php on line 33
I wasn't really doing anything, AFAIK. I think that I just logged in at home and that is what I was faced with (or I don't remember what I was doing at the time). The site seems to work now that I've started back at the root of the URI. Perhaps my session expired and the code doesn't handle that gracefully? Judging from the URI, I was at the FAQ in the Wiki, but I'm a little intoxicated now and there's a good chance that I was intoxicated then too.
Why is there a logout button on the login screen?
I wasn't really doing anything, AFAIK. I think that I just logged in at home and that is what I was faced with (or I don't remember what I was doing at the time). The site seems to work now that I've started back at the root of the URI. Perhaps my session expired and the code doesn't handle that gracefully? Judging from the URI, I was at the FAQ in the Wiki, but I'm a little intoxicated now and there's a good chance that I was intoxicated then too.
Your session timed out, and you tried to open a wiki page, but for that you need to be logged in. See your PM for details.
Why is there a logout button on the login screen?
Kind of a leftover. I'll remove it some time unless I forget to.
Why exactly do you require people to be logged in to read the wiki?
Just another temporary consequence of the system design.
Why exactly do you require people to be logged in to read the wiki?
Just another temporary consequence of the system design.
Sort of kind of, yes. I'll see if I can change that; the wiki can be public without major consequences I think.
--- edit ---
OK, fixed it. And while I was at it, overhauled a lot of the out-of-game menus. Hope y'all like it.
In real life, spear-fishing is pretty damn hard, and so the expected outcome is relatively low. Since I can't model "chance of success" yet, I decided to make the output small with a large deviation (you'll receive between 0 and 200g for each run).
Ah. 
Speaking of "each run", the project repeat function doesn't quite work as expected - I would expect it to complete each run individually instead of just multiplying the results and required time by the number of repetitions (e.g. if you cancelled a "gather wood x 3" project at, say, 90%, you would still have performed "gather wood" twice). But I suspect that's also in the pipeline somewhere. 
BTW, there are places where the game is vulnerable to malicious links. Nothing too bad, but being able to e.g. log out people by linking them to http://rpg.tobiasdammers.nl/general/Login.php?logout=1 could still be exploited...
Speaking of "each run", the project repeat function doesn't quite work as expected - I would expect it to complete each run individually instead of just multiplying the results and required time by the number of repetitions (e.g. if you cancelled a "gather wood x 3" project at, say, 90%, you would still have performed "gather wood" twice). But I suspect that's also in the pipeline somewhere.
Hmm... not really, but now that you mention it, I might think about it. My plan was to use the repeat count as a multiplier, without providing a means of accessing the results halfway through. I was even going to go the other way, making it a nonlinear factor, such that for example a project could produce three times the output in twice the time - just like in real life, where baking ten breads doesn't take ten times as long as baking one bread; it takes longer, but not ten times.
BTW, there are places where the game is vulnerable to malicious links. Nothing too bad, but being able to e.g. log out people by linking them to http://rpg.tobiasdammers.nl/general/Login.php?logout=1 could still be exploited...
I'm curious as to how. Sure, you can post a logout link anywhere you like, and anyone following it will be logged out - but what's the big deal? Without an XSS vulnerability, you can't make people follow such a link, and even if you can, the worst thing you can do is log them out. Session hijacking and the fact that cookies are sent in clear text is a much bigger concern IMO.
Tobias, I just created a new note project, a few words only. And its been more than an hour and my note shows up in the inventory, but its blank...
Hmm... not really, but now that you mention it, I might think about it. My plan was to use the repeat count as a multiplier, without providing a means of accessing the results halfway through. I was even going to go the other way, making it a nonlinear factor, such that for example a project could produce three times the output in twice the time - just like in real life, where baking ten breads doesn't take ten times as long as baking one bread; it takes longer, but not ten times.
I rather like your idea as well. I think that your idea would be better described as "batch" activities instead of repetitions, however. If you think about it, there is a limit to how many loaves of bread that can fit in an oven. After that, subsequent loaves will have to wait until the first batch is finished. It would add complexity, but it would be more true to life to allow both ideas where applicable. That said, if I had to choose, I would prefer the ability to cancel a repeated task and still get the output for the number of repetitions that should be completed. It makes more logical sense and is also more convenient for the player (without really being different in terms of output from starting an activity over and over again).
I'm not sure why, but every once in a while, I'll log in, then go to click on a character who has a new event, and get the login screen.
And it's not a session timeout as this is in the span of a minute or maybe less.
Tobias, I just created a new note project, a few words only. And its been more than an hour and my note shows up in the inventory, but its blank...
Does your character's status say "writing"?
I rather like your idea as well. I think that your idea would be better described as "batch" activities instead of repetitions, however. If you think about it, there is a limit to how many loaves of bread that can fit in an oven. After that, subsequent loaves will have to wait until the first batch is finished. It would add complexity, but it would be more true to life to allow both ideas where applicable. That said, if I had to choose, I would prefer the ability to cancel a repeated task and still get the output for the number of repetitions that should be completed. It makes more logical sense and is also more convenient for the player (without really being different in terms of output from starting an activity over and over again).
Phew - two options, one easy, one harder, and you want both? Demanding audience I got myself there. But you're right, ideally I'd want to model both the premature cancellation and economies of scale. Maybe I can make it so that the progress itself is simply evaluated nonlinearly, that is, the further into your project you are, the faster the progress goes, but with another limit to prevent the output rate from growing indefinitely. So baking ten breads might take twice as long as baking one bread, but baking a hundred breads would take maybe 9.8 times as long as baking ten: at one hundred breads, there is no extra efficiency gain over ten, except you save time pre-heating the oven. At least the latest version has project success rates; for example, spear-fishing now has a 40% chance of success, but when you succeed, you'll receive a whole fish, about 2 kg.
I'm not sure why, but every once in a while, I'll log in, then go to click on a character who has a new event, and get the login screen.
And it's not a session timeout as this is in the span of a minute or maybe less.
The version I just published has persistent login; I hope this solves the issue.
Indeed the status was "writing" and my note is now written. 
Tobias: do signs next! I know you said that you need to think about how you should implement them... Just make them like notes, you create a sign from wood, write something on it (would need a tool) and then you'd need a hammer to put it in the ground.
Simple!
...
Please?
Yup, that's pretty much how signs are going to work. Only thing that's missing is that I want a list of writing techniques (quill & ink, pencil, carving into wood, etc.), and link them to suitable tools and objects you can write on. Otherwise, you'd be able to write on a wooden sign using ink, or carve messages into paper, that's just not realistic. Anyway, I'd also want different CSS styling for different writing techniques, so that for example an inscription in stone has a grayish background and uses a typeface that looks somewhat engraved.
Phew - two options, one easy, one harder, and you want both? Demanding audience I got myself there. But you're right, ideally I'd want to model both the premature cancellation and economies of scale. Maybe I can make it so that the progress itself is simply evaluated nonlinearly, that is, the further into your project you are, the faster the progress goes, but with another limit to prevent the output rate from growing indefinitely. So baking ten breads might take twice as long as baking one bread, but baking a hundred breads would take maybe 9.8 times as long as baking ten: at one hundred breads, there is no extra efficiency gain over ten, except you save time pre-heating the oven.
It feels like a simple model with just the time per item and project overhead could work well enough. I.e. ttotal = tstartup + n*tper_item. 
Items now rot over time. An item's rot status is indicated verbally (e.g. "brand new", "old", etc.)
I hope that only applies to perishables. From my experiences in other games, having universal time-based item status depreciation is a) annoying and b) (except for special cases) unrealistic.
I hope that only applies to perishables. From my experiences in other games, having universal time-based item status depreciation is a) annoying and b) (except for special cases) unrealistic.
Well, we can tell you've never had a girlfriend!
Kalliokoski +1
Wait, was the "ko" part always there in your name?
Anyway, I came here to say CantrII sent out a mail saying it's coming back!
So it's time to shut down this project, right Mr Dammers?
Hi,
Could I have an invite?
Thank you.
Wait, was the "ko" part always there in your name?
It was there in the first grade when the teacher made me write it 100 (?) times so I'd stop misspelling it. There's lots of us on Google.
I hope that only applies to perishables. From my experiences in other games, having universal time-based item status depreciation is a) annoying and b) (except for special cases) unrealistic.
Well, nothing lasts forever my friend... and to keep such a game balanced, item sinks are absolutely needed, otherwise it's only a matter of time before the economy gets flooded with super-uber-magic swords and instant invulnerability potions. The idea, though, is that many items will rot so slowly that you'll hardly notice. Food will perish quickly, within a few hours to days, things like paper will last for years, and stone and similar things will hardly rot at all.
Anyway, I came here to say CantrII sent out a mail saying it's coming back!
So it's time to shut down this project, right Mr Dammers?
Apparently, but:
Hi,
Could I have an invite?
Thank you.
Also, I just logged into cantr, and how should I put it, it doesn't feel the same. Even though it doesn't look any different.
paper will last for years
How long do you think people will play this game? :X
Doesn't matter... Books are passed on so other people will likely read them later on in the game. So it doesn't matter if an individual will play the game for several years or not.
Game-time years. 1 year is 20 earth days. So something that lasts 10 years is gone within less than one earth year. Also, what Vanneto said.
Well, nothing lasts forever my friend... and to keep such a game balanced, item sinks are absolutely needed, otherwise it's only a matter of time before the economy gets flooded with super-uber-magic swords and instant invulnerability potions.
On my desk is an axe head I've been meaning to fit with a new handle. It's good as new. Better, even, as it's an old farmer's axe, manufactured to higher standards than today's disposable tools. It's from... honestly, I don't even know when, I can only guess that the last time it was sharpened was in the 19th century - and it still holds an edge like a bloody razor.
Most things do not rot. Very few things go bad just with age. Constant use will blunt any blade, but even after a few hundred years, a sharp edge will stay sharp. Dig up a flint axe and it's almost as lethal today as it was to its stone age makers thousands of years ago.
That may be true, but when was the last time a truly realistic game was any fun at all?
^ That. Regarding this one, there is the simple fact that if weapons last forever, the game will eventually be flooded with them, and even the best weapon will be abundant. Same for other branches of a tech tree.
It's been rather quiet in this thread lately. The news page ingame is also lacking activity.
What's going on?
My characters are making good progress.
The traveller has gone full circle around the island and is now exploring further inland. I think I'm making up rather nice name for places now.
He's gonna want mapping, and then a boat.
I've started a farmer character who found a nice grassland location and has made a wheat field. I a few days I'm hoping to have some bread. I wonder when he will be able to eat it.
The paperpress guy is not doing much anymore I'm afraid. Waiting for paper demand to pick up. If money is implemented he might go for some kind of banking business. This would also require secure storage. He would very much appreciate buildings and rooms with locks.
The paperpress guy is not doing much anymore I'm afraid. Waiting for paper demand to pick up. If money is implemented he might go for some kind of banking business. This would also require secure storage. He would very much appreciate buildings and rooms with locks.
Are you re-inventing the Federal Reserve?
My Traveler found a person he bumped into before, and said hi, and is waiting a respond.
My Beggar is just around a group of folk.
And my other dude, I can't remember.
And my other dude, I can't remember.
He's a member of NORML.
I'm rather interested in seeing a currency getting off the ground.
We probably need a larger playerbase to really make it float.
There's no gold or metals at all in the game yet is there?
My guys are all standing around, because I've been too busy to play lately.
>me goes and hops on<
Regarding this one, there is the simple fact that if weapons last forever, the game will eventually be flooded with them, and even the best weapon will be abundant. Same for other branches of a tech tree.
I have nothing against wear through use, but wear through just time passed (for things that shouldn't rot) is awful, both realism- and gameplay-wise.
If the world is flooded with some kind of item it shouldn't be flooded with (that distinction is necessary), that usually means that the item is A) too easy to make, B) too durable or C) just not in demand (in which case, the in-game market should take care of it eventually).
It's been rather quiet in this thread lately. The news page ingame is also lacking activity.
What's going on?
Well, cantrII was back up for a while (not responding right now though), which kind of tied up the development team (ahem, me, that is). That, and a rather busy week for me, filled with all sorts of non-computery things as well as (paid) work.
And tbh, I was kind of under the impression the game was more or less dead, with cantr back up and practically no activity on my own characters. Apparently, it's not, which is great.
My characters are making good progress.
The traveller has gone full circle around the island and is now exploring further inland. I think I'm making up rather nice name for places now.
He's gonna want mapping, and then a boat.
I've started a farmer character who found a nice grassland location and has made a wheat field. I a few days I'm hoping to have some bread. I wonder when he will be able to eat it.
The paperpress guy is not doing much anymore I'm afraid. Waiting for paper demand to pick up. If money is implemented he might go for some kind of banking business. This would also require secure storage. He would very much appreciate buildings and rooms with locks.
All good thoughts. I think eating (and thus food, which means lots and lots of resource types, tools, and projects to make and use them) is going to come first. Then injuries, hunger, maybe thirst, and other damage to the body, eventually causing death. Then probably weapons, buildings, vehicles, in that order.
I don't think money is going to be part of the game directly, but I plan to provide the means to produce items that could be used as money - signed notes could double as bank notes, as well as stamped notes (I'm not exactly clear on the implementation details though); a similar mechanism could be used to produce coins. In cantrII, there are only a handful of places that maintain a currency, and the coins are mainly of local value, used to pay workers. Actual trade uses valuable resources instead - oil, iron, steel, etc. Skills are another important thing to add, creating a bit more diversity among characters.
Another thing I would love to implement is faces - store a few parameters on the character, say, skin tone, colors of hair and eyes, hair structure, some metrics like eye distance, nose length and position, etc., and use those to generate a picture of the face. Any thoughts on this one? So far, mine are; on the pro side: it will provide a natural way of distinguishing between different unknown people, it will add parameters to a characters starting situation that influence how others see them, and it may make it easier to identify with your character, which is especially useful when you play a lot of characters, helps to get into character and such. On the con side, it destroys part of the text-based nature of the game, and it leaves less room to the player's imagination.
I have nothing against wear through use, but wear through just time passed (for things that shouldn't rot) is awful, both realism- and gameplay-wise.
If the world is flooded with some kind of item it shouldn't be flooded with (that distinction is necessary), that usually means that the item is A) too easy to make, B) too durable or C) just not in demand (in which case, the in-game market should take care of it eventually).
You're probably right. Actually, rot over time isn't mandatory, I can just set it to 0 for items or resources that don't perish by themselves. I'll just have to see how things go - if the world does get flooded with certain items (other than, say, pebbles), a sink will be needed, and I will implement one.
Also, I've been thinking I could use a little help. Mainly on the programming front for now, and later maybe for other things - finding a wider audience, hosting, thinking of a way to raise some money, that kind of things. If anyone is interested, let me know.
And tbh, I was kind of under the impression the game was more or less dead, with cantr back up and practically no activity on my own characters. Apparently, it's not, which is great.
Uh-oh. This reminds me of the time when axilmar wanted to create his own programming language and gave it up because of lack of interest by other people. Similar things apply here. Finish it, and people will get interested. Now there isn't really much to do...
And I can tell you now that your interface alone is much better than what CantrII has. Please, keep on going. And I would gladly volunteer to help you. If you need more information about my experience, please do PM me.
Uh-oh. This reminds me of the time when axilmar wanted to create his own programming language and gave it up because of lack of interest by other people. Similar things apply here. Finish it, and people will get interested. Now there isn't really much to do...
I don't think thats the case here, more like the author thought it would die, but didn't, and he was surprised!
^ This. I figured with cantr back up (btw, it's down yet again, yay!) there was little point in people playing mine.
Finish it, and people will get interested.
It will never be finished, that's the beauty of it.
Well, I bet more people will sign up if you have an option for it on the page.
Perhaps an invite system if you don't want people to flood in?
Yes, signup page is absolutely needed.
While I'm way too rusty on PHP to contribute (some extremely thankless admin duties pretty much made me ragequit web developing a couple of years ago), I would like to look at the source if that offer is still open.
I got this when trying to make something:
exception 'DB_Base_SqlException' with message 'PROCEDURE rpg.has_missing_machines does not exist (SQL42000)' in /home/rpg/www/db/generated/Database.php:317
Stack trace:
#0 /home/rpg/www/db/user/ProjectType.php(33): DB_Generated_Database->executeScalar('CALL has_missin...', Array)
#1 /home/rpg/www/db/user/Character.php(392): DB_ProjectType->creatableAtLocation(Object(DB_Location))
#2 /home/rpg/www/play/CreateProject.php(31): DB_Character->createProject(3, true, true, true, 1)
#3 /home/rpg/lib/WebUI/src/Event.php(21): CreateProject->btnCreate_Clicked(Object(WebUI_Button), NULL)
#4 /home/rpg/lib/WebUI/src/Event.php(39): WebUI_EventHandler->raise(Object(WebUI_Button), NULL)
#5 /home/rpg/lib/WebUI/src/Button.php(109): WebUI_Event->raise(Object(WebUI_Button))
#6 /home/rpg/lib/WebUI/src/Container.php(68): WebUI_Button->processRequest()
#7 /home/rpg/www/code/BaseWebPage.php(150): WebUI_Container->processRequest()
#8 /home/rpg/www/code/BasePlayerPage.php(78): BaseWebPage->processRequest()
#9 /home/rpg/www/play/CreateProject.php(125): BasePlayerPage->processRequest()
#10 /home/rpg/lib/WebUI/src/Page.php(99): CreateProject->processRequest()
#11 /home/rpg/www/play/CreateProject.php(133): WebUI_Page->execute()
#12 {main}
Odd... the database upgrade script should have created it... it's there now though.
I arrived at a place and someone had said something to me, but I didn't know who. So I clicked the "nameless person" link to name them, the screen went semi white but I can't see the box to type anything at all. Have to leave the page.
I kinda wish there was a way to have some auto-name feature so that if I see someone I haven't met before, I would see something that would hopefully uniquely identify them. (even if the way they're identified is different for one character then another, as a way to prevent this from allowing you know someone who met another one of your characters. At least until you ask their name.)
I kinda wish there was a way to have some auto-name feature so that if I see someone I haven't met before, I would see something that would hopefully uniquely identify them. (even if the way they're identified is different for one character then another, as a way to prevent this from allowing you know someone who met another one of your characters. At least until you ask their name.)
Thinking in terms of Git and Mercurial, I was thinking that a unique hash of some kind might be a good way to uniquely identify "the appearance" of a character. This way, you could at least differentiate between players (prior to assigning them a name). It's not really a problem when players immediately give you a name to call them by (at least, not when their name is unique), but occasionally you encounter multiple players that don't reveal their names. They just appear as "a man" or "a woman" or whatever and you can't differentiate between them (without assigning them an arbitrary name).
Earlier when Tobias mentioned their physical attributes I was thinking about hashing those. They might not be actually unique, but should be more unique than the way it is now. I think it would help, but I haven't played this type of game long enough to know if it would detract from the experience.
I think I ran into the same type of thing as MiquelFire.
I wanna make me some bread.
exception 'Exception' with message 'Project type cannot be started at this location' in /home/rpg/www/db/user/Character.php:393 Stack trace:
#0 /home/rpg/www/play/CreateProject.php(31): DB_Character->createProject(9, true, true, true, 1)
#1 /home/rpg/lib/WebUI/src/Event.php(21): CreateProject->btnCreate_Clicked(Object(WebUI_Button), NULL)
#2 /home/rpg/lib/WebUI/src/Event.php(39): WebUI_EventHandler->raise(Object(WebUI_Button), NULL)
#3 /home/rpg/lib/WebUI/src/Button.php(109): WebUI_Event->raise(Object(WebUI_Button))
#4 /home/rpg/lib/WebUI/src/Container.php(68): WebUI_Button->processRequest()
#5 /home/rpg/www/code/BaseWebPage.php(150): WebUI_Container->processRequest()
#6 /home/rpg/www/code/BasePlayerPage.php(78): BaseWebPage->processRequest()
#7 /home/rpg/www/play/CreateProject.php(125): BasePlayerPage->processRequest()
#8 /home/rpg/lib/WebUI/src/Page.php(99): CreateProject->processRequest()
#9 /home/rpg/www/play/CreateProject.php(133): WebUI_Page->execute()
#10 {main}
It's not really a problem when players immediately give you a name to call them by (at least, not when their name is unique), but occasionally you encounter multiple players that don't reveal their names. They just appear as "a man" or "a woman" or whatever and you can't differentiate between them (without assigning them an arbitrary name).
Assign them an arbitrary name, and then demand that they respond to it.
I arrived at a place and someone had said something to me, but I didn't know who. So I clicked the "nameless person" link to name them, the screen went semi white but I can't see the box to type anything at all. Have to leave the page.
Will look into this. Semi-white is intentional, but the box needs to be visible. Safari? Chrome?
Thinking in terms of Git and Mercurial, I was thinking that a unique hash of some kind might be a good way to uniquely identify "the appearance" of a character. This way, you could at least differentiate between players (prior to assigning them a name). It's not really a problem when players immediately give you a name to call them by (at least, not when their name is unique), but occasionally you encounter multiple players that don't reveal their names. They just appear as "a man" or "a woman" or whatever and you can't differentiate between them (without assigning them an arbitrary name).
Earlier when Tobias mentioned their physical attributes I was thinking about hashing those. They might not be actually unique, but should be more unique than the way it is now. I think it would help, but I haven't played this type of game long enough to know if it would detract from the experience.
This is something I really want to resolve in a better way. Gender and a rough indication of age isn't enough, especially when everyone is in their twenties. However, an actual hash would look way too "computery" to be acceptable - while a programmer might appreciate the fact, a "normal" person's role-playing experience would probably be severely impacted if unknown people were auto-named "f4bb1928d9234e" or something. Even "unknown person #23" would be a bit too technical IMO. This is one of the reasons why I thought about adding a face image, based on (random) physical properties - each character would have an individual combination of face and body metrics, hair, skin, and eye color, and a few parameters you could maybe adjust, given the right tools, such as hair and beard style. That image could then be shown in the message list (icon-sized), or it could appear when you hover over a person's name.
In any case, I want to add a (short) description of a person's physical appearance to what is now the name-change popup.
I think I ran into the same type of thing as MiquelFire.
I wanna make me some bread.
exception 'Exception' with message 'Project type cannot be started at this location' in /home/rpg/www/db/user/Character.php:393 Stack trace:
#0 /home/rpg/www/play/CreateProject.php(31): DB_Character->createProject(9, true, true, true, 1)
#1 /home/rpg/lib/WebUI/src/Event.php(21): CreateProject->btnCreate_Clicked(Object(WebUI_Button), NULL)
#2 /home/rpg/lib/WebUI/src/Event.php(39): WebUI_EventHandler->raise(Object(WebUI_Button), NULL)
#3 /home/rpg/lib/WebUI/src/Button.php(109): WebUI_Event->raise(Object(WebUI_Button))
#4 /home/rpg/lib/WebUI/src/Container.php(68): WebUI_Button->processRequest()
#5 /home/rpg/www/code/BaseWebPage.php(150): WebUI_Container->processRequest()
#6 /home/rpg/www/code/BasePlayerPage.php(78): BaseWebPage->processRequest()
#7 /home/rpg/www/play/CreateProject.php(125): BasePlayerPage->processRequest()
#8 /home/rpg/lib/WebUI/src/Page.php(99): CreateProject->processRequest()
#9 /home/rpg/www/play/CreateProject.php(133): WebUI_Page->execute()
#10 {main}
Actually, it's not the same issue. You're getting a stack trace at the same point, that's because I accidentally left a die($ex) there. The exception itself is intentional though; what you're supposed to see is just the message: "Project type cannot be started at this location", which probably means you don't have the required machines for this project. For baking bread, you need an oven, and if all ovens are occupied with projects, you cannot start a new one. Either use the existing project, wait until it finishes, or build another oven. Or, if no ovens exist, build one. I admit that this needs to be handled better, but for now, that's the way it is.
Will look into this. Semi-white is intentional, but the box needs to be visible. Safari? Chrome?
Same in both.
Eating!
Wiki page request, full list of eatables.
This also brings up the topic Animals, when do you think they will come?
Eating!
Wiki page request, full list of eatables.
I'll see if I can generate an "Eatables" wiki page. I don't want to maintain one by hand. Least I can do is add food information to the item type wiki page. Good point.
This also brings up the topic Animals, when do you think they will come?
This one's still in the thinking phase. Problem is, animals are going to be something that can be used in a number of different ways:
slaughtering: kill domesticized animals. Same as using an item as a resource for a project
milking, shearing, collecting eggs, etc.: Same as using as a machine
domesticizing: catching and taming wild animals.
hunting: kill wild animals for their skins, bones, and meat. This would have to be modeled similar to attacking fellow characters.
riding etc.: use domesticized animal as a vehicle
carriages: use domesticized animal to power a vehicle
use as a machine (or tool) on projects: e.g. a domesticized horse could be used in a ploughing project
migration: this needs to be added, and I'm not quite done thinking about how to model the rules for this. Animals shouldn't be migrating all the time, migration should be subject to population and available food, and limited to a range of terrain types (and maybe climate zones, if I implement those).
I think I'll tackle plants first, they're probably much easier, and animals can be built on top of plant functionality.
Live long projact..
I think time has stopped. I'm making no progress on my bread and the time is the same as it was last time I logged in.
You're right. It's running again now though. Believe it or not, this has something to do with line end conversion. I haven't exactly figured out how and why it happens, but somehow, the line endings in the heartbeat script end up different than what the cronjob handling shell on the server expects, and then it complains that #!/usr/bin/php5^M is not a valid hashbang. I've changed the cronjob now so that it doesn't rely on the hashbang anymore.
Now that we're eating I noticed that my bread is "almost fresh" and the strawberries on another character are old. Makes me worry about balancing how much food I make versus how long it lasts and how fast I consume it.
Will old food be bad for you? And what happens when it becomes garbage? Will it disappear or become some kind of moldy organic mass?
Will there be storage options that makes food last longer? What was the limit for tech again? Can we make steampunk refrigerators?
Will old food be bad for you?
Probably not. It might go down in tastiness, but I'm not sure yet.
And what happens when it becomes garbage? Will it disappear or become some kind of moldy organic mass?
It will disappear. Although I might make it so that some things can turn into something else when their lifespan exceeds (this will be needed for growing plants anyway: a sapling would turn into a tree after a few years).
Will there be storage options that makes food last longer?
Probably yes.
What was the limit for tech again? Can we make steampunk refrigerators?
Early industrialisation I would say, maybe around 1850. So no refrigerators, no combustion engines, but horse carriages, coal ovens, sailing ships (possibly steamers, but if so, then really expensive), maybe radio. Definitely no refrigerators, but I'm thinking of other ways to conserve food - making jam, drying, salting and smoking things, that kind of stuff.
I've been walking for days now and I don't think I've made it anywhere (I'm just outside of my previous location still).
I just confirmed that time IS ticking. Just about 3 hours ago, a character reached his destination. Maybe you're carrying a lot of weight? The more you carry, the slower you walk.
Damn it...
My vast logging is going to bite me now.
Maybe I can trade some wood.
It's been almost a week of silence here again. And I must say I've lost the attention I had to the project. The bookmark is still there reminding me about it every day but I don't feel compelled to click it.
It needs a serious boost in features, or this thread will soon die.
One of my characters is just sitting around waiting for the others at the location to do something.
Yea, it seems no one else is really playing this any more.
I'm still playing, haven't seen anyone in a while but I got some salmon and I'm gonna try to bake a pie or something
.
Wow, Trent is now Slardarbeast junior!
I stopped playing some time ago, after I could no longer log in (just says login failed, and I am using my forum username and the password I always used for the game (I changed it, so perhaps it somehow reverted to the default? I don't think I've tried that one)).
Yeah, I know guys. Problem is, it's basically a one-man show (two people have shown interest in contributing, but I haven't received anything substantial in terms of visible features yet), and I've been busy with other things lately. I'll try to pump out a bit of new stuff this week, hope you guys can bring up a bit more patience.
Certainly making it at least a two man show would be a good idea.
Does the project have an IRC channel yet? That'd be a quicker medium for people who are really interested to discuss more specific things.
I'd really like to contribute, but since I'm not a web developer I have a hard time getting going...
Trezker, if you like (and think you're good enough at these things), I could also use someone to create item types and project types. The interface for this is kind of buggy right now, but if you'd like to take on that job, I'll fix it and give you access. I'd like to have some more food chains, and a more diverse distribution of resources, before I introduce death by starvation.
That would be nice.
One thing I thought about is that you seem to have made each resource and certain projects bound to location types. Like all forest locations has berries.
Will there be different types of forest, or do you think specific locations could have resources that aren't available in other locations of the same type?
I had found an apple tree with one of my characters.
I was trying to find some stone. Guess I'll try to find some mountains.
300 posts.. Where does the A.cc record stand at?
A lot more than 300.
One thing I thought about is that you seem to have made each resource and certain projects bound to location types. Like all forest locations has berries.
Will there be different types of forest, or do you think specific locations could have resources that aren't available in other locations of the same type?
Berries can be found in every forest location at the moment (technically, a "picking berries" project has no machine requirements, but can only be performed in a forest location). Picking apples however requires an apple tree, which is implemented as a non-pickable object, and the project uses it as a "machine". Consequently, only one apple-picking project can exist per tree at the same time. The picking apples project type does not have a specific location type requirement, but all apple trees in the game are currently located in grassland or bushland environments, and not in all of them.
I like the second model better, because it allows for more diversion. Changing the berries project to use actual berry bushes or something similar might be a better choice.
I have this vision of a rather complex model for plants, where each plant type comes in three forms (seeds, saplings, and fully grown plants); you can plant seeds, which will produce a sapling, which in turn grows over time. In order to succeed, however, certain requirements must be met - the location must be of the correct type, it needs to be in a suitable climate (map Y coordinate and height might be used for this, maybe also distance from the nearest sea), and you need to have seeds. For now, I'll plant trees manually though (which reminds me, I'll have to plant a few cotton trees).
Also, for some resources it doesn't make much sense to have a visible object to gather them from, e.g. mushrooms - they're there, or they aren't; but for the mechanics to work, I'd still need a mushroom source somehow. For this kind of thing, I need object types that are "invisible", and in a perfect world, I'd also have items that spawn other items at configurable intervals.
Picking apples however requires an apple tree, which is implemented as a non-pickable object, and the project uses it as a "machine". Consequently, only one apple-picking project can exist per tree at the same time. The picking apples project type does not have a specific location type requirement, but all apple trees in the game are currently located in grassland or bushland environments, and not in all of them.
Whoah. I'm getting flashbacks to my first (wilderness) survival course. 
It just took a single wild apple tree to make everyone forget all they had learned about survival for the last couple of days. Upon sight of the first fruit-bearing tree, all sense of teamwork was lost - all that mattered were those sweet, sweet fruits.
Wild apple tree most likely don't produce sweet apples...
Heard that recently on some TV show, seeds from apples produce random tastes and only rarely it's sweet.
Well they were horrible apples, but relative to the other shit we had been eating...