I've put together an asset grabber for Metaplace to make it easier for users to download scripts, images, sounds, tiles & maps (for each place) and initial tag stream from their various worlds. This is basically a mini client that connects to a world and parses the lists of assets that are normally sent to clients.
A few things to be aware of:
The username supplied is case-sensitive and must be exactly the same as displayed on your metaplace profile. e.g. Obo not obo.
You are required to provide your metaplace password. Just be aware this is not an official metaplace service! That said, your password will not be stored anywhere. Just be aware of any similar service that does as for your password.
Once you submit the form nothing will appear to happen other than the browser will appear to be connecting to oscan.net. This is the way it currently works, so just let it be! Once it has grabbed all the assets it will pack them into a Zip file and then give you a prompt to download it. Don't hit the submit button twice!
This process may take a while for large worlds, so BE PATIENT! If the browser looks like it is doing something then just let it work away.
Where possible use the "local only" option to only get 0:x assets if you don't need everything from the world.
If you get an error link "could not connect to game04.metaplace.com:5101" then try again later. Your login session tried to connect to a server and/or port my web host hasn't put on the white-list to allow connections.
If an asset could not be downloaded it should be listed in the error_log provided in the zip file.
While it works for me it very well might break, and there is not much time left to allow more testing! If something goes wrong leave a comment here or use the contact page and I'll try and track down the problem.
I'll see about making it easier, more foolproof, to use in the next few days if needed.
[edit]
Fixed an issue with the content of downloaded scripts being a web-api error message like...
[S_ERROR]|110|web_api|You have exceeded the maximum of 50 requests per minute.
Too lazy to check if there was an actual error, so I just rate limited it to one script per second, or three seconds for every tenth script.
I also altered the 'Local Only' option so that you could set a specific worldscope, instead of just 0:x.
[edit 1st Jan]
For some reason access to the game servers got blocked again, so this wasn't working from around some time last night. Should be up and running again (apart from the bits that don't work :P).
With the closing of Metaplace a lot of its users are now asking themselves "where to now?". Some are looking for another social hangout, others, like myself are thinking more about game development environments. There has been a lot of talk about Unity 3D, which I've been meaning to have a look at for a while, but first I think I'm going to try out Flash... again (although to be pedantic it'll be Flex).
After my 'success' of creating That Falling Block Game on Metaplace (okay, okay, I'll finally admit it... It's TETRIS!), and buoyed by the success stories of others, I thought I could try my hand at creating a real flash game rather than trying to contort a virtual world platform into one. So last summer, after finally figuring out you could create flash apps for free with the command line flex compiler (therefore avoiding the need to spend hundreds on the Flash development program) I started to make a flash game!
Adventures in Actionscript The scripting language, ActionScript, had changed a bit since I had last played around with it, so I used this great tutorial for making games in flex to get myself up to speed (since AS is from the same family as JavaScript it wasn't too hard to get in to).
I had decided to try and make a Peggle like hit-the-targets-with-the-bouncing-ball game, just without gravity. That was probably my first mistake; wrangling with physics while trying to learn the ins and outs of a platform is probably not the best idea. My second, and most likely biggest, mistake was to write all that physics interaction myself, rather than use a 3rd party library. It seemed a somewhat reasonable decision; there was only going to be one moving object, with everything it could collide with being stationary (walls, circles and slingshotting around black holes). I had worked on this game on and off over three months of the summer and most of that time was spent trying to get one ball to bounce correctly off those various surfaces, or ensuring that it would bounce at all and not just pass through the object.
Ultimately it was never finished. The last version of the game was complied on the 27th of August, full of debug code...
(hit r to reset if the ball gets stuck somewhere)
The aim of the game was:
Hit each of the targets in sequence. There could be up to eight, where they were coloured red, orange, yellow, etc. Each time you hit the next in the sequence it played a musical note on a scale.
The player first places the ball within a small starting area and then aims where to shoot the ball (fine-aim with mouse-wheel or x/c). From then on the player has no control as the ball bounces around the level, hitting targets and traps.
You started out with 3 hit-points. Each time you hit the next in the sequence you got an extra hit-point. Each time you hit some spikes you lost a hit point.
When you got to 0 hp the level reset.
Getting too close to a black-hole and falling in would reset the level.
If you have more than 3 hp you could spend 3 hp to stop the ball in its tracks so that you could re-aim without resetting the level (single-click while ball is moving).
When aiming you could increase or decrease the length of the aiming guide line (up or down keys), which would have modified the amount of points you could get (the longer the line the fewer points you would would get during the level)
For each level there would be at least one way to aim the ball in such a way that you could hit each target without losing any hit-points (a perfect completion)
Those last two were what probably lead to me dropping the project (or at least turning a break into an indefinite break). Although there were still some annoying collision bugs to iron out, most had been taken care of and I was beginning to move on to actually creating levels. I hadn't made a level editor, instead defining the levels in text files as a list of objects and their positions and orientations. This is what originally lead to the extendible aim guide in order to try and find at least one perfect route per level. It was a rather clumsy way to go about building a level; I'd enter an object into the text file, recompile the flash movie, play the level to see how it interacts with the path of the ball, make adjustments in the text file etc. etc., all the while the aim guide was buggy in its own collision detection.
Luckily before I got too far in this mind numbing process I noticed something odd about how the ball would bounce off the circular targets. A small difference in the approach trajectory of the ball to a circular target made a larger difference in the departing trajectory. When trying to aim the ball so it would hit multiple circular targets in succession, a tiny initial fine-tuning in aim resulted in a massive difference in the path after a few bounces. Whether this is just a property of collisions between circles or as a result of my code, it would have taken the only form of skill and control away from the player, leaving them with just a shoot and hope strategy, as well as making an already painful level creation process near impossible.
I decided to put it all aside for a while, but then never revisited it to find the actual cause.
Back to square one With my impending post-Metaplace attempt at entering the flash game scene, I hope I'll have learnt the lessons of my previous effort and start out with something a bit less chaotic. A bit more mundane. Like a colour-matching game!
It was in the middle of my 3,487th game of spider solitaire (on medium I must admit) that I thought 'I could turn this into a simple match-5 game, with coloured shapes in place of suited cards!'
So come January 2nd that shall be my task, and I give myself... oh, lets say two weeks to get it done!
So we got the news yesterday that Metaplace.com will be closing down as a User Generated Content platform at the end of the year, a little over two years since alpha testing first began. My sentiments pretty much echo those of Crwth. Metaplace had the right ingredients, but perhaps just needed a pinch of something or other and a little bit longer to cook before serving.
I first got my hands on Metaplace, after following it from its announcement, only a few months after alpha testing started; and other than a handful of days where I hadn't been online, I've been there every day since. Even during the weeks when I didn't even touch the building tools I was always sitting in Plain Old Chat keeping up to date with the goings on of the community.
To me Metaplace was a way to help me understand the making of games, providing an engine for rapid prototyping and a great way to get rapid feedback from the community. I tried a number of projects with varying levels of success, the best of which ended up as featured content in Metaplace Central.
Initially I thought the appeal of Metaplace was that it was going to allow people to make their own little mini MMOs (mMO?), but for a large part the visible community ended up being a bunch of 12 year olds pretending to be 14 year olds looking for 'boyfriends' and 'girlfriends', whatever that means in a virtual context. The more dedicated builders began to retreat into various unseen corners while still creating some great content in the form of Adventure games or Platform games or other interesting experiments.
Over time I had been making little MMO systems, such as health bars and skill toolbars, for people to use to try and make games; although I could probably have made them a bit easier to use! I only just recently started to pull these together myself in an attempt to create a group based dungeon crawl. It had been a while since I had made anything in Metaplace and working on this, coding AI, making walls disappear when you walk into a room etc. was getting me excited about the whole thing all over again.
I was also just starting to help work on Crwth's HTML5 client, which I was finding really interesting.
But alas, it is not to be.
I'll be interested to see what now becomes of the Metaplace platform. I'm thinking we will be seeing professionally created games come out of it, rather than the "virtual worlds for everyone" approach.
All the time I spent on Metaplace was time well spent. I learned a lot, got to know some great people, which will all undoubtedly have an effect on whatever future projects I end up working on.
Last week I finally got around to adding an azimuth fine tuning controller to my diy equatorial wedge, which is little more than a bunch of M6 fittings fixed to both the wedge body and one of the bolts that attaches wedge to the tripod. I only just got around to it as I the original bolts I got for the tripod were not long enough (there were in fact flush to the tripod body), so I had to go to a specialist trade shop again to get the mtyhical UNC thread bolts and nuts.
When the tripod bolts are loosened I can then use the wing nuts on the side mounted azimuth control to make slight adjustments to the azimuth angle when attempting zero in on Polaris while doing a 'wedge align' as a part of the equatorial alignment setup; there is enough give on the size of the bolt holes on the wedge to allow some rotational movement.
Hopefully this works out better than the disastrous results that come with picking up the entire gear and trying to shift it slightly one way or the other!
Now I just need some clear skies... on a night that is not too cold please!
There are those in the Metaplace community - those who inhabit the dank, dark avatar-less backwaters - who strive to know as much as possible about inner workings of the system. Those who make clients, who probe for weaknesses in closed-source scripts, who still mourn the loss of OutputToUser(), and get very grumpy at undocumented changes.
When server update notes are released they don't just look at new features thinking 'how could I use this in a game?' but also 'how could this be abused?'
Raph recently gave an interview at the Austin Game Developer Conference, during which the topic of Star Wars Galaxies and its resource system came up. It didn't take much for me to start thinking about the way I wanted to handle resources in Tile Tactics, or the more idealised version in my 'dream mmo'.
Not that I'm under any illusions that anyone is actually reading this, let alone finding anything worthy enough to comment on... but, if such a fictional person did exist and did try to comment and did get stopped by my insanely simple yet infuriatingly pedantic bot filter... ahem, well that's been fixed!
Bug hunting inadvertently inspired by todays xkcd.
"If a blog post exists on the internet and nobody reads it, does it make a cry for help sound?"
I think this could probably fulfil the role of the requisite 'emo blog post', as per contractual blogger obligations.
I think I want a "I sold my non-existant soul to the Internet and all I got was this lousy blog" tee-shirt in return. At least it won't be a LiveJournal kind of emo!
My quest for long(er) duration astrophotography has been a bit hit and miss. Mostly miss.
There are three basic system that I need get working correctly before I can even take one simple shot successfully; focusing, camera control, and alignment.
Focusing may seem like a trivial issue to deal with but my camera tries to make it as difficult as possible. My Canon EOS 10D was the last model of its line that went without any sort of Live View functionality, which means that you cannot use the cameras LCD screen (or better yet a computer screen, i.e. Remote Live View) to view the scene before taking a shot in order to get good focus. The only way to focus the telescope with the camera attached is to use the cameras viewfinder. At the best of times it isn't easy to actually see any stars through the tiny viewfinder in order to get a fine focus; then throw the usual light pollution into the mix. If you reposition to a star that you can actually see you may be bending over backwards just to actually be able to see through the viewfinder at all.
But then when you think you are actually focused, with lovely pinpoints of light for stars, what ends up on the exposure are big blobs of light.
I thought this focusing issue was going to be the main thing holding me back and that I'd probably be better off just getting a different camera, but I eventually found a little program called DSLR Focus that takes a series of quick shots and allows you to slowly tune in to a fine focus (and you can be sure it is focused!). The same could be done manually with some of the Canon utility programs, but the mere thought of doing it that way would just make me want to give up the whole thing.
So focusing solved, what about controlling the actual taking of pictures?
Typically DSLR cameras on their own can be set to take exposures of up to 30 seconds in duration. If you want to go for longer you need to use the 'bulb' setting and use an attached triggering device. The ones you can usually find a manual triggers, either wired or remote, but I'd want to be able to take a series of specifically timed exposures, preferably using a program like Strak-Labs DSLR Shutter. So I'd need a way to trigger the camera via the computer. I found the schematic for such a thing, which looked simple enough, so I got out my rarely used soldering iron and had a go at putting it together.
It's not the prettiest thing in the world (maybe I should actually go join the local hackerspace and learn how to solder properly), but it does work... well, at least some of the time. I've had it out at night with the telescope once and although it was triggering the shutter it wasn't holding it open. I've since gotten that to work with changing a setting in the program (for some strange reason I ignored the setting labelled for the Nikon D200).
But then yesterday I decided to try to use it to take shots for a time lapse video test, but it failed to work at all! I ended up connecting directly to a USB-to-Serial cable, bypassing my hacked together monstrosity, which may or may not be entirely healthy for the camera but it worked this once.
Over an hours worth of boring clouds in 20 seconds
So I'll need to figure this one out before attempting to use it with the telescope again.
But that isn't what is really keeping me from taking a decent astronomy photograph. It is the alignment that is holding me back.
I think my inability to cut or drill straight is coming back to haunt me, because right now the wedge just doesn't seem to be working out too well. Every attempt at alignment so far has been waaay off, with a five minute exposure leaving a lightning blot like zig-zag streak.
One issue is that I may just be setting the altitude angle wrong, as I don't have a relatively easy way of actually setting the angle (the threaded rod is great for actually changing the angle, but I'm just not quite sure what angle it is actually at).
The other issue is a complete lack of any sort of azimuth fine control. If I want to alter the azimuth I have to actually move the tripod itself, which is... eh, not ideal.
There are a few adjustments I might try in order to overcome these problems.
I knew from the start that the wedge just might not work out in the end, but I'm not giving up on it just yet. I put too much bloody work into it!
By 2005 I had really started to get more and more interested in game design and development and was building up a bit of a library of books on the subject. I had even started making games, having gone through a few projects over the course of the year (that's not to say any of them were ever finished!). The first of which I had totally forgotten about until I found it again just now.
It was really a project to try and learn some Flash, but as a "Hello World" goes it was a bit over the top. It was a turn-based territorial game that connected to a MySQL database via PHP. The grid that represented the map was built using dynamic 3D elements, so that you could zoom in and out on it and also rotate it.