Category Archives: Behind the Scenes

Notes from the Undergrowth

Hi all! We’re still hard at work on this, but the current focus of development effort involves a bunch of server-side reliability and data consistency work which isn’t particularly shiny or fun to write about!  (Some user-facing stuff does make progress–aside from characters needing to be unstuck less, there are small bits of progress like the Greedy Street Spirit quest now working properly.)

The Eleven Giants forums are a much better place to stay a bit more up-to-date with what’s going on, or at least admire some screenshots. (Thank you, Eris Lord Freedom!)

Other eventual work involves recreating the locations (190 or so) that weren’t in the Tiny Speck asset release (oh, Gwendolyn!) and figuring out the future of the client, but until we can keep the game going for the current community of alpha testers (thank you for your patience!) without an extraordinary support load, reliability is where it’s at–this is super-frustrating for all involved since the basic mechanics of the game are all there, but a more open test right now would not be supportable.

On that note–if you are or someone you know is interested in wading through server-side javascript and figuring out data consistency problems with an eye towards performance and scalability, drop by the forums, it’d be great to hear from you!

How Not to be Overwhelmed by Ancestral Nostalgia: A Friendly Guide (Part 1)

Hi, I’m Troy McClure Fidgety. You may remember me from such previous Glitch usernames as “girlthulhu” and “elfskinned”, my tower (“H.P. Lovecraftables”), or the person who handed out random Cubimals to strangers. I also clogged up Global with an inexhaustable stream of Simpsons quotes, and I once told somebody that they needed to fight Triangle Man in order to obtain a Teal-White Triangle Key (sorry about that). But if you don’t know me, that’s fine, too.

A few of us Alphateers have been given the opportunity to share our Eleven experiences thus far. I consider this an honor because not only does this allow me to combine my two great loves — writing and Glitch — but I’ve been entrusted by the devs to not cause their blog to spontaneously combust. It’s a responsibility that I’m taking very seriously, which is why I’m choosing to post a series of entries outlining a few salient points at a time instead of publishing an entire novella all at once. This will undoubtedly continue until my WordPress privileges are revoked.

First and foremost, I’d like to reassure my fellow Glitchen by quoting a song of my people — my people being ’90s goths who were never quite able to part with their black nail polish and Doc Martens. I cannot think of a better way to convey the good news when Peter Murphy phrased it so perfectly:

The little foxes were safe and sound
They were not dead,
They’d gone to ground.

When Ur was unimagined in a howling cacophony of imploding lines of code, we were all convinced that we’d never see our beloved second home again. Sure, we begged and pleaded on the forums; we left messages in proverbial bottles and lined our favorite streets with our heartbreaking notes, knowing full well that they’d disappear, too; we did our best to contain our grief in one form or another. And when none of that seemed to work, we would cry during private moments when we were sure that nobody could hear us. I was there, and if you’re reading this, then I know that you were as well.

I’m sorry if I’ve caused that pain — a very real, tangible pain that has knotted itself up in the space right behind your heart — to come rushing back to the surface; if I know this community as well as I think I do, I’m fully aware of the mourning each of us still carries. But that’s exactly what I’m trying to tell you:

It all lives on — all of it. Every paranoid Bubble tree, every chattering Cubimal, every curiously shaped mushroom in Groddle Forest (ahem, Kukubee). Every Giant, every hipster crab. The Rube, the Rook, and Uncle Friendly’s (Questionable) Emporium. And, yes, even the little foxes. They’re all safe and sound.

Well, sort of.

I deal in Cosma’s realm of airy and silly things like words and crazy ideas, not the solidly palpable domain of Tii, composed of math and programming and code, a confusingly logical language unto itself. So, as a non-tech person, I’ll try to explain this the best I can: The Eleven team came into possession of the original Glitch code and assets. Technically, everything still exists in that jumble of if-then loops and commands. Unfortunately, and for whatever reason, a few thousand lines are simply missing. Not only that, but at this moment in time, they’re running all of it on a very small and extremely temperamental server. In addition, this is all being done on a strictly volunteer basis; everyone has jobs, families, and otherwise important and pressing responsibilities. There’s only so many hours in a day, and even though they’d like to work on the Eleven project full-time, they simply can’t.

But what they have managed to get done is nothing short of impressive. I don’t know where to begin conveying my awe and gratitude. With each code push, Ur springs back to life, piece by glorious piece. What was fairly unstable and somewhat dead in January is finally starting to breathe on its own. Of course, some things are still missing or don’t work — the aforementioned foxes, for one, and housing; we still can’t overload the poor server with too many butterflies, and sometimes Helga doesn’t move as she should — but that’s fine. In fact, it’s better than just “fine”: It’s hopeful, it’s joyful, and most of all, it makes me tear up and sing all at once.

Right now, I don’t like to imagine that the Giants are growing restless and drowsy. No, I like to think that they’ve finally had their coffee, and they’re all sitting down to talk about the crazy dream that they all shared. “Was that real?” Grendaline would ask, and Alph would just smile sadly. “What about the Glitchen?” Friendly would offer. “Do you remember every one of their names?” “Oh, I do. I certainly do. Let me think for a second,” Lem would counter.

Eventually, Cosma will pipe up “Hey, let’s do that again.”

