Pixel Maps & Generating Levels

When initializing levels, all of the game objects need to be placed on the map. There are many different ways of doing this, but the main goal is to be able to easily translate design to code. Many advanced games have very powerful in-game level editors (much like Little Big Planet), which makes level creation far easier for the developers. The perfect counter-example would be hard-coding the position and properties of each object into the game individually. Ideally, I want to be able to be able to quickly and easily change the position and configuration of my different game objects, without having to write too much complicated editor code.

My solution is pretty counter intuitive and weird. But it works! Essentially, all of my level designs are color-coded .png image files that contain the information of each object in the RGB values. Terrain, however, is ignored and loaded in separately. Only objects are contained in the map. To make it easier to understand, take a gander at this example:

So, that probably doesn’t make it any easier to understand at all. This is an enlarged version of the actual level map, which is a very very small image, so that it doesn’t take up much space. Each colored square on the map is the size of a single pixel, and contains information about the position of each object, and what type of object it is. The position of the object is simply defined by its relative position on the map. The code scans through the image, and places each object in the same location, but on a much larger scale. Like I mentioned earlier, information is stored in the RGB (Red, Green, Blue) values of each pixel. RGB values range from 0 to 255; The red value determines the type of object. For instance, pixels that have a color value of 249 are platforms. When the code is scanning through my image and reads a pixel with a Red value of 249, it places a platform relative to the current position on the map. The Blue value contains the Length of the object (A ladder with a Blue value of 20 would have 20 rungs), and the Green value stores anything miscellaneous I need. So, here is what the level looks like after this images runs through the level generator:

Make sense yet? If not, take a look at an enlarged version of the level map and the final result overlapped.

So, in summary, there are many ways to create level designs that the code can understand, and this one is pretty bad. But whatever, it works. Yeah… THE END, or something.

Posted in coding, design | Tagged , , , | Leave a comment

Terrain Maps: A terrible (but awesome) way to make terrain traversal

Early on in my project, I typed up some placeholder code to deal with the player colliding with the terrain. Essentially, it did a check to see if the player was inside of the ground. If he was, keep pushing him up until he was no longer in the terrain. This sucked. Seriously, it was awful. When moving uphill, the player would slowly get pushed upward, and when moving downhill, the player would jitter around as he fell into the ground, was pushed out, and fell back into it. I knew I had to scratch this code right away and write something better. The result is a pretty awesome, although inefficient, terrain map. Basically, after the terrain is drawn onto the screen, a huge array is generated based on the height of the terrain. It goes through pixel by pixel in the X direction and stores the height of the terrain at that location. The game does a check to see if the player is inside the terrain, and if so, sets his position to the top of the terrain. The result is very smooth movement across terrain, like this:

TerrainThe movement up or down through the terrain is only as sharp as the terrain itself, because the player moves exactly along the terrain height. It works quite well, and hopefully it isn’t too memory intensive.

Posted in Uncategorized | 1 Comment


Springs are a pretty standard object in many 2D platformers, but you may want the spring to act differently depending on the game. Typically, a spring will bounce the object up with the same force as it when it hit the spring.

This means that the player’s max height from hitting the spring will be equal to the peak of their jump before landing on the spring. In a realistic spring model, any added height would come from the person exerting force on the spring with their legs to reach a higher point. Although this model makes sense, it isn’t always the best from a gameplay standpoint. I might change the spring behavior to suit my game better. If the max height reached by the player from jumping on the spring is the same no matter how they approach it, it would make designing levels a bit easier. Another advantage would be that the player understands how to use the spring and what it does very quickly, making precise jumps easy to execute. I accomplish this by multiplying the player’s upward force by a constant when they come into contact with the spring, creating a height value that the player will always reach after hitting the spring.

Also, this is probably a good time to talk about designing the actual spring itself. Because the project is so early on, I’m not committed to any particular design. With that being said, I already have a pretty specific process for creating all of the objects in the game world. Here is the basic spring

All of the objects in the game have stuck to a couple basic ideas. The outlines are very thick, and there is almost no detail inside the object. Aside from that, you might notice something else about this object: There isn’t any color! The reason I do this is to remain as flexible as possible. C# XNA lets me set the color of an object inside of the draw method. Pretty cool, huh? Of course this only works if the texture of the object is entirely monochromatic, otherwise you end up with a muddled combination of colors. The advantage of this is that I can quickly see what this object would look like in any color I want, and apply that to every spring in the game. The biggest disadvantage, however, is that I cannot use a combination of colors. This isn’t a big deal, since the spring is pretty simple, but in order to add more than one color I’d have to edit the base texture itself. I can worry about this later on, when I’ve settled on something I like.

