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!

Eleven, Flash, HTML5, and You

It has been asked numerous times, both from inside and outside the project (it got asked so much in Slack that I finally had to append to one of our channel topics a statement informing readers that we are not, in fact, rebuilding the client), why Eleven is using Flash instead of HTML5 to build the game client. We appreciate the concern, and as a matter of fact, have discussed the topic fairly extensively. I myself have tried to answer the question many times, in many places, but have never really taken the time to provide a comprehensive rationale for our continued use of Flash.

I suppose the first misconception I’ve seen floating around is that using Flash allows a quicker path to launch, but absolutely no other benefits. From my perspective, the opposite is true. By sticking with Flash for the game client, we actually gain numerous advantages. I’ll address the most obvious (speed of development) first, followed by the two most common concerns people see with Flash (performance and mobile), then discuss the technical hurdles we would face implementing a game client in HTML5, and finally discuss what matters most to me personally: providing an experience on par with that offered by Glitch.

The most obvious advantage gained from continuing to use the Flash client is speed of development. The very first milestone our team accomplished (way back in November, but time has flown and it feels like we’ve progressed so far since what seems like a rather short time ago) was the successful compilation of the Glitch client as provided to us by Tiny Speck. For those who are curious, the process is something like this. My method differed slightly, but the essence is the same. It’s not necessarily a complicated thing to build, but the fact that building the complete client was still a process that took hours to figure out meant that we were dealing with quite the complex beast. It’s about half a million lines of code, and rewriting it would take a significant investment of time. We’re by no means in a rush, but people would like us to open in a (reasonably) timely manner, and we’re trying not to waste your time (as I’ll continue to explain in a bit); HTML5 offers no practical benefit, but numerous downsides, anyway. ūüôā

Next up are performance concerns: What are the performance implications of Flash versus HTML5? Not being much of an optimization guru myself, a cursory look at the Glitch client, which still feels like it¬†should run better on the rMBP I bought a couple of months back, would lead one to believe there’s much room for improvement. And maybe there is. However, that improvement would most likely be found by tweaking the Flash client, as opposed to switching to HTML5, which is hardly the performance savior it’s been depicted as. A quote from Cal (Bees!) of Tiny Speck:

“flash is a bit of a performance hog” – try running the same graphics in html5 and you’ll find that flash has very very good performance. unless you’re going to rewrite the client in unity/native-code then flash is going to give you *much* better performance than html5

While I’m in full-on TS-quoting mode, I should also mention the pathway Jono has mentioned for optimizing the Flash client:

 

“the memory leaks are in the game client, it needs a lot more object pooling”

the game needs 3/4 GB minimum”

We cache assets in memory indefinitely too”

 

Suffice it to say, the Flash client could use some work, but in general, the client¬†works, and in the grand scheme of things, works¬†well, so it’s not on the list of things that’s holding us back from launch, at least in my perspective.

 

Next up is the relationship between Eleven and mobile devices. In short, such a relationship would mean certain disaster. MMO’s generally are not something you want to implement on a mobile device. Once again in the words of Cal (and taking another opportunity to shamelessly plug Slack – its search functionality has made finding all these quotes a piece of cake):

 

you can compile some flash to ios/android, but:
1) adobe have given up on that
2) it was built for very simple stuff anyway
3) glitch requires high bandwidth / low latency that you generally don’t get on phones
4) it’s very cpu/gpu intensive with lots of very large textures
5) mmos aren’t really possible under ios app store guidelines – the content & behavior needs to be built into the app
6) typing & playing on a tablet is pretty terrible
glitch is not a game that was designed for or could work (as-is) on mobile
In short, an MMO,¬†especially a social MMO like Glitch, is not something you’d want to play on a mobile device. The experience would be awful, and it would also discourage the social behavior we’d like to encourage. Speaking from personal experience, I frequently remoted into my web server from my phone to chat with people in Glitch, and it was almost impossible to hold a fluent conversation. We seek to offer a pleasant experience, and supporting mobile devices would degrade that heavily.

 

The penultimate reason for our decision to stick with Flash (and the part of this post that [finally] includes the cool screenshot you’ve probably been waiting for, and may well have skipped through the rest of the article to find) is that the Glitch client is a technical marvel, that would be next to impossible to replicate. But, you say, shortly after The End of the World, there were various HTML5 remakes of small parts of the game! True. But some of the more difficult parts to re-implement are the ones you don’t see. Namely, LocoDeco, the Eleven/Glitch level editor.

Game___Glitch_18AD7E83