Someday. But until then, Tii is hard at work in the other room, pulling it all together and harnessing the beauty of imagination in stark lines of code. And everyone must be patient.

Author’s Note: The song mentioned at the beginning of the entry was “The Passion of Lovers” by Bauhaus, and it’s about the narrator falling in love with a banshee, but the relationship not working out for obvious reasons. It’s sad and haunting and beautiful, which is why it’s long been one of my favorite songs. If you’ve got a few minutes, I highly suggest checking it out.

OMG, OMG, OMG – What Will Your First Day Be Like in Game?

KaiyonAlatar graciously asked a few of the alpha testers to be guest bloggers to share some experiences from our point of view. Hope you enjoy our articles from the “other side”.

I have to say, I distinctly remember when one of the Alphateers entered the game for the first time, and I was chuckling with glee as they posted to global (and frankly was also shocked at the time that the game did not crash since global was still being a bit persnickety at the time). The global chat box was filled with OMG’s and Squee’s at the total excitement of this new player. I think I enjoyed it so much because it was it was exactly the way I felt the first time I entered Eleven, but I did not vocalize it to the group. Truth be told, it is how I feel whenever there is an update with new stuff for us to test; except now, I am trying to be a bit better at sharing it with the other players and developers (devs) in global (which, by the way, is much more stable now – the game has come a long way in a few months).

So to write this article, I pondered back to my first day in the game. I remember choking up as the loading screen displayed and I heard that familiar tune. First, I was floored that I was a second round draft pick in Jan 2015. Since I did not really know this dev team, I honestly did not think I would be chosen until maybe closed Beta at the earliest. Second, I still could not believe that the game was being rebuilt. Third, I was excited beyond words since in a few moments I was going to experience the game again.

While waiting for the game to load, I remembered the “’Two Years Past’ or ‘Welcome Home’” blog by KaiyonAlatar that talked about being able to “roam a single street”, “having a long way to go”, and “the most minimal of functions” when they allowed the original alpha testers into the game in Dec 2014. So I thought when I got into the game, I would just see Gregarious Grange and that would probably be it. Maybe, if we were super fortunate at this stage (only a month later), they might have all of Groddle Meadow rebuilt. I remember being a late Alpha tester for Glitch and all we had was Groddle, Ix, and Uralia. So, being in early Alpha for this rebuild, I was expecting that we would all be predominately running around the one street, and just happy to see the game working and having fun with the other testers. It would be a big bonus if we could interact with the various items in game, and huge if we could roam around all of Groddle Meadow. I was nervous because I did not want to be disappointed with my grand expectations.

Holy moly!! Did I completely underestimate the progress this dev team has made – silly me. I could not believe that most of the persistent part of Ur was available to us to run through – not just Gregarious Grange, but ALL of the main map and the Ilmenskie areas. WOW! And then I had my own first day OMG and Squee moments…

OMG, I could change streets, and explore most of Ur again!

OMG, I could water trees.

OMG, I could pet trees.

OMG, I could harvest trees.

Squee, there were cool sounds (some that I didn’t remember) when harvesting trees.

OMG, I could plant seeds in community plots.

OMG, I could dig for peat and scrape barnacles.

OMG, the vendors were around, and I could purchase things from them.

OMG, bags, bags and more bags…and toolboxes too!

Squee, I could jump!

OMG, skills.

OMG, upgrade cards.

Squee, I could make food and drinks!

OMG, mining worked too!

When I started, we were not able to collect quoins. Oh how they taunted us. Hanging there so pretty. We could jump, but it did not have any effect since “collisions” were not implemented yet.  Eventually with one of the updates, the quoins did not taunt us any longer, and we were able to interact with them, along with various other portals. It was amazing to see how many things were interconnected based on the way we interacted with them in the game.

Squee, I could jump for quoins again.

OMG, I could now jump into the Big Hole to Ix.

OMG, I could climb the ladder to Groddle and get into Groddle instead of being stopped at the top.

OMG, I could now jump into the snow storm and enter the Wintry Place.

OMG, the dust traps now worked…which meant…Squee we now had herb seeds!!

In the early days of testing, we did not have animals (so sad), and the devs would drop us resources in Gregarious Grange. There were piles of meat, milk, and bales of grain that had to be regularly dropped off so we could test out recipes. Boy, we hated bugging the devs for more stuff to be dropped off since we all knew they had more important things to do to get the game running. At one point, they provided us a tester tool and one of the menu choices was “items” which provided us a stack of that item (meat, milk, grain, emblems, fiber, etc) into our inventories. Finally, the devs no longer had to babysit us for our perpetual resource demands. Eventually, when animals were added to the game, it brought a whole new set of OMG’s and Squee’s.

OMG, I could pet piggies.

OMG, I could nibble piggies.

OMG, I got bacon as an alternate drop to meat from piggies.

Squee, I could squeeze chickens.

Whoa, I could butter up chickens (when did that happen?).

OMG, I could massage and milk butterflies.

Squee, I can pet the helikitties!

Aw, the helikitties purr when you pet them!

However, even though we had animals, we were not able to interact with them in the ways we were used to because we still had some issues with the skills trees. So, the developers provided the testers a special option on our tester tool to be able to complete formerly uncompleteable skills (long story for another blog post maybe). We are now able to learn the higher level animal skills, and even more OMG’s and Squee’s were introduced.

