davidn: (prince)
Looking through the Steam partner interface when setting Crystal Towers 2's sale price, I realized I had forgotten about the pockets of backstory that I had to make up on the fly to get my trading card rewards accepted! Here are the emoticons that you can gain as a result of card trading...

Abbot Percival XXVII is the current head of the Column Temple - all Abbots have been required to adopt this name at confirmation after somebody ordered a hundred numbered "Percival" name plates by mistake. He is considered a firm but fair leader, although his trumpet practice is universally feared.

Bernard is the Column Temple's night watchman, but isn't fantastic at the "watch" part and regularly has to retrieve the Life Crystals when they're stolen. He knows people at the temple think he's a layabout, but he prefers to keep under the radar, because he is granted free accommodation and meals for getting to go out and wallop monsters nightly.

Cumberbatch is second in command at the Music Castle. To make up for his lack of opposable thumbs he flies about using a helicopter pack, though it's unclear how he put it together.

The orbs are said to power the Music Castle's portals into other places in the kingdom, but nobody has ever got a satisfactory explanation as to how they work. Perhaps, like all catlike creatures, the Keepers just like shiny things.

These crystals were created as decorative vessels for the Instruments of Power, and so that the Keepers could take naps under their cosy half-shells when opened. They make pleasant dinging noises of several tones when struck in various places.

Prior Cheese has been assistant to the temple's Abbots since as long ago as anyone can remember, making some people suspect he is not a human at all but some sort of robot from the future. He wears his sunglasses at all hours of the day and nobody can recall seeing his eyes (or hair). He is frankly regarded as a bit of a schmoozer.

Wilkshire is the head of the Music Castle, a position he earned after receiving the Loveliest Tail award several years ago. His duties are unclear, but he is well-liked and highly respected.
davidn: (rant)

Making good bosses is hard - the idea behind them has got to be varied and fun while still presenting a challenge, and there's a lot of programming for a small section of the game. Ideally, I think they should seem overwhelming at first but then become easy as you watch their movements, learn the openings and start to fight back effectively.

For people who allow their progress to be updated to the Crystal Towers 2 site, I keep track of how many times bosses have won agains the player and how many players have defeated them. "Score" is [times won]/[times lost] - I think that 2 is a pretty reasonable score to expect, as it implies that players lost to the boss twice before beating them on the third attempt, a decent balance between presenting a difficult enemy and keeping the game going.

It looks like Beam Stack is still the hardest boss, although not by as ludicrous a margin as before - in the first version of the game its score was up at 12 or so. All it took was a little change - making its laser turrets to flash before firing made it much fairer and I think it's one of my favourites. The next hardest one is Xenon Squad, which is fought in a different way from everybody else - its high score might be because players are spending lives working out what they're meant to be doing, though I tried to hint better at this in the new edition.

At the other end of the scale, The Cleaner is exactly where it's supposed to be - it's an introductory boss and even though I actually ramped up its difficulty this time around, it's sitting comfortably near 0.5 (you'll probably win against it first time, but if you don't, you'll get it next time). The absolute lowest is Lava Tank, which is easily my least favourite of the bunch - I think it was the first non-platform-style boss I made for the game and it just wasn't challenging enough despite my attempts to make it more acceptable for the new edition.

There are a couple of surprises as well - Megacarrot, despite being the last boss of the game, is sitting slightly below The Cleaner in terms of difficulty, although it could be because only the really dedicated and powered-up players get to him. I made an effort to drastically rework Sci-Fly compared to the first edition because it was too easy as well - it's only got to a measly 0.83, but I think this is actually much higher than before.

And Cubombscus is at a very respectable 1.81 now despite being one of the easiest before. In the first edition it had a bug that meant that it always remained on its easiest setting no matter how far you got its health bar down, a mistake corrected the second time around!
davidn: (rabbit)
I have finished Crystal Towers 2 (again!) and it is now available on Steam!


Thanks to everyone for supporting and spreading this project through the far too many years it's gone on for - and especially to [livejournal.com profile] lupineangel for the incredible piece of fanart that is basically the official box art now (if that's legally OK). I'm very pleased to have a game of mine on this service - and maybe, as I burn through the rest of the projects taking up my life, I'll be able to make a new one at some point.

Here's the new introduction, with added furniture and birds.