As you can see, it’s a fairly complex tool, and possibly one of the more advanced things ever done with Flash (I’m not the only member of our team to have made this observation). Its use is reminiscent of Photoshop in a way (and having used Photoshop most certainly helps one figure it out). Even if HTML5 were more mature as a technology, I highly doubt something like this would be possible to implement in it (as it is, it’s a testament to the coding prowess of Tiny Speck that they managed to create such an advanced design tool in a platform originally designed to play simple animations on web pages).

 

Finally, there’s the reason for sticking with the Flash client that matters the most to me personally. It’s why I’m so passionate about this particular issue. In order to deliver an experience that “feels” like Glitch, we need to use the Flash client. Even if it came at some cost in other areas, that’s priceless. We need things like the physics engine baked into the client to work exactly as they were, or things just won’t feel right. If we thought we could’ve done this without the myriad resources Tiny Speck released into the public domain, we could’ve started much earlier (and yet, we probably wouldn’t be nearly as far along as we are now – building an MMO from scratch is nigh-impossible). And using the client TS so graciously provided to us, that can happen. I think Kukubee put it best a couple of weeks ago when we demonstrated our progress to a few of the folks at Tiny Speck:

 

Kukubee: “damn motherfather, this is glitch!”

 

And that’s exactly what we’re going for. Nothing less. We’ve discussed it time and again, but if we wish to provide a quality experience, it’s the only way to go forward. I suppose that ultimately, I don’t get the affinity toward HTML5. Presumably what everyone¬†really wants is the Glitch experience they know and love, and we’re trying to deliver that in the best way possible.

A Wealth of Projects

I’ve noticed some chatter in the Glitch loving community about how they’re concerned about how the multiple efforts that are ongoing to bring back the world of Ur might divide the fan base and they would really wish to see the different teams collaborate on one project.

I can understand the concern, but I don’t see it as a problem so much. ¬†While all of these projects are trying to rebuild some level of the world we all loved so much, we all have different goals with different paths to reach those goals that aren’t all compatible with each other. ¬†Instead of seeing this as a short term problem of dividing a community, instead look at is as an opportunity for innovation for the future. ¬†The ideas and effort that are being poured into each one of these projects is bound to come up with something new and different, which can likely be integrated into other projects if some of them fail. ¬†In the end, once you account for all of the ideas and innovation being put forth by all of these groups, perhaps it will help bring about something that can be more successful than the sum of its parts.

All in all, look forward to the future! ¬†It’s not every day assets like this are released into the public, and only good can come from it. ¬†While I really hope that myself and this amazing team that we have here are able to be a part of this successful product that I’m envisioning, I’m proud to be a part of the journey if nothing else, and I wish nothing but the same to all of the other groups as well.

Also to help ease concerns a little bit, there have been at least a couple points of communication/collaboration between teams.

  • Children of Ur – Paul, their leader, is a member on our Slack instance, and we’ve had brief discussions of potential collaboration in the past, but don’t have any current plans.
  • Gourdian Knot – Turnip, their leader, is also acting as our systems administrator and has been an invaluable member of the Eleven team.

For links to a few other projects, check out our other projects page, and if we’re missing something, please drop us a line at contact_us@elevengiants.com with details.

Tiny Speck Launches Slack

I’d like to send congrats out to our friends at Tiny Speck for launching their amazing new team collaboration tool Slack¬†on behalf of the Eleven family!

For those who may not be familiar with it, Slack is a great team collaboration tool that can be used to more or less eliminate the reliance on e-mail and instant messaging tools between members of a team and it’s easily configured to interact in very convenient ways with a large (growing) number of third party tools including source control, bug tracking, project management tools and a host of other things (a couple that we use are Git and Trello). ¬†It’s where our team was formed to start and it’s been helping drive us forward at this great pace that we’ve been making so far. ¬†I can seriously say that I don’t think our effort would have made it this far this easily without it.

If anyone reading this is working in a team environment, I’d seriously consider giving Slack a try, you’ll be thankful you did. (No, we aren’t getting a kick back or any incentive for endorsing them, it’s just a great product.)

Nottis, anyone?

Screen Shot 2014-02-10 at 5.40.25 PM

Lotha Harte lives! No heart yet, but once we have those God pages sorted out we will be able to program that back. We do have scrape-able ice nubbins, which is exciting! Look at those wonky quoins though – I can’t wait for the next phase of our QA process to get started.

To answer a question posed in the comments of the last post, we are currently able to access all of Ur that existed on the world map. Instanced locations like Hell One, or the Subway are currently inaccessible. We’re working on it!

Empty Ur, no longer!

When we got our hands on this code and started reassembling the pieces, we were able to walk around in Ur fairly quickly. It was an amazing and emotional moment for all of us. We could only run the game locally, so there were no other people. What made it more lonely was that the world was totally empty! There were no rocks, trees or animals; no street spirits or shrines, or even quoins! The task of putting them back was more than a little staggering!