OMG, I could name a whole street of piggies after famous Bacons – Kevin, Sir Francis, Nathaniel (yes, that is usually me).

OMG, I could name the butterflies “Flutter By” again (guilty).

OMG, I could name the chickens evil names because they still will not incubate our eggs yet.

OMG, I can finally get snails by feeding metal to sloths!

Squee, the sloths spit snails again!

There is so much that works in the game now. I cannot really begin to list everything. I still marvel at all the things we CAN do. In just the past few months, so many more things are working than when I first got into the game. While there are still many things for the devs to implement, they have come a long way to piecing Ur back together again for all of us. It is a glorious sight to behold, and they have done an amazing job to get Eleven to where it is today.

But, I am just wondering, what do you think will be your big OMG or Squee when you get back into the game?

State of the Project Address v3.0

Even three point o-ier than before!

So, it’s been a long while since my last big post… Sorry about that.  Time to rectify away, though!

Since my last State of the Project post (way back in August of last year!?!) we’ve accomplished a whole lot!  Time for a list (in pseudo-chronological order)!

Vanity/Wardrobe

We rolled out our combined version of a Vanity/Wardrobe system.  While we haven’t hooked it up to the account system yet, we’ve got a solution for integrating it with the game in internal testing/review right now.  In the meantime, you can save/load your creations via a bit of text.  If you haven’t checked it out, you can find it here.

Housing

While housing (along with the associated streets and friend signposts) is set up and working, there’s some architectural and infrastructure stuff keeping it (and other instanced areas) from working in anything other than a test environment at the moment.  I’ve been chomping at the bit to get this rolled out, but we’ll just have to wait a bit while we work out some of the other kinks.

Pathfinding

CubiRacing

Our NPCs can move!  While we still have a few bugs to work out here and there, most of the NPCs are fully functional, though we don’t have foxes working yet.

Namerizing

Eleven Wardrobe Namerizer

Eleven Wardrobe Namerizer

We requested some help from our amazing community to provide new names/descriptions to the items in the wardrobe, since that data has been lost to us.  While we might have been able to simply dig around to find the lost info somewhere, we thought it might be a good opportunity to put our own (and some of your) personal touch on things.  It’s closed down at the moment, but keep your eyes out for other ways you can contribute in the future (we may even open this, or something similar, back up)!

Throwaway Server – Thrown Away!