davidn: (prince)
Crystal Towers 2 has a Steam page and everything now! All the checks by Valve are out the way and I have the freedom to declare it ready whenever I like - it won't be long until it's set live and purchasable.

Here's the trailer on Youtube, at a better resolution than the Steam one.

In the process of making the new edition, I've come across and fixed several amazing bugs that apparently went unnoticed the first time around, including:

- In the introduction, I forgot to turn off the keys that let you look up and down - so you could cause earthquakes by holding either arrow key and getting the scrolling to start moving then rapidly twitch back to where it was supposed to be.
- In the non-Desura releases of the game, the Cubombscus boss had a very obvious red and yellow detector object left on-screen which should have been made invisible. People seemed to just assume it was meant to be a flag, which says something about my drawing skills.
- Magma Lizard was unfortunate as well, as the background on the surface of his level was a terrible-looking mountain-shaped placeholder that I forgot to replace before releasing the game.
- Midway through the game you get an upgrade to your navigation in the Music Castle, with little text labels showing the nearest levels to you. These didn't appear if you had just come out of a level towards the right of the hub, because the objects were located at (0,0) for a split-second before being moved, which was deemed too far away and they were automatically deleted.
- The "mosquito" type creatures throughout the game are drawn as dragonflies. This is I forgot the sodding difference between dragonflies and mosquitoes.
- The Lava Tank boss was terrible. This isn't really a bug. It just was.
davidn: (prince)
With me now updating the game's user interface, here's a look back at the complete history of Crystal Towers 2's menu screen!

1. The earliest thing that could loosely be called a menu on the first released prototype, just giving early testers some description, controls and a couple of options so they could see what the game was about. Note the A and S keys to switch magic, prohibitively unwieldy even very early in the game - and the unusual choice of ugly machine-readable credit card number font.

2. The first attempt at a real menu screen. The layout actually changed very little from here on, though the ugly font is still present and the order of items is different on the progress window at the bottom - I was yet to think up the idea of medals, or the synthesis side quest that produced recipes (scroll) and rewards (cup).

2a. This is from the same version, I just found it interesting that the menu includes an “Online” option. I think this was the first place for the feature that was eventually moved into the computers scattered around the hub level - of being able to upload and share your progress.

3. I think it took a reinstall of Windows (and so I was missing the font) to make me realize the font was ugly as sin and go for something more palatable instead. Version T4c puts this around 2009 or so - it looks much more finished, and adds some transparency to show off the awful unfinished game logo in the background.

4. The real logo appears for the first time in this menu from a Clickteam-branded demo version that I initially didn’t remember writing, but now I recall it was for their monthly sort of “gold” subscription, Klikdisc, where you got a pack of demos and extensions ahead of other users. The background bricks have been changed but they’re far too bright.

5. Getting close now! This much later test version replaces the beige bricks with blue, a background that was used right up until near the game’s release.

6. In the released version, the background was chosen at random from a selection of in-game level backgrounds, and the fade effect was added when you entered the menu.

7. And now, the XL version does away with the Windows fonts altogether and uses bitmap fonts throughout - in the process, the menu has also been scaled to match the new screen size.
davidn: (rant)
I've finished my first pass through the updated game! The new version is completable from start to finish now and it's really been helped by the screen size change. So far I've talked about the graphical updates for Crystal Towers 2, but there were also some things about the gameplay that needed addressing. So let's talk about how the magic system now works!

As you can see from this profoundly ugly work-in-progress screenshot from early 2007, when I first planned the game you had one magic slot available. The idea was that you would go through the game gradually collecting spells, which would allow you to deal damage to enemies or act as keys to access new areas - a spell to destroy walls or pull magic switches remotely, or let you jump further and so on. You could flip between spells with the left and right shoulder buttons.

The trouble with this approach, as ever, was that I didn't plan very well. As soon as you collected more than about five spells, it was already too awkward to tap your way forwards and backwards through the list. So I replaced that quickly with a grid of spells in the pause menu that you could select from, which helped with the speed of selecting magic but there was still too much going into the menu for swapping around. Eventually, even though the game was quite far into development, I conceded that the game seriously needed to allow you to have two spells equipped at a time.

This alleviated the problem of having to switch around so much - the player could now have an attack spell and one with another use equipped at once without having to go in and swap between them. This instantly made a lot of things more comfortable - it made bosses in particular so much more enjoyable because they're the places where you most need to use offensive magic and you would otherwise be toggling back and forth forever. But I was really patching over a symptom with the wrong solution - in practice, the player would usually want to use that second spell slot for something like Double Jump which had to be recast all the time.

One of the friends I got to test the game suggested that the player could also be allowed to set up shortcuts to frequently used spells on the number keys, to allow them to switch to spells they frequently used without going into the menu. I added that as well, which made things slightly smoother for the moments when you wanted to use an ability then quickly switch back to the motion spells, but I'm not sure how many players used this feature or were even aware of it (you press the number keys in the pause menu while over spells to bind that key to select the spell quickly).

The real problem - and what I had overlooked in the beginning - was that the player was going to want to use many of the spells throughout the entire game rather than to get past specific obstacles. Being able to double jump or dash to the sides is a useful ability no matter where you are, they aren't something you just want to switch to occasionally to get to a high place. So in the XL version, you're going to find these new blue books in place of a few of the red ones:

And you'll also notice a new type of spell in the rearranged grid - along with the red attack magic, yellow player-affecting magic and green environment-affecting magic, there's a section of blue slots at the right that shows your abilities. You'll get instructions for how to use them when you hover the cursor over them - but they're now always on without having to select them.

Double-jumping now just costs 1MP per use - not enough to worry you when bouncing around a level, but it might be enough to sap magic for other uses if you overuse it. Boost is used by holding down the formerly underutilized Use key and pressing Left or Right, and you can now use teleporters with a tap of the Use key as well without having to pick out the spell. The fourth converted spell is Draw, which I think was largely ignored before because it was so awkward to go in and select when it would have been useful - but now you can hold down Use while standing still and vaccuum lingering synth items towards yourself for future crafting.

So, next on the agenda is sprucing up some of the bosses a bit, and getting some to work with the new screen size (there are no game-breaking errors, just that some of them need adjusted to work with more room now). After that I want to get rid of the rest of the Windows fonts that you can see around these screenshots, add some Steam-exclusive stuff like achievements, and hopefully have the game out relatively soon!
davidn: (rabbit)
Crystal Towers 2 is full of programmer art. I was really fortunate to get to work with graphics artist J Freude who drew Bernard and a lot of the game's enemies, and several other artists contributed to the game, but for the most part I was on my own - and that led to a lot of corners being cut in the graphics department. In fact, the Magma Lizard boss had a background that was a crudely-drawn mountain shape and gradient that I forgot to replace before I released the game.

(I admit the rest of the Magma Falls backgrounds weren't a whole lot better.)

Adapting the game to a 16:9 screen has made me have to revisit a lot of backgrounds that were designed for 4:3, and I've taken the chance to touch up a lot of the graphics that were lacking before. My artwork skills have (marginally) improved from a few years ago, and so some of the levels have been given big makeovers - Magma Falls and Grassland Ruin now have completely new tilesets and look much more like I was imagining them to the first time around.

I think there are only three or four more of these backgrounds to do, now - I'm giving the game a long test play, improving the rusty parts as I go. There have also been a few gameplay adjustments in the interest of smoothness, which I'll talk about soon!
davidn: (prince)
There was another big issue that a lot of Crystal Towers 2 players raised - either directly asking me about it or just when talking about the game on forums and so on - and that was the absolutely godawful camera. As difficult as it might be to believe for those who were made nauseous by its intense swinging around, I spent a lot of time adjusting it for the original release. Even when working in just two dimensions, getting the camera right for a game is deceptively difficult - the simplest approach, just nailing the player to the centre of the screen feels unnatural, like you're moving the game around your player instead of the other way around, and you have to make the camera feel like it's natural while not hindering the player's sight of what's around them. There are a number of great articles around that go over this, such as this one.

The idea in the original game was to make the camera always give the player a view of where they were heading, speeding up when you turned around so that you could instantly see a large part of the level ahead of you again. The thing that I failed to notice was that you don't actually need this feature - progress in a platform game is usually in one direction, and the vast majority of times you'll turn around are for briefly going back to collect a pickup or dispatch an enemy, so you don't want a sudden swing of the camera to break your stride. Of course, there are also the two vertical levels to worry about, where you'll often change direction - Luminous Tower and Azure Cliffs - so the camera still needs to be aware of where the player is heading.

This time around, the camera still has its directional awareness but it adjusts much more slowly - it checks to see where the player is looking, and moves a little over up to a certain distance away from the player's position in the window to give them more of a view ahead, rather than suddenly trying to catch up to a point ahead of the player. The experience, I hope, is a much more comfortable one that doesn't lose the advantages of what I was trying to do in the first release.

Vertical scrolling is a different beast entirely - taking cues from games like Commander Keen 4 and Bio Menace, the camera generally stays where it is (within limits) so that when you jump up from a platform you don't suddenly scroll up and lose sight of it. It's only once you land on another platform that the game readjusts to the new height. Perhaps I'll make adjustments to this as well - but through all of this, having more screen size like I described in the last post is a vast help in itself.
davidn: (rabbit)
I'm going to start making progress updates on Steam!

A few days ago I received a couple of messages asking where the Steam version of Crystal Towers 2 has got to - which is flattering, because I didn't think that there were many people who cared! Over the last few months I've delved back into the game's code, as it needed some updates to work with the Steam API, and while there, I wanted to take the chance to fix a few things about the game that I didn't like but didn't have the drive to correct the first time I released it. So, sorry for the lack of updates so far, and I'm going to start making announcements about major changes to the game starting now!

The biggest problem with the original game was that the window size was far too small. It was originally made to match the resolution of early DOS games' 320x240 VGA graphics, which worked well enough for the retro styling, but players were often left wanting to be able to see more of the surrounding environment for tricky jumps or to avoid enemies rushing on to the screen and getting them before they had a chance to react. I'd been vaguely aware of the problem before I released the game, but at that point I thought it was too late to go back and change everything - but being away for a while gave me a fresh look and the chance to work out how I could fix it.

Here's a comparison of the view from the first teleport ring in the Music Castle, before and after the change:

In a boost to a widescreen format, the game is now nearly twice as wide and 60 pixels taller. The difference is incredible even when standing still, but when you see it moving, it's amazing how improved the gameplay is when you're able to see more of your surroundings. In the second screenshot, you can also see that I'm replacing the counters and text in the UI with a more consistent style that uses pixel text instead of the Windowsy fonts from the first release.

Of course, the issue is much more complicated than boosting the window size up and calling it a day - a lot of the game's graphics like the level backgrounds are designed to fit the old resolution, and scaling up pixel artwork never works well, so they had to be redrawn. Most of these are pretty simple to begin with because the player isn't really looking at them, but this gave me the chance to go back and improve some of the ones I did more hastily the first time around.

And to complicate the issues, there are places where a level can more than one background - like in Magma Falls B where you start deep in a well and climb up to reach an outdoor area. In places like this, other parts of the level strategically block where the background switches over - which works great at the original resolution, but now there are places where the increased window size betrays the trickery. So those need to be watched out for and the backgrounds rearranged to get the smooth changeover back.

All these changes - together with more adjustments and things that will hopefully make the game a smoother experience - are going into the new version, Crystal Towers 2 XL. Hopefully it should be in your hands before too long.

davidn: (savior)
If you haven't seen what happened yesterday already...

What a fantastic late Christmas present! The last real push the game got was during its involvement in the IndieGala bundle which was a couple of months ago, so I'm not sure what spurred it over the finish line... but I'm amazed that it did, and very grateful for everyone's support and words of encouragement! It looks like I'll be spending the rest of my break polishing the game up and improving the bits I really dislike but didn't have the strength to go back and fix the first time...
davidn: (rabbit)
Jeepers creepers!

Thanks to all the links coming in from the IndiaGala bundle, Crystal Towers 2 was the #1 game on Desura yesterday. Currently it's still hovering around the top of the Most Popular tab. This is incredible. Thank you for all the links and support!
davidn: (rabbit)
Good morning! I recommend you take a look at the IndieGala bundle this week, for reasons that will be very obvious.

Thanks once again to DF, [livejournal.com profile] lupineangel, for the image that became the cover artwork - it really sells it!
davidn: (prince)
With the Super Metroid series finally and regrettably over, here are some videos by other people of one of my games! [livejournal.com profile] rakarr found one of them this morning and sent it on to me, and having not vanity-searched it in a long time, I was really surprised to see any presence of it on Youtube.

The first is by someone who vaguely knows of my existence through the GameFAQs classic games board, but he was recommended it by someone with no connection to me - this is Revelengance's twenty-minute playthrough. My favourite moment is his voice acting of the introduction!

The second is the one that was found by [livejournal.com profile] rakarr, and is notable for being one hour long, on a moderately popular channel, and for the player's amazing Northern accent.


I released Crystal Towers 2 about four years too late to be impressive... but just at the right time for people to spread it around!
davidn: (prince)
An old project might be coming back again (and doesn't it feel strange describing it like that) - I've submitted Crystal Towers 2 to Greenlight on Steam!

If you've got an account, I'd really appreciate a vote up and a few words, followed by optionally spamming it to all your friends everywhere. The more votes I get on this thing, the better a chance I have of it eventually seeing a release there. I would also welcome any copy-editing of the description I currently have there, because I am terrible at advertising my own games, possessing as I do the natural enthusiasm of a bag of pencil-shavings.

Even besides that, plans are also in place to have it featured as part of an independent bundle - so it may get a revitalization either way.

(Incidentally, [livejournal.com profile] lupineangel... yes, am I legally okay just considering your picture the official cover artwork for the game, by now?)
davidn: (prince)
There was another reason why I was going back to working on the CT2 site - last weekend I submitted the game to Desura, which is a service based in Australia that aims to be a Steam equivalent for game modifications and independent projects. And this morning, it got published - it feels good to have it on a service where it had to overcome a quality control gate, and it's really weird to see it up there alongside the real games.

I think absolutely everyone who reads these has the full game already, but I've put it down a couple of dollars for the first week, in the hope that everyone will download it and it'll spread like wildfire.

Desura Digital Distribution

davidn: (rabbit)
Oh, why am I working on Crystal Towers 2 again. I thought that once I had finished it I would just release it, wait for the reaction and never open it again, like my previous games - but with something this large, it's difficult to just drop it from my life, especially with the facility to watch people's progress in it online.

I haven't been reworking the main game or anything, though - today, I ended up writing a new feature for the site that awards people badges on their account, largely due to [livejournal.com profile] kjorteo warning me not to start thinking about what he said too much because it would end with me writing a new feature for the site that awards people badges on their account. The badges are equivalent to achievements, a concept that I had thought up at the very start of writing the game and that I now find myself copying from everybody else instead - though I'm trying my best to try to keep them to actually notable things instead of the supremely patronizing levels to which they can be overdone.

The awarding of all of these badges is just calculated from data that's already there, but they give people a bit of recognition for doing special things like not dying too much, or getting past some accidentally notorious missions that I put in. The shield with a "B" icon is awarded for every level in which you've completed the whole thing - all items, treasure and everything - and haven't died once, and I've actually been quite impressed by its presence at all when browsing around the existing accounts.

I've actually used a few testers' user icons in some of the achievements, for when the random instrument name generator comes up with "the Wolf", "the Rabbit", "the Coyote" or "the Raven" - if you're any of these, you'll know who you are, so if you don't want to be featured for any reason, tell me and I'll remove those. And [livejournal.com profile] lupineangel, I used your artwork for the final bonus boss icon without asking - thank you!

No doubt I'll add more as I think of them...
davidn: (skull)
Six weeks exactly. That's actually not all that bad a time to have survived, given that it seems most major games don't even manage to be officially released before they're distributed under the table of the Internet for free. But yesterday evening I found the full version of Crystal Towers 2 had been uploaded to a number of torrent sites and is now spreading around the Internet (linking to it would seem a bit self-defeating). There's a note on what I think was the original upload that says "Support the companies, which software you actually enjoy! This game is only 5 USD, just go buy it." Thanks for that - wouldn't that have been better achieved by spreading around the actual free version that I put out?

After torrenting it myself to verify which version it was, I was able to find out quite a lot fairly quickly from just the uploader's username and IP address of the seed (which is To inform you of the actual name and address of this night elf from Denmark would be a blatant step from the kind of casual stalking the Internet allows into actual vindictiveness territory, but seeing as I've only had one order from that country, narrowing it down wasn't exactly a task of Hercule Poirot proportions.

And I can't even pretend that I'm all that annoyed about it - because the reason I even noticed the torrent was because I had had an unusual spike in sales that day. That's certainly enough to readjust my thoughts on piracy fairly quickly - for these first twelve hours at least, it seems that the "pay what you want" model has something going for it, even if it's forced upon the author. So I suppose what I need to say, paradoxically, is - Lunaru, thanks very much, you tosser.

Anyway. I also noticed that a TV Tropes page has begun to take shape - if there's anything in the game that particularly charmed or annoyed you, feel free to let yourself loose on that.
davidn: (prince)
I wrote a bit of a scary page last night. Among the many statistics/obsession-generating things that I put into the game as part of the submission to the online scorecards, a game timer was notably absent. It wouldn't have meant a whole lot to me during my own testing anyway because I was going over the same stuff so much, but I found myself wanting to know roughly how long this game actually was for people who were new to it.

So I put together a page to estimate the amount of time someone had spent playing. It only works on people who have had the automatic updates to the scorecard on from the start, so I'm not going to link to it from the main site at all - it works by looking at all the events associated with a player that indicate having done something in the game, and accumulating the time between them as long as the gaps are of less than half an hour (the assumption being that if someone's taken that long to do anything in the game, they've gone off to do something else for a while. That or it's the Dust Hill C ghost.)

Of the people who have completed the game with absolutely everything found, the usual figure seems to be around 30-35 hours, which is a fairly substantial length - theoretically the time to just see the end sequence should be about half that, if I estimate that the point you do that is at 60% and take into account that the earlier portions should be easier and therefore take less time than the later ones. It's about time somebody other than me spent a significant amount of their life on this game - particularly as even after release, it still hasn't quite let me go.
davidn: (prince)
Yes, I said that it wasn't over yet. But today, I spent my time finally cutting down the first level of Crystal Towers 2 to make it suitable for uploading as a Flash demo as an advert for the full game. That meant replacing the music system (which handled MODs), anything that ever accessed the hard drive (which was everything), and a couple of graphical extensions which don't have Flash equivalents (which I'd happened to use extensively).

It just shows the first level and the types of challenges that you can expect later in the game, along with hopefully directing some traffic back to the full game - you can now play it on Newgrounds.

Tomorrow I am not going to work on anything at all.
davidn: (skull)
I think it's safe to say that I can forget any hopes of actually having this game ever out of my life. I've set up Google alerts and analytics and I still can't stop searching for myself. And that's when I'm not looking at the scorecards and seeing how fast people are making progress. Here, for the purposes of cataloguing and boasting, is a list of significant articles I've seen so far:

http://indiegames.com/2011/06/crystal_towers_2_released.html - Indiegames (pleasantly surprised)

http://www.extraguy.com/2011/06/crystal-towers-2-is-out-today/ - Sort of a repost of the Indiegames one

http://www.pcgamer.com/2011/06/19/this-weeks-best-free-pc-games-5/ - PC Gamer's list of free games (mentions enjoying the storyline and dialogue. Not bad being on this list despite not being free, is it?)

http://www.giantbomb.com/crystal-towers-2/61-35736/ - Wiki entry on GiantBomb

http://www.giantbomb.com/profile/ahoodedfigure/impulse-buys-and-a-crystal-towers-2-profile/30-83312/ - Blog on GiantBomb (the word "love" is used)

http://mediocritycodex.blogspot.com/2011/06/indie-cred-david-k-newtons-crystal.html (Flowery but enthusiastic - and you can comment to get a chance to win a free copy)

http://www.rockpapershotgun.com/2011/06/15/celestica-crystal-towers-2/ - Rock Paper Shotgun (Appreciative yet patronizing)

Out of everything I've seen written about it, however, this is pretty much my dream. To have someone who discovered the game on their own be sufficiently enthralled by it to fill in the map that I gave out to a couple of people, to write a guide to finding each level, the objectives and the use of the spells (notably finding some of the less obvious uses of them, as shown in his comments) and soon, how to get each item in the game. Given the accidental size of the challenge it's helpful to anybody to take notes, but it's a wonderful feeling that anybody cares about the game enough to produce or use such a guide.

I'm also relieved that people seem to be able to work out what to do on the final boss. I'd worried that I'd be faced with a heap of people entering the level called 'Silent Void', seeing nothing there and just standing around stuck.

Expand Cut Tags

No cut tags

February 2019


Most Popular Tags


RSS Atom

Style Credit

Page generated Apr. 21st, 2019 12:46 pm
Powered by Dreamwidth Studios