Posted in art, design | Tagged | 1 Comment

Weekend Update

I’ve worked on a few things this week, most of which is pretty unexciting. Aside from some pretty mundane stuff such as adding walls, I’ve made some additions and improvements. I’ll do a more in depth post on each of these new elements, and link to them from here.


Terrain Collisions

latest build

Posted in Weekend Update, coding, design, games | Leave a comment

Jackson’s Top 5 Games of 2010

Oh no, one of these? I’m afraid so. Considering that A) Neither of us post on this website enough, B) I’m a narcissistic, egotistical, self-centered pillock, and C) It’s the day before New Years Eve, I thought it was a good idea to give some of my favorite games of the year some love.


Let’s kick things off with a little indie title that doesn’t get any love from major publications. VVVVVV is one of the best sidescrollers not only of 2010, but perhaps of all time. It’s a quirky little Metroidvania sidescroller where you have to flip between two planes of gravity in lieu of having a jump button. Terry Cavanagh has created an absolute winner here. The main concept of gravity switching may have been done many times before, (we even used it in Starlight) but levels are so impeccably designed that they make the mechanics feel fresh again. The presentation is as old school as you can get without actually booting up an old Commodore 64. The graphics are lovingly done in the style of old Commodore games and the music… oh god, just listen.

This game is proof that one man can produce something that absolutely decimates something created by a team of hundreds.

4) Fable III

I’m sure some of you are raging right now, “OH MY GOD WHY DID YOU LIKE FABLE III IT WAS STUPID AND DUMB AND MOLYNEUX DESERVES TO BE CASTRATED!” Thing is, I didn’t buy into the hype. Hell, I haven’t even played Fable I or II. I played the game pretty much with a blank slate, no expectations, and I walked away from it amazed.

Yes, the game was simple. Yes, you could say it was “dumbed down”. Yes, you could exploit the system during the last fourth of the game. But none of that mattered to me while I played it, the experience I had with Fable III was an amazing one. There are minor spoilers ahead, so if you haven’t played Fable yet I’d recommend skipping ahead to the next entry.

In the last fourth or so of the game, you are crowned King (or Queen in my case… don’t judge) of Albion. You learn that a great evil is about to attack Albion, and unless you build up a proper army with enough funds, the people of Albion will die. What follows are some of the trickiest moral choices in any video game ever. Do you tax and suppress the people to protect them? Or do you stay true to the various promises you made during your rise to the throne? Being responsible for the lives of millions of people, watching the timer tick down till judgment day… it creates one of the most stressful experiences in video games.

Oh sure, there are plenty of flaws. There are exploits you can do to make the kingly half of the game a complete joke, combat can get repetitive, choices are still put on a karma meter, but I can look past those. Albion is a charming little setting with tons of personality, and the industrial revolution is a time period that not a lot of games visit. Honestly, there were plenty of better games than Fable III this year. But as an experience? My time as Queen Jackson was one that left a huge mark on me. Fable III was one of those games I thought about long after it was done.

3) Limbo

Some more indie love! Limbo is the best horror game ever made, and it does it without a single exploding head or drop of blood. What Limbo does best is atmosphere. Everything about Limbo drips hopelessness and pain, the bleak monochrome graphics, the haunting soundtrack, the visceral, but bloodless, death scenes… they all combine to form an experience that grabs you by the balls and won’t let go till it’s over. My stomach turned with I saw a child of maybe eight years getting impaled through his skull by a spider.

It isn’t all bloody horror though, the second half of the game has some of the trickiest and most satisfying puzzles this side of Braid. There were some real mind benders that made me wanna tear my hair out, but gave a wonderful sense of satisfaction when you finally solved one. Most games claim they’re scary just because they’re dark and things jump out of closets going “BOOGA BOOGA BOOGA!” Limbo IS scary, not because of things jumping out at you, but because it makes you realize how helpless you really are.

2) Super Mario Galaxy 2

While Limbo is about depression, Galaxy 2 is all about pure joy. Nintendo has proved that they still have their magic by delivering what may very well be their best Mario game. I could talk about the amazing level design, or the eye popping graphics that drip with color, or the orchestral soundtrack that massages your ears with some of the most epic songs in gaming to date, or fantastic controls, or the fact that the game very rarely, if ever, rehashes ideas from previous levels. But really, all that needs to be said is one thing.


We all know who the real star of the show is.


1) Alan Wake

A choice that will probably bewilder most of you, but I stand by it 100%. As you may have picked up on from the rest of my list, I don’t judge games by how perfect all the mechanics were. I judge games by the experience I had while playing them, the games that leave the biggest impressions on me. Out of all the games that came out this year, I’m confident that Alan Wake is the one that impressed me the most.

The Stephen King inspired story didn’t let me put the game down, some of the characters you meet in this game are the most memorable in years (Barry <3). The light based combat was a refreshing change of pace from your standard boring old cover based combat that plagues Third-Person action games nowadays. The game had epic set pieces that put Modern Warfare to shame. This game was one that I raved about for months, scolding my friends for not buying it and being horrible people.

Flaws? Certainly. Similar environments, gets repetitive, need DLC for full ending blah blah blah. But none of that matters. Alan Wake, for me, was the most unparalleled experience of the year.

Also, Time agrees with me. So screw you.

Honorable Mentions: Games That Just Missed The Cut, Or I Haven’t Played Enough of Yet

  • Assassin’s Creed: Brotherhood
  • Donkey Kong Country Returns
  • Halo: Reach
Posted in Uncategorized | Leave a comment

Jackson’s Musings: Minimalistic Games and the Developer’s Toolbox

The other day I sat down for about an hour and a half and listened to my idol and god Jonathon Blow (developer of Braid and currently working on The Witness) speak about games and the way they are designed. More specifically, the kinds of tools designers use and how they can be taken to unethical extremes. You can watch the lecture here, and I recommend that you do, because it’s really interesting and he talks about how FarmVille is evil.

But for those of you without the time to spare, I’ll give you the gist. Designers will often spice up a boring game with pretty graphics, nice sound effects, and story elements to keep players compelled. His biggest example was, of course, FarmVille, and how the game was pretty much just clicking on things but with nice pictures of cows added to it.

The things designers will use the following to essentially manipulate you into playing and playing:

  • Story: A story will keep players asking, “What happens next?”
  • Eye Candy: A small visual or audio cue that lets you know you’ve done something right, e.g. A chainsaw kill in Gears of War.
  • Progression: By dividing the game up into levels, or giving players clear goals that make them say, “Just one more level.”
  • Skinner Box: Giving the player small, in-game rewards every once in a while, the most prevalent example being the level up systems in RPG’s.

It was a really interesting talk, and it made me think about games that didn’t use these tools, and simply were compelling on their own.

But here’s the thing, I couldn’t think of anything. Every single game I thought of not only used these mechanics, but used them TONS. Below I picked five games that are generally considered to be great. Let’s take a look at how these games use the aforementioned tools.

Team Fortress 2

For some bizarre reason, this was the first game that popped into my head when I tried to think about games that worked based on their mechanics alone. “After all,” I thought, “Team Fortress has no story, and it’s multiplayer based, so there aren’t really any levels to progress.” After thinking about it for another two seconds I felt like an idiot, and was actually embarrassed, because Team Fortress 2 LOVES “the developer’s toolbox”.

Let’s say you’re playing as the Sniper. You’re sitting on the other side of the map, hiding far behind your teammates who are courageously charging towards BLU team’s control point. You watch the battle through your scope, waiting for the perfect time to introduce the BLU team’s face to Mr. Sniper Bullet. Suddenly a RED Pyro uncloaks in your view. Knowing that Pyros don’t have cloaking abilities, you recognize this impostor as a BLU Spy. You immediately pull the trigger and shoot the Spy in the head. The green words “critical hit” float above the Spy’s brain-liberated head and he falls to the ground screaming. A triumphant melody plays through your speakers, and the words “You are dominating HaplessNoob” appear. You turn your attention back to the control point, you see that the area is cleared of all BLUs, so you join your comrades in capturing the opposition’s control point. A nice sound effect plays, green numbers float at the bottom of the screen, and the scary announcer lady informs you that more time has been added. But then, as if out of nowhere, you find yourself falling to the ground screaming as another sound effect plays. HaplessNoob had come back, and he got his revenge kill! You now fully intend to hunt down “HaplessNoob” and murder his family and friends, but first a screen pops up and lets you know that you’ve found The Huntsman bow. How nice. You equip the bow and charge towards BLU’s final control point, but a victory melody let’s you know that your comrades have captured the final point! Success! Onto the next round!

Now, in that scenario alone, let’s count how many times Valve dug into the developer’s toolbox.

  1. The critical hit you got for the headshot (Eye Candy)
  2. Dominating HaplessNoob (Eye Candy)
  3. Capturing the control point (Eye Candy)
  4. HaplessNoob’s revenge kill (Eye Candy… well for him anyway)
  5. Finding The Huntsman (Skinner Box)
  6. Victory melody (Eye Candy)
  7. Round 2 (Progression)

That’s seven uses in the span of maybe a minute. Like I said, Valve LOVES the toolbox.

Half-Life 2

Now I know what you’re thinking, “No Jackson! It can’t be true! Valve’s too good to manipulate me! They offered all those nice Team Fortress updates for free!” you scream as you wear your headcrab hat and cry into your Companion Cube plushie. Well fear not, there’s still hope Valve fanboy. Let’s take a look at arguably their biggest and best work, Half-Life 2.

Now Half-Life 2 is most certainly a game with solid mechanics, rubbish vehicle sections aside. After all, you’ve got these grand, meticulously designed levels, a large variety of cool weapons to use, clever physics puzzles, the freakin’ gravity gun. Surely a game as wonderful as Half-Life does not need silly little trifles like unlockable hats to be compelling.

Just stop for a second and think about what happens when you kill an enemy. Any enemy. From the tiniest headcrab to the mightiest strider. What happens when you kill them? They let out a death wail, don’t they? It makes you feel pretty good, doesn’t it? Also, what happens when grab a health pack? It makes a pleasant beeping sound (Eye Candy). How do you unlock the weapons in the game? They’re presented as a steady stream of rewards (Skinner Box).

Considering we’ve established that you are a massive Valve fanboy, I bet you’re eagerly awaiting Half-Life 2: Episode Three in your Gordon Freeman pajamas that have little feets on ‘em. What makes you want this game so bad? Could it be that huge cliffhanger at the end of Episode Two? Or, in other words, the story?

So yeah, Valve uses these tools too. Sorry fanboy. If it makes you feel any better, any game playable on an Xbox 360 uses the toolbox, because the fact that it’s on the Xbox means it’s required to use the biggest, most devious Skinner Box of them all.

The Legend of Zelda: Ocarina of Time

So every Xbox game uses the Skinner Box. No problem, right? All we have to do is step into the past for a little bit. Besides, everyone knows that older games are better less stupid simpler. So with that in mind, let’s take a look at what many consider to be the greatest game ever made, Ocarina of Time.

Come on, surely the greatest game of all time doesn’t need any of those tools. OK, it has a story, but who plays a Zelda game for the plot? Idiots and babies, that’s who! Just think about the magnificent design of the temples, or the huge, sprawling, secret filled overworld, or the intense boss battles, or any of that. Zelda thinks you should take that toolbox and shove it up your filthy sphincter.

At this point I could mention a large number of things, like the smaller, more subtle sound effects and rewards, or how you’re really selling the story short. But really, the notion that Zelda doesn’t use the toolbox can be dispelled with one, simple sound effect.

I bet you this sound STILL makes you squeal like a little girl.

Super Mario Bros.

Now you’re rather angry with me, “Well,” you say, “You just didn’t go back far enough! What about something REALLY old, like Super Mario Bros?

Fine theoretical Valve/Nintendo fanboy, we’ll play your game. It’s true that by today’s standards, Super Mario Bros is a very simple game. But that doesn’t mean it’s free form the clutches of the developer’s toolbox. The coin collecting and power up sound effects both count as Eye Candy, collecting a hundred coins for a 1-Up is a Skinner Box, and the game is not only split into levels, but they’re further split into worlds. A double whammy of Progression.

Plus, just think about the story. OK, so it’s not exactly on par with Half-Life 2, but that doesn’t mean it isn’t used to drive the player along. Think back to when you were a little kid, playing this game on your NES Christmas morning. You really wanted to rescue the princess, didn’t you? It pissed you off when Toad told you that your princess is in another castle, didn’t it? One of the reasons Mario was such a pioneer is that it had a plot. It wasn’t little dot guy shooting at other dots, it was an epic journey across a strange land to rescue a princess from an evil monster. Before Mario, very few games had a story, or even a setting. Mario essentially put the story tool in the toolbox.


“No,” now you’re saying, “No, no, no, no, no. Pac-man? Really? Pac-Man?!?” Yes, Pac-Man. Pac-Man employs these tools as well. Notice that there’s a distinct difference in the sound effects for whenever you’re eating pellets. Eating pellets gives you points, and enough points means an extra life. Eating a power pellet gives you the ability to eat ghosts, and plays a satisfying little beep that gives you extra points whenever you do so. Let us not also forget that Pac-Man was one of the earliest examples of a game with cutscenes. Every once in a while it would show the crazy antics between the ghosts and everyone’s favorite yellow pie. Why don’t you sing along on this one? Eye Candy, Skinner Box, Eye Candy, Skinner Box.

We could go even further, but I think you get the point, and I think I’ve rambled on for long enough. I think the main thing to take out of this is that although yes, the developer’s toolbox can be used in games like FarmVille and World of Warcraft to keep players addicted, they aren’t bad on their own and, in fact, are some of the most memorable parts of our favorite games.

That said, I’ve finally got my first project nailed down and have started work on it. It began as a little thought exercise to see if I could come up with a game that didn’t employ those tools. I didn’t succeed, obviously, but I think what I did come up with is interesting enough. I’ll let you be the judge when I finally release it.

Posted in Jackson's Musings, art, design, development, story | Tagged , , , , , , | Leave a comment

Duncan is Games #2

The Company of Myself

Duncan is Games is a continuing series of posts where I detail some cool indie games I found across the web. Most of them are freeware or web-based, so you can play them if they sound interesting to you.

The Company of Myself is a pretty awesome side scrolling puzzle game. The game adopts an interesting mechanic, and does a fine job of expanding upon it throughout. Two things set it apart from other puzzle games, though: The interesting change in direction about halfway through, and the gripping narrative.

The game has you navigating obstacles by cloning yourself, and using duplicates of your previous attempts in order to progress; It’s much like P.B. Winterbottom, except before that was a thing. This ties in almost perfectly with the story, which is both interesting and compelling. It should really be stressed how well the story and gameplay are tied together, with the major turning point in the narrative being the standout. Cool story and design make this one of my favorite games on Kongregate, and you should totally check it out right now.

Posted in Duncan is Games | Tagged , | Leave a comment

Duncan is Games #1

…But That Was [Yesterday]

This is the first post in a (possibly) continuing pursuit to talk about all of my favorite indie games. These games are not guaranteed to be timely, but I’ll try not to unearth anything stupidly ancient. For lack of a better name, I’m going to call this series “Duncan is Games”, and I’ll start with a cool game I found recently, …But That Was [Yesterday].

…But That Was [Yesterday] is a short emotional piece that is likely to turn some people off immediately. Gameplay wise, it isn’t the most complex or interesting, but the way new elements are introduced ties in very nicely with the story. I think that if you keep your mind open, you ‘ll enjoy discovering what this world has to offer.

The game starts off pretty slow, but once you understand how to progress it’s hard to put down. This game is a good example of how simple gameplay elements and light animations can tell an emotional story without any words at all, and it certainly establishes an interesting mood. I can’t say that this is a game that everyone will enjoy, and it isn’t perfect, but it accomplishes evoking an interesting feeling that not many other games can, and should at least be commended for that.

If this sounds like something you want to play, give it a shot!

Posted in Duncan is Games | Tagged , , | Leave a comment

Jackson’s Musings: Protagonists and Choices


Let’s talk about protagonists for a minute.

Generally, most games, even those that aren’t story based, will follow some sort of main character. There are exceptions of course, but generally there is some sort of avatar that the player takes control of. A game needs to immerse its player as much as possible, the player needs to get lost in the experience. Connecting the player to the character they are controlling is absolutely crucial to immersion. The problem is that in a game based heavily around narrative, characterizing the main character too clearly can harm the player’s enjoyment of the story.

Games are different from all other media in that they’re interactive. It’s what makes them games in the first place. The player is not simply an audience member watching the story unfold, they are a part of the story. The actions of the main character may as well be their own. This can create problems if the motives of the character conflict with the motives of the player.

Let’s take a theoretical example from a theoretical game. We’ll say the game is Halo 4: Master Chief’s Fantabulous Adventures of Wonderment. Let’s say that there’s a cutscene in this game showing a fork in the road. One path shows a bright and happy trail with bright sunshine and beautiful rainbows hanging in the sky while fluffy bunny rabbits and pretty flowers dance in tune to the happiest songs the shire can provide. The other path is a dark forest with storm clouds hanging overhead, the word “help” written on a nearby tree, and a man’s head sticking out the ground on a stake Lord of the Flies style. Chief then bewilderingly decides to go down scary death path. The player then gets angry at the game, “I never would have chosen that path!” the player thinks, “Aren’t I supposed to be in control?”

By the same token, let’s say that the whole plot of the game concerns Chief rescuing his long lost love, Mrs. Chief. It’s established that Chief and Mrs. Chief love each other very much, and there are even flashbacks showing Chief and Mrs. Chief spending time together. But then let’s say that Mrs. Chief is characterized as a shrill, annoying, nagging, harpy and the player hates her so much that he wants to rip out his trachea every time she talks. At that point, it no longer matters how good the chemistry between Mr. and Mrs. Chief is, or how well the dialogue was written, because the player can’t sympathize with Master Chief. They have no idea why anyone would want to rescue that horrible wretch, and they feel disconnected from him.

Another solution is to give the player a degree of choice in how the narrative goes. But there is a problem with this, and it can shut the player out of the experience just as easily as a well-defined protagonist with clear motivations can. Game designers, programmers, and writers cannot possibly fathom the amount of choices that the player can possibly think of, and the effects those choices will have on the rest of the game’s world. More choices means either A.) Making the choices absolutely meaningless, such as the little sisters in BioShock or B.) Making more and more alternate scenarios based on the choices the players made. These choices and alternate scenarios will start adding up, and the scope of the game will increase very quickly. It’s not possible for a designer to include too many choices that meaningfully affect the story.

Also, let’s say there’s a moral choice scenario in a game, and the designers give two options for the choice. But let’s say there’s a particularly sharp player who thinks of a third way to solve the problem, but he isn’t allowed to use that third way because the designer didn’t think of it. This will also anger the player and pull them out of the experience just as Mrs. Chief did earlier.

It seems that the best option is, believe it or not, a silent protagonist. Think about it, there’s no obnoxious dialogue to cause a disconnect between player and protagonist, and there aren’t any poorly implemented choices to make. Think about how many of gaming’s iconic characters are silent or mostly silent protagonists like Mario, Link, and Gordon Freeman. When Team Ninja gave Samus a voice in Metroid: Other M, how many people hated them for it? Exactly.

Despite how poorly it implemented its choice was, my go to example for how a silent protagonist can connect a player to a game is still BioShock. Jack was given a very definite backstory, but he never talked save for the plane ride at the very beginning. For all intents and purposes, the player became Jack throughout the game, partially because his motivation, survival, is universal. That’s why when Atlas revealed that he was controlling you the whole time it was such a shock, the game had done such a good job immersing you into it that it didn’t feel like Fontaine was betraying Jack, it felt like Fontaine was betraying YOU.

These are all things I’ve been thinking about when elaborating on ideas I’ve had. It’s important that the player stays in the experience.

Posted in development, story | Leave a comment

The Website Sucks Less

Little bit of an overhaul today. Let me go over all of the stupid changes.

  • Theme is less bad. Yeah, I can actually use bold and italic now. Plus, the text is nice and big. Maybe too big, actually.
  • Main page is the blog. No more weird carousel garbage or anything. Nice and simple.
  • Ditched the media section. All pics, videos and such can be located as a subsection of the game they are related to. For instance, to find music from Starlight, click “Games”, “Starlight” and then “Music”. Pretty straightforward.
  • Links aren’t as terrible. Instead of going to www.kanrogames/index_52452462 or whatever, links actually make sense. I probably should have fixed that a lot earlier actually…
  • Stupid media extensions and plugins are gone. No more wrestling with horrible slideshow interfaces. It might not be as pretty, but it’s more user friendly. With the old gallery plugin, you couldln’t even view the images on a new page. I mean, like, what?
  • Small layout changes to make things more accessible.

That’s about it. Enjoy the changes!

Posted in website | Tagged , , | Leave a comment