That old Throwaway Server we were always talking about?  It’s no longer being actively used for development.  Instead, we’ve pushed the real thing up on GitHub along with a couple of other repositories.  Full disclosure though, there are still a couple of repositories we’re holding private for the moment that are necessary to run the game (if you want access to contribute, just send us a message from the info over on the Contact Us page.

Alpha Release

Eleven Logo

We finally managed to get things to a point where we could welcome people into both the forums (public) and the game (private).  We’re continually adding more people to our testing group as activity levels and system stability allow, and we’re making loads of progress in getting things ready for bigger audiences.  An unfortunate disclaimer though, we’ve still got a long road ahead of us along with some major changes that need to be made to our core system in order to get things ready for that next level which I’ll address a bit more later.

This also gave rise to our forums (you are signed up… right?), which has had a great turnout of former Glitchen and new players excited to get in on the action.

MMOGames Editors Choice Award for February 2015

We won!  Thanks to our amazing community, we won MMOGames first ever Editors Choice Award voting, and had an interview (with yours truly) run because of it.  Check it out here.

 

Current Happenings

Architectural Issues

You may have seen our most recent blog post regarding some of the issues we’re working on, but I’ll summarize either way.  Basically, some of the features we’re taking advantage of in order to get our system working well in a distributed environment also make it perform insanely slowly.  While this kind of performance doesn’t hinder a very small user base much, if we were to increase the load on the servers, things wouldn’t go very well right now.

Some experimentation has been done in order to try and improve things without rewriting our entire infrastructure to avoid use of the problem features, which has had at least a little success, but we’re still working towards better solutions and closely monitoring the respective progress by the node.js/io.js teams (did I mention we’ve been experimenting with both, and are excited about the merging of the two projects back together?).

QA2

The QA2 process has started, which means our team is combing through every single level in the game and trying to make sure every barnacle is pointing the right direction, every vendor has a nice and consistent look, and a million other tiny details that these perfectionists are keeping a close eye on.  We’ve already rolled out one of the Groddle regions, and are slowly working through the rest.  I’ll get one of the team members to write something up for the blog soon.

Wrap-up

We’ve been making a good bit of progress on bug fixes while we’ve been trying to sort out the big issues.  We’ve also got a setup for an integrated vanity/wardrobe that we should be able to roll out relatively soon to the alpha testers and are trying to add more testers whenever possible; we’re currently up to 53 users, though there’s typically only a handful on simultaneously.

That’s all for now, folks!  While progress may have slowed down a bit due to outside obligations and our fun architectural issue, be certain that we are very much committed to seeing this through, so we’ll get it working one way or another.

-Kaiyon

Asset Parade, Street Spirit Edition

This is the start of a (possibly short, but maybe longer) series to show off some of the amazing assets in this game. This first post will be in appreciation of our Street Spirits.

Let’s start with our Groddle spirits. You may remember our poor mismatched friend from one of the first posts on this blog:

Signs of life...

This was a result of our attempt to randomize their appearances, which we quickly realized would not be an ideal solution. When it came time to figure out how we were going to get these guys looking more like their old selves, I dug my heels into the assets and figured out what all the pieces were meant to look like so we knew how they went together.  Once I identified each element, I made a big spreadsheet to catalogue their original appearances by street so we could do some scripty magic and get them back to they way they looked at the shutdown. I became fascinated with how the elements went together and just how much variety was possible.

Each spirit is composed of 5 unique elements: the skull and base (the body parts), top and bottom (their adornments) and eyes. There were no actual rules here. All the pieces fit equally on every type of spirit with one or two exceptions. I had thought that there were set “outfits”, but no! Every piece was mixed and matched to make some very unique spirits, but there were some clear regular favorites per region as well. Some wood assets ended up on dirt spirits and vice versa. All of the examples here are just ones that I put together to attempt to demonstrate every available option.

First we have our dirt spirits:

Note: the flower skirt does not "fit" on the third spirit.

Note: the flower skirt does not “fit” on the third spirit.

The dirt spirits had two different skulls, and two different bases to choose from; they were labeled “0” and “1”, but they could be interchanged to give us these four different shapes (the last two in the row are actually the same shape, but their clothes give them different looks). In my investigations, the spirits with the shorter bottom did not have other adornments – this flower skirt was left on the spirit as an example as to why randomizing the assets would have not been an option (if it wasn’t already obvious by the mismatched fellow in the first picture). Each spirit here has a different style of eyes, numbered 1-5.

The wood spirits were a bit simpler, in that they only had one style of head and base:

Screen Shot 2014-09-12 at 4.23.54 AM

However, notice their eyes: it’s still the same five styles, but they are spaced differently. So in all, there were TEN different styles of eyes to choose from! The first and second spirit here both have “type 1” eyes, but with different spacing and vertical alignment. The eyes could appear on any style spirit, and are only displayed this way for the purpose of this demonstration.

You can also see the rest of their outfits represented.  With ten different tops, and nine different bottoms, the potential for variation was huge. Just because one was wearing the lotus top, did not mean it was also wearing the lotus bottom (the first wood spirit is wearing both of these). I seem to have missed the dirt seedling top, which looks an awful lot like the wood twig (third wood spirit) but with a dirt base.

I discovered that there were three different types of Firebog spirits, although only the largest one ended up in the game as far as I can tell. Behold the two lesser spotted ones!

Screen Shot 2014-09-12 at 3.45.12 AM

And finally we have our Uralia/Ilmenskie spirits:

Screen Shot 2014-09-12 at 3.48.15 AM

I never noticed that their caps had different designs before! Sadly, there weren’t too many of these in the game at all, which is a shame because they are rather pretty! In fact, when I tweeted this image last month, Kukubee informed me that there were actually more than these four, but they never made it into the game.

I hope you enjoyed this deeper look into the Street Spirits!

Have you seen this quoin? Peons request #2

WantedPosterFinal

Back in February Sirentist explained the tagging process being undertaken by the QA team and asked you all for help locating snaps containing quoins. Sirentist asked for Glitchen to root through their folders of snaps from the game, tissues at hand, and to upload anything that would be useful to our Peons forum. Now we want to explain how we used that information and why we are asking you again to search through your snaps and videos for us.

We had many incredibly useful snaps as a result of this initial request and we have incorporated this information into the streets we have been tagging. Thank you to all those who contributed to this initial request for snaps, and especially to the wonderfully productive Zoi and MissCoco who appear to have been documenting Ur in the middle of the night given some of their quoin-complete street snaps! Their photography skills augment the street snap archives we have been using provided by Cleops, Ecats and the Glitch Tribute Blog.

Over the last few months Sumi and I have been revisiting all the streets in order to fill in a giant spreadsheet which formally documents the snaps that contain the quoin images for a particular street. (Yes, I know we should have done this on the first pass through tagging, but excitement at saying ‘Tag, you’re it!’ got the better of us and we neglected to keep our documentation up to date). You can see the details of the task by looking at the page for Aranna, which shows that for Khubbani Siggara, the snap documenting 9 of the 10 quoins can be found in Cleops’ dropbox:

TaggingNotesFinal

(Maybe you can see why we overlooked this administrative task in the initial excitement of recreating the streets ready to be walked through again!)

We have dedicated ourselves to filling in this spreadsheet for the whole of Ur for several reasons. Firstly the next stage of the QA process involves us going through each street in turn, fine tuning the position and parameters of each item on the street. This will mean that rocks will no longer float a few inches above the ground, sloths will hang from trees in a manner consistent with the laws of physics (and biology). We will also need to set the type of each quoin – energy, mood, currants, iMG, time, favour – along with how quickly it regenerates and the payout provided. The information on the quoin type can only come accurately from snaps – otherwise it will have to be guessed (maybe we could flip a quoin for it).

Secondly it became clear that as people responded to this initial request for snaps, that we needed to be much clearer about what we still needed for each street. For example it emerged that people found it useful to know how many quoins are predicted for a street as well as how many are missing; this allows you to grin like the Rube has just offered to trade a tomato for a Grand Ol’ Grinder, when you find a snap with all the quoins on it.

We have just finished this giant task of documentation and the Peons forum is now complete for all regions of Ur. This hall of shame contains entries for all streets which contain more quoins than those identified by the snaps we have currently in our grubby little mitts. Here is the page for Aranna and the third entry is that for Khubbani Siggara previously mentioned.

ElevenPeonsFinal

As you can see we’re still missing a lot of quoins, particularly the location of those pesky Qurazy Quoins (or QQs). We are also very interested in snaps which include the high value quoins at that moment when they popped and revealed the treasure therein.

However, although snaps continue to be indispensable for quoin placement, they rarely tell us much about the value of the pictured quoins or their spawn frequencies. Another tool that has proven helpful to the QA process are a number of video clips uploaded to the net by former Glitchen. Looking through these videos has helped us re-learn how certain quests or the odd basement street used to work. We are also using these videos to provide an indication of how we should consider configuring quoin spawn rates and values during the next phase of QA.

So we are now asking you to take part in one final push to help produce an ultimate repository of snaps and videos which mean we can repopulate the streets with quoins that are as near to the Uriginal (sorry couldn’t resist that one!) as possible. Please can you dig a little deeper into your memories and archives to see if you can find any more snaps or videos which can help us in our quest to recreate the streets of Ur as accurately as possible.

Please bear in mind the following points as you excitedly search for the lost quoins of Ur that are listed on the Peons forum:

  • We would welcome any quoin-containing videos that are not part of the video archives we have already identified. So if you spent some of your time in the game filming your travels around Ur, we would greatly appreciate it if you could link to your video or archive in the video section of Peons along with a brief description. Just use the ‘PostReply’ button at the bottom of the  Peons page to do this.
  • Using the power of Google™ we have already searched all the published snaps which were taken before Glitch closed down – the snaps that appear when someone clicks the “All Snaps by (Username)” link. Whilst this has been very hard work, it has been heart-warming for us to come across so many familiar faces and be reminded of the many creative events that took place before the end of the world. So you don’t need to upload any of these snaps for us.
  • Now, we are requesting any snaps that you didn’t publish, as well as screenshots taken using a method other than the in-game snapshot feature. For example you might have taken street snaps of your favourite locations and then saved them on your hard-drive. If this snap contains quoins which might be relevant for our search, then please let us have them by posting on the Peons forum.
  • We are particularly keen to receive full street snaps as these make placing the quoins accurately much easier because they are free from parallax effects. However partial snaps are still useful, especially if they contain the elusive QQs.
  • If you have snaps that document any of the high value quoins then please upload those for us to use – otherwise they risk being lost for ever!
  • You would also make a QA peon very happy if you could check that the snap you plan to upload doesn’t duplicate a snap that someone else has already posted for that street.
  • The title of the post for each street indicates the number of missing quoins and/or QQ. So for example ‘missing 1 quoin (of 4)’ means that we are searching for a standard quoin, whereas ‘missing QQ’ means we are searching for the Qurazy Quoin. Obviously ‘missing QQ + 1 quoin (of 4)’ means we are searching for the QQ and a standard quoin.
  • The entries for each region will be listed with the most recently changed post at the top. This is not ideal but is what you get when using a forum which costs no currants to run. However you can re-order the posts in the familiar alphabetical order by using the drop-box menus (sort by ‘Subject’ ‘Ascending’) underneath the list of streets.
  • Finally, please, please upload images to the Peons forum by following the instructions outlined by Sirentist. So avoid using the tempting “Img” tab on the reply window or the “Add image to post” as these use a 3rd-party to store the image … and sometime soon thereafter the link becomes dead. Instead please use the less obvious “Upload attachment” tab underneath the reply window because this provides a permanent link to the image. Go read Sirentist’s post as it is way funnier than this bullet point.
  • Note that there is a 5MB limit on the size of images that can be uploaded to Peons. If your street snap is bigger than this – and this might be true for areas such as Jal – then the file can be converted to a smaller size by following these instructions.

Rest assured, all posts will be looked at and responded to by the QA team as we use them to restore the streets to that glorious era before the end of the world took place (excluding the forehorsemen of course). The title of each post will reflect the number of quoins still being searched for – once we’ve found everything we are looking for, the post will be changed to say ‘|done|’ and donations made to the QA person’s favourite giant as thanks for the snaps and videos which made this possible.

Soon Ur will be back in all its former glory thanks to the efforts of people like you!

P.S. You might be wondering why there are so many bad puns throughout this blog. Whilst it might be a reflection of the kind of person who becomes obsessive about quoin location on a remote street in the Ancestral Lands, it is also a homage to the wonderful rhymes you’ll find on a few of the early posts on the Peons forum (see Toma Traverse for instance). Unfortunately it soon became clear that the completion of Peons would be severely delayed if we maintained the rhyming couplets and so that practice was soon abandoned.

A small peek into Ur

It’s been many months since we’ve been able to show off some basic gameplay, but we’d like to change that. We have a few videos planned for you all, so get ready! What I’d like to demonstrate to you today is how many higher-level things are happening in the background at the moment.

You’ll notice some weirdness which we will of course be attending to. Those poor street spirits will be dressed up properly very soon. If you missed Aroha’s tweet, we put a temporary room in the game for the locations we don’t have yet; this cut out a good number of errors so we can focus on the ones we need to fix. There’s some visual “noise” that’s from the god-client, like all those tooltips and things highlighting as I walked past them. (Or did that happen before? I forget!)

Anyway, without further ado:

A note on the achievements happening back to back: Glitch counted everything. I have been astounded looking through this code to see how much counting occurs. When we set up our player data for testing, by default we made them level 26 with some currants and iMG…the game just has a bit of difficulty parsing that with the fact that we didn’t earn them. Picking up a currant forces it to count, and it goes “yay, you have so much money!” and fires off all the relevant achievements.  Don’t worry, we’ll be starting from scratch when the time comes just like everyone else!

Tag! You’re it!

Sirentist told you about the user’s side of “tagging” in her last post, and now I’d like to add something about the technology behind this “tagging” thing and why we chose that way. At the end of this post you’ll probably be able to tell what the (boring) technical reason to call it “tagging” was, but I like Sirentist’s idea way better!

Before anyone was able to yell “Tag! You’re it!” several things had to happen. And before we even had the idea to solve our problem this way, we tried something else (and failed) … but let me start at the beginning.

TinySpeck released most of the Glitch source code (client and server) under a CC license.1 The important word here is “most” — they did not release everything, especially not all the data we would need to get back Ur the way it was before the world ended. There’s a lot to say about the things we do or don’t have; Aroha has already told you about it and I bet there will be more posts on the subject. However, today I wanted to tell you about some of the things we had to do to get Ur back to the state it was.

As Sirentist said, everything in Ur had its own TSID, which is the unique key or ID of every item, every street, every player and so on. For each of those TSIDs, there was an XML-file that contained all the information related to that object. Among the assets TinySpeck released were the XML-files for (nearly) all locations (streets). Each of those XML-files contains information like the label, the TSID, references to that street’s geometry files, a list of players currently in that street, and so on. In addition, every location had a list of items contained in that street. An entry might look like this:

<objrefs id=”items”>
<objref tsid=”IA5HOD6RUSF3922″ label=”Fruit Tree”/>
<objref tsid=”IA5C9TB8OTS2N5S” label=”Shrine to Zille”/>
<objref tsid=”IA5CH4UBOTS2TL5″ label=”Street Spirit”/>
<objref tsid=”IA23I4QA23T2L15″ label=”Quoin”/>
</objrefs>

As you can see, the XML-file for a location contains only the TSIDs and the labels of the items. So not only are we missing the position of the item in the street, but we’re also missing all detailed information about the items. Things like what kind of Street Spirit? What did it look like? What type of quoin? When was the last time that Fruit Tree was watered? How many harvests are left? I think you get the idea.

Getting this level of detail was one part of the problem. We needed some of those values to initialize the items in the street. That part can (mostly) be done automatically. We could create the items in-game and use the result as a template for our new items. So far, so good. But how do we get the original positions of the items in the street back?

Idea #1: There has to be a way to do this automatically

Well, I’m sure there is, but it wasn’t as easy as it first seemed. The idea was to have screenshots of all streets in Ur and then use those to automatically find the position of, let’s say a Fruit Tree, in a street. Thanks to Mackenzie2, we had a complete and perfectly organized collection of full street snaps. We used python and the initial results looked really promising:

snap

Find The Fruit Tree!

It looked like 90% of the job was already done. However, as is typical, the remaining 10% turned out to be a problem. We soon ran into several complications:

  • There is not one Fruit Tree; Fruit Trees exist in 60 (again in words: sixty!) different states.
    Fruit Tree

    Fruit Tree

    While this is not a showstopper, it would have made our progress significantly slower. We would have had to check for all 60 versions every time. Besides that, it would have led to a lot of false positives.

  • In some cases the items are really difficult to find with the algorithms we tried, like this dirt pile here:

    Dirt Pile

    Brown Dirt Pile on brown background

  • The XML-files that we have for the locations are from an arbitrary point in time, pretty close to the end of the world. Let’s call it foo. The screenshots we have of those streets, meanwhile, are from a different arbitrary point in time. Let’s call it bar. Now between foo and bar (or bar and foo, for that matter) the world changed. People poisoned trees, for example, and what once was a Fruit Tree (on the snap) became a Bean Tree (in the XML-files). Or the other way around. Or nothing was replanted and there was only a patch left. Or, or, or. In other words, many streets had XML-files and screenshots that didn’t perfectly match.

Altogether, these reasons made us give up on this approach and try something else…

Idea #2: Tag! You’re it!

So instead, we needed a “semi-automatic” way to solve this problem. In the end, a human being would have to decide what item to place where, but we could at least try to make that process as simple and fast as possible. After all, we’re talking about more than 21000 items on about 1300 streets.

Using the above-mentioned snapshots of the streets, we set up the first version of the “tagging server.” A small python web server and some magic jQuery libraries (similar to those used on some photo tagging sites) are the core components. We know what items are expected on a given street from the XML, and those need to get converted to our target format (JSON). With that info, we generate the colored list of items you saw on Sirentist’s screenshots. That list is updated on the fly so the tagger always sees the current state, without having to reload the page every single time. For every tagged item, we get a JSON with x- and y-coordinates, width and height of the drawn box and the TSIDs of the street and the original item. Then we use the geometry file of the location to map these pieces of information to a position in the street. Finally we use the label to create a new instance of the item class of that TSID (like our Fruit Tree). Repeat that about 21000 times and you get all items back into Ur.

Remember? This is where we went before we had the Spice Route

Remember? This is where we went before we had the Spice Route

When we started to work on this, I thought it would take a long time to tag all those items, but I was definitely wrong. With the help of some very enthusiastic members of Project Eleven it was a matter of weeks, and not months, like I had expected, and it was done. Of course, this is only one of many steps to get Ur back the way it was. But it does feel good to walk through the streets again and see all the trees and quoins and dirt piles and peat bogs and some of the old inhabitants!

 

 

1 I would like to thank everyone at TinySpeck again. Without the sources, without the instance of Slack we have or without all the help current and former TinySpeckers have given us, we would be nowhere near where we are now.

2 Special thanks to Mackenzie (Jade)! Her knowledge and experience have been invaluable for us!

Imagining Up an Alpha/Demo

I know one of the big things everyone is thinking about when it comes to our little project has to be, “When can I play!?!” I honestly can’t blame anyone. I mean, our friends over at Children of Ur have a playable demo up, so why can’t we? Well, there are a bunch of good reasons, which I’ll gladly go over, and let you know what we have left that needs to happen before we can allow any level of public consumption of the game.

1) Logo

As you may already know, one of the restrictions Tiny Speck placed on the use of their code is that nobody could use the names “Tiny Speck” or “Glitch.” While “Tiny Speck” isn’t as big of an issue, “Glitch” has its logo front and center while loading up the game.

This means we need to come up with our own logo and substitute it in. We’re lucky enough to have some creative people in our midst who are currently working on this. CoreParadox came up with a great mock-up and he’s working with DanteAmaya to refine it into something that we’ll be able to replace the Glitch logo with. Once we have something a bit more finalized, you can be sure to see it here first.

2) Authentication

We currently don’t use logins to specify users on our test systems. Instead, we’re taking a somewhat hacky approach, which, for the security of our test systems, I’ll avoid describing in more detail than to just say it’s hacky. A side effect from this approach is that anyone would be easily able to access anyone else’s character. I know I personally would hate to think of someone else messing around with my character while I’m away.

The biggest issue we have to consider while researching the possible approaches to authentication, though, is that we need a single login to work for every part of the website: the forums and activity feed, the vanity and wardrobe, the game and the auctions, and more. The good news is we’re wrapping up this research and are close to a decision. Stay tuned for more details.

3) Avatar Creation

Some of the items that weren’t included with the code Tiny Speck released to the public are the Vanity and Wardrobe. While we could (and still might) move forward utilizing a default avatar or even allowing users to pull their characters as they appeared at the end of Glitch, one of the big draws of the game is the ability to customize your experience, from your avatar to the way you play the game to the way you build your /home.

What we do have, though, are all of the assets that are used to build the avatar; we’re just missing the code to put it all together. Once we’re further on in the process of rebuilding this, we’ll post here with some details.

4) User Number Limitation (Temporary Architectural Design Restraints)

While we’re in the early stages of development, any demo we put out will likely be somewhat unstable and running on lower-powered servers.

What’s that you say? You’d be willing to throw some money our way to help with better servers?

Well, that’s great and all, but why don’t you hold onto your money until we have a greater need and a more stable system. While a beefier server might allow more people to be logged on at once, the risk of encountering a system-crashing bug due to the current instability would only go up as well.

How about adding more servers, you ask?

The problem here is our framework is currently only set up to run on a single server as far as normal game processing goes, and some of the high-level processes are in what we’re considering a ‘temporary’ state so we can access the game while we work out some of the details. It’s something we need to address, but it’s a little lower on the priority stack while we get some more basic game functionality working. Once we have the mechanics of the game a bit cleaner, we’ll work on how to spread the load across multiple servers. You can look forward to a blog post from our friend Aroha giving some of the more nitty-gritty technical details of our current setup soon.

So now you want to know how you’ll be able to play?

There are a few ways we could go here. We’ve come up with a couple options and may think of more before we get to this point. One option would be to have a closed alpha where we allow so many users to have access to the game over a specified period of time, say, a week, before removing their access and allowing the next set of users in. Another option would be to simply restrict how many people are in the game at a time, so you’d just have to wait in line until someone else logged out and a spot opened up.

I personally would prefer the first option (closed alpha). It would keep users from having the hassle of waiting to see if and when a spot would open up, and instead would allow unlimited access (minus server down time) over a longer period of time. It would also be a lot easier to implement.

To summarize, we’re a long way away from having things done the right way, but we’re working hard to make sure the amazing Glitch-loving community will have something they can jump in and try out.

More Than You Ever Wanted to Know About Tagging — And How You Can Help

Once upon a time, every object in the game that could be interacted with had its own unique identification code (its TSID). Every tree and rock and shrine and barnacle and quoin and (you get the idea) on every street was linked to a magic list in the sky that kept track of its TSID. When the world fell apart, the links between this list and the items themselves dissolved. The list still exists, and we know what items are supposed to go on what streets, but we have to rebuild the connections between the items and their TSIDs.

This re-linking process is what we’re calling “tagging.” I’m sure there’s a technical reason it’s called “tagging,” but the way it works in my mind is I’m grabbing the item and then smacking it with its TSID and yelling, “Tag! You’re it!”

For those interested in the process, here’s how it works. First, the tagger claims a certain region that she or he will be responsible for. Tragically, this does not involve visiting that region and peeing everywhere in a territorial way, but rather is a matter of going to a special site that has a list of all the regions and simply checking off the one you’re claiming. Some of us find this very anticlimactic, but we are willing to make personal sacrifices to further the development of the game.

Then the tagger accesses the appropriate street page on the tagging server. This page shows an image of the street, complete with its items, and underneath is a list of those items and their TSIDs. Here’s an example of the tagging page for an untouched street:

Oh, look! All those words underneath the picture go with things in the picture! This is ridiculously self-explanatory!

But here’s what the same street looks like if you go to it in the game:

kalmarewaresoempty

What, no shrine? Get me back to the tagging page before my heart breaks all over again.

Back on the tagging page, the tagger selects an item from the list and then uses the cursor to tag, or create a bounding box around, the appropriate item in the image. It’s not required to yell “Tag, you’re it!” every time, but some of us who prefer to remain anonymous might do that as a way to stay entertained, since otherwise tagging can be a tedious process. Also it helps mitigate the disappointment of not having had a chance to pee territorially anywhere.

kalmareware1tag

Tag! You’re it!

Once an item has been successfully tagged, magical invisible things happen and the tagger waits impatiently until the text turns red, gets a line through it, and drops down to the bottom of the list.

kalwaremare1tag2

One down, 21,456 to go …

When this happens, it means the link between the item and its unique TSID has been re-established, and the game will now be able to display the item. The tagger does this for every item on the street.

kalwaremaretagged

Seeing all the tags crossed off is inordinately satisfying.

Every so often, Scheijan saves the changes the taggers have made, which means we can then log into one of the temporary servers and actually see the items on the street again. Here’s the street as it looks now:

kalmarewarebetter

I just donated precious minutes of my life making it so you would reappear. What more do you want?

By this method, the slow process of bringing life back to Ur becomes visible in a tangible way.

 

 

As you might guess, some streets are easier to tag than others:

unclefriendlys

Hell, I could do this with my eyes closed.

And some just make you want to cry:

thicketkillmenow

Seriously? This can’t be right. Someone please kill me now.

 

In a perfect world, every list item has a visible item in the image to go with it, something you can literally draw a box around to tell the game exactly where to generate it. But quoins (along with a few other things) are a special case, since what we’re identifying isn’t the quoin itself, but the location of where it should spawn. The way we determine the locations is to look through all the publicly-available images we can find, hoping someone managed to catch a snap showing unclaimed quoins in the background.

Luckily for us, there were some dedicated people who made a point of taking snaps of streets before the game closed down. While often the endeavor involved getting “clean” snaps (i.e., snaps with no quoins or animals or discarded items), some folks managed to capture images of entire streets, complete with many, sometimes even all, of their quoins. Sometimes even the Qurazy Quoin! People like Cleops and the ECATS group might not have anticipated it at the time, but it turns out their treasure troves of images have been invaluable to us as we try to put things back where they once were. (In case you’re interested, Cleops’s collection is here: Cleops’ full panoramic snapshots and ECATS’s is here: ecats_glitchsnaps’s bucket.)

When those resources fail, we resort to good old Google. The process of going back and forth between public images and the image we’re tagging can be slow and frustrating, especially on streets that very few people took snapshots of. And sometimes, no matter how hard we look, we end up with TSIDs in the list that we just can’t associate with any known quoin locations.

That’s where you come in! Do you have lots of snaps you never published? Screen captures you grabbed without using the in-game snaps feature? Are you willing to share any of them for the greater good?

If so, we humbly beg you to hop over to our totally fake, temporary, and stupid-looking forum (Eleven Peons) to take a look at the streets we still need to complete. If you happen to have a snap with quoins for a street we’re missing, you can just upload that image directly from your hard drive (or link to it, if it’s already online somewhere) in a reply on the appropriate forum thread, and then we taggers will use it to add the quoins. Also we will love you for all eternity for helping us out.

Note that this fake stupid forum is just a stopgap measure to enable you to easily get images to us, and it will have nothing to do with the real and totally not-stupid forum that will eventually be connected to the game in the same way the Glitch forum was connected to Glitch. The stupid fake forum will likely be deleted in its entirety when this part of the project is complete. In the meantime, we’ve named it the Eleven Peons forum to make sure everyone realizes it’s not an official Eleven Giants project. And also to be able to at least say “peon” a lot, even if we’re not allowed to actually pee on anything.

Also, while we’re trying hard to replicate stuff as closely as we can, we know it’s going to be impossible to put every single quoin perfectly back in its original location. And that’s okay. In such cases, we just look around and pick what seems like a reasonable spot. We know we won’t get everything right every time. We know that someday we might be walking down a street and hear some Glitch say, “Hmph! There was never a quoin here in the real game.” And we’re okay with that. Well, most of us are. I, personally, will make a point of smacking that Glitch over the head with a TSID and saying, “What are you complaining about? You’re walking down a street in the game! Did you ever think you’d do that again?” But that’s just me, I’m sure.

We know this is only the very beginning of re-imagining our beloved world, but bit by bit, and with a little help from our friends (this means you), we’re trying to make it happen. So head on over to the stupid fake forum and take a look through your unpublished snaps and screenshots to see if maybe you caught something that we’re missing. And thank you in advance for any little tiny speck of assistance you can offer!