Upon investigation of the XML data included in the repository, it turned out that there were 21,457 items in Ur that existed all the time…that does not count anything that a user could place, like notes, food items or anything else that could be dropped.¬† To complicate things further, we knew WHAT belonged on the street, but we had no indication as to WHERE it should be placed. The only way to get these things back? We had to add them one at a time.

Thanks to our resident genius Scheijan, and a handful of people who enjoy (seemingly endless) mindless work, we have a system that allows us to “tag” an item based on full street snaps, which would place the item in the game in the approximate right spot with some scripting magic. Without the parallax effect, this is not a totally accurate process, but it does a good enough job for now! Here is an example of how items look when you can’t account for parallax:

Close, but not quite!

Close, but not quite!

You can see how the arc of quoins is squished – on the tagging page, it probably looked like it was spread out the correct way from the landing on the right to this bigger landing I’m standing on. You can also see how the tree is a little too far back to be accurate. But, it’s THERE!

This is what an unconfigured animal spawner looks like, along with a poor, mismatched street spirit:

Screen Shot 2014-02-03 at 5.14.25 PM

Signs of life…

All of these things will be fixed in what we are calling “Step 2”, which is going to be a fairly major QA process to configure all the spawners and street spirits, randomize the types of quoins that show up on each¬† street, along with moving the trees, rocks and quoins to their proper positions. I’m currently working on how I would like to tackle this, but some other technical wizardry must happen first. Each item in Ur had its own “God Page” which allowed the developers to configure every possible asset to each item. We don’t have the code for the God Pages from Tiny Speck, so we’re going to have to come up with our own. Scheijan and Aroha are debating the best way to handle it!

Finally, this is a visual summary of statistics that represent a few weeks’ work:

Screen Shot 2014-02-03 at 5.34.41 PM

I can’t believe how far we’ve come! We thought we’d done an amazing thing when we’d placed 1000 items. There are only about 8 of us doing a majority of the tagging! We intend to keep up the good work while the coders work their magic to get Ur back to the way it’s supposed to be!

Blog launch!

While LadyCeres already said welcome, I wanted to expand a bit more on what you’d be able to expect from this blog and what we’re currently up to and who you can expect to hear from.

  • Screenshots! ¬†Any time we get something amazing working and want to show off, you can bet you’ll see it here first!
  • Status updates. ¬†We’ll keep you informed of where we are with regards to making progress on the various things we’re working on.
  • Technical overviews. ¬†If you’re wondering what technology we’re using to store all of the Eleventy bits or what exactly is driving that piggy cubimal to run a lousy 2 planks, we’ll give you a peak into how we’re doing those things.
  • QA work. ¬†We’re currently organizing our QA efforts to ensure all of the Glitchy bits translate well over to Eleventy ones. ¬†It’s actualy a very large and involved effort, which you’ll be able to learn more about as they make progress.
  • Help wanted! ¬†Every time we need someone with a specific skill to volunteer a bit of time to our effort or we need some extra people to test this or that, we’ll let everyone know here, so stalk the RSS feeds if you want to help out (you know you do).
  • Other Glitchy projects. ¬†If you’re wondering what else there is out there being built on the legacy of Glitch, we’ll be glad to point you in the right direction. ¬†Over on the Other Projects page, we’ve already linked to a few of them. ¬†If you’re aware of any more that we’ve missed, let us know and we’ll be glad to add it.
  • And tons more!

Now for the blogging team!

  • KaiyonAlatar: ¬†That’s me! ¬†I’m working hard to keep this whole project organized and guide the directions we’re taking and jumping in on the coding where I’m able.
  • LadyCeres: ¬†QA lead on the team. ¬†She put together this first iteration of our website and has lead the effort to put everything back where it belongs in our beloved world of Ur while the techies get those things working properly.
  • Aroha: ¬†One of the resident techies you’ll hear from. ¬†He’s shoulder deep in the code building up the missing pieces.
  • Sirentist: ¬†Holder of tons of Glitchy knowledge. ¬†She’s bringing her vast stores of data to help rebuild Ur.
  • Scheijan: ¬†Another of our amazing techies. ¬†While he’s also got his hands in the code, he’s been building tools to help make the Glitch to Eleven transition easier.

To see the rest of the team, along with their ‘role’, head on over to the Team page. ¬†It’s still a work in progress, so not everyone is currently represented, but we’ll try to keep up to date as much as possible.

And last, but definitely not least, I just want to give a quick shout out to Tiny Speck. ¬†Without the amazing game that they built and decided to give the majority of its building blocks out for free, their brilliant new team collaboration tool Slack and some helpful guidance, we wouldn’t have made nearly as much progress as we have so far. ¬†Thank you!

%d bloggers like this: