A look at Adventure Game GUIs

Adventure Games went a long way from the Text Adventures of the 80’s to be something like an anachronism in the 2010’s landscape that’s dominated by twitch-based action games. Here are some GUIs that Adventure Games used over the years. This is by no means exhaustive, but should cover the most common ones.

Early Sierra Games were essentially still text adventures – you could move your character, but not interact with anything without typing.

image
(King’s Quest 1)

A lot of early games used text-based GUIs that still resemble Text Adventures, except that the parser is now hidden, thus eliminating the “Guess the Verb” problem.

image
(Zak McKracken / Commodore 64)

image
(The Secret of Monkey Island / Amiga)

Lucas Arts would eventually reduce the number verbs and replace the inventory with icons.

image
(The Secret of Monkey Island / PC DOS, VGA Version)

image
(Indiana Jones and the Fate of Atlantis / PC DOS)

Some games had icons for the actions.

image
(The Secret of Monkey Island Special Edition / iPad)

image
(Das Erbe / Amiga)

image
(BiFi Roll Action in Hollywood / Amiga)

There are Hybrid Icon/Text approaches.
image
(Das Telekommando kehrt zurück / Amiga)

Assigning Body parts is a way to not have actions per-se (since e.g. a Hand can mean Push, Pull, Punch, Use, Climb, Shoot…),

image
(Full Throttle)

image
(Gemini Rue)

image
(Curse of Monkey Island)

Some games use a simple Interact/Look breakdown:

image
(Secret Files: Puritas Cordis, but the same cursor was used in Secret Files: Tunguska and Lost Horizon)

image
(Deponia)

And some games didn’t have verbs in the traditional sense at all, but relied on a single context-sensitive action, plus inventory action and dialogue. However, sometimes right-clicking implies “Look” while left clicking is “Interact”, so it’s not really that different.

image
(Broken Sword: The Shadow of the Templars)

image
(Legend of Kyrandia)

image
(Space Quest V)

A special case are multiple verbs that are context-sensitive (so they may completely differ from hotspot to hotspot)

image
(A New Beginning – Final Cut)

The Surface Pro is a PC, so what did you expect?

So yesterday The Verge reported that the 64 GB Surface Pro would only have 23 GB free space left, and all of a sudden the internet pretended to be surprised. Of the many reactions, I think that Marco Arment had the only interesting one, but his “Truth in Advertising” suggestion will likely clash with the ignorance of customers around the world and especially in the USA, so don’t expect anything to happen.

Any why should it? The Surface Pro is a PC, not a Tablet. It has a real, 64-Bit x86 CPU instead of an ARM Chip and it runs a real operating system instead of one of these slimmed down Tablet OSes (Granted, Windows 8 is a vastly inferior version of Windows 7 with a halfway-decent Tablet OS clumsily bolted on, but that’s a different story – it’ll be interesting to see the people always screaming “But we want real Windows apps on our devices!” realizing that almost all real Windows apps until now are meant for Keyboard and Mouse since they have small touch targets, right-click menus and only work well in the default 96dpi).

Have you ever tried to install a real Windows on a 64 GB C: Drive? There is a reason small SSDs aren’t really that popular as boot drives, especially when you consider that the Page- and Hibernation files also take up space (although the small amount of RAM – 4 GB – in the Surface Pro might help a bit).

Once you start installing a few applications, that space will go away just as it would on a normal PC. That’s when you connect an auxiliary storage device (a D: Drive in form of an SD Card) and read up tweaking guides to move stuff around, just like people did when they tried cramming Vista and Win7 on a 64 GB C: Drive.

It will be seen if the Surface Pro is crippled by UEFI Secure Boot like the Surface, thus preventing you from upgrading to Windows 7 or Vista, but if it does, don’t complain since it was your choice to buy such a PC.

I’m not saying that the Surface Pro is a bad product, but you should be aware that you’re not buying a Tablet running an optimized Tablet OS which runs optimized Tablet Apps to give you an optimized Tablet experience. You are buying a Touchscreen Laptop with all Pros and Cons. Which is why the Type Cover is such a good, important and mandatory idea.

An Epic Win

An Epic Win is an outcome that is so extraordinarily positive you had no idea it was even possible before you achieved it. It was almost beyond the threshold of imagination and when you got there you’re schocked to discover what you’re truly capable of.

Apart from this perfect definition, Jane McGonigal’ “Gaming can make a better world” talk contains some really interesting bits. It starts out a bit strange, but picks up steam quickly.

Jane McGonigal: Gaming can make a better world

Game Flow, Part One (Dissecting Indiana Jones and the Fate of Atlantis Part 2)

(This article is part of the Dissecting Indiana Jones and the Fate of Atlantis series)

Typical Adventures increase the complexity and difficulty of the game gradually and like movie scripts, they often have several distinct parts. Atlantis is no difference, although the acts aren’t clearly marked in the game.

From a high level perspective, the game has these parts:

Indy4-Overview

Atlantis is one of the most complex Adventure games because it has three different paths through the middle section. A lot of Adventure games have multiple solution to individual puzzles, but the paths make so much use of conditional logic and global state variables, the complexity is a lot higher than in other Adventures. According to Wikipedia, adding the paths added an additional 6 month and turned it into a 2 year project, so that cost was significant.

In future posts I’m going to go more into handling state and how the paths work, but for now I want to focus on the high level game flow, specifically on the “Find Plato’s Lost Dialogue” path, henceforth called “Act 1” (The game doesn’t name its acts).

Act 1

New York

The game starts out in a single location with a single room, New York. The very first puzzle requires you to get access to the theatre. Of course, tickets are sold out. There are three solutions to the puzzle, and the game remembers which one you’ve taken for some important flavor at the end of this act:

  • You can knock on the door, insult the bouncer and start a fist fight.
  • You can knock on the door, and praise Sophia Hapgood, the bouncer’s idol. He will let you in since you’re okay for a college boy, pal!
  • You can ignore the door and push some crates to gain access to the fire exit ladder.

FireEscape

The next room contains the stage hand, which needs to be distracted. The necessary news paper can be found at the street we arrived from, so this puzzle takes place in two rooms but in a single location.

Iceland, First Visit

We’re automatically going to Iceland where we have to talk to Dr. Heimdall and learn about Dr. Sternhart in Tikal and Mr. Costa on the Azores. Once we have learned about these two people, we have multiple locations to travel to: Tikal, Iceland, The Azores and Barnett College, and no clear indication which one should be first.

Atlantis has very gradually increased complexity on us, and at this point the player needs to make choices where to go to and quite likely they will run into a few dead ends. What is important is that even though we have 4 locations, there is only one very linear way to go through this, and each location is essentially self-contained.

Tikal: Sophia is more than just an attachment…

The correct way through this linear progression starts in Tikal. Once inside the temple, the player will need to involve Sophia to advance as she needs to keep Dr. Sternhart busy so that Indy can steal the kerosene lamp.

While the concept of multiple characters isn’t new (Maniac Mansion had three, Zak McKracken had four characters), novice players may not be aware that Sophia is more than just an attachment and Tikal allows to find out about this in a very natural way (as Sternhart will always catch Indy when he tries to take the lamp, it feels very natural to ask Sophia for help).

Another small thing that Tikal introduces is manipulating items in the inventory. Before, you just gave the newspaper to the stagehand, but here you need to open the kerosene lamp and then use it on the spiral on the wall. This is a tiny detail, but remarkable nonetheless.

Tikal

Iceland, Second Visit

In Iceland, Dr. Heimdall has frozen to death, and the frozen eel figurine is partially exposed at the head. This is significant for two reasons: First, the player is supposed to remember that in New York, Sophia put an Orichalcum bead inside the mouth of her necklace (which looks like a face) and awesome stuff happened. So the mental connection should be “Get Orichalcum and come back!”

The second reason is that Iceland is a very small location and the player already visited it, so it might feel stale at this point. As grim as it is, having Heimdall frozen helps the location to not feel boring as it changed between visits.

The Azores: …she is a real character

With the Eel in hand, the Azores can be tackled. Mr. Costa bluntly sends Indy away. Previously in Tikal, the player could talk to Sophia and ask her to distract Sternhart, which serves as a clue on how to proceed here.

It is not immediately obvious that Costa might react differently to her than to Indy, and Tikal helped in having the player naturally try talking to her (instead of just trying out everything and stumbling on the "Talk to Sophia” option)

When Indy asks her to take over, the player can control her as a real character. This is once again introducing a new concept gradually and solving one half of the puzzle here.

The second half can be solved by looking at the dialogue: Costa wants to trade, but the necklace is not an option. The player may (and should) recall the eel figurine in the ice from the first visit to Iceland (Heimdall even spoke about it, and the player HAD to go through the dialogue explaining the figurine before they could advance).

Exchanging the eel figurine for information about the location sends the player to Barnett College.

Sophia

Barnett College: The most complex puzzle yet, softened through the intro

So up until this point, every location was self-contained with the exception of a single thing that needed to be done in one location in order to solve the next one.

The choice of four locations is an illusion but it keeps the player busy exploring and makes the game longer without feeling stretched out.

Barnett College, contains a (relatively) complex puzzle, the final puzzle in this act. Also, the location of Plato’s lost dialogue changes in every playthrough. There are three different locations where the Dialogue might be:

  • In a chest, which requires a key from the room above

DustyChest

  • In the tipped-over bookcase in the library (there are two ways to get it)

BookCase

  • In one of the cat figurines

WaxCat

The player is already familiar with the location (remember, we went through it in the intro), so the fact that we have a whopping six possible rooms with items that need to be carried between is softened a bit by the familiarity.

We may need the mayonnaise from the office to move the totem pole and climb up to the attic, get the key fro, the urn, go down again, move the big box and open the chest.

We may need to grab the arrowhead from this room and combine it with the rag from the boiler room so that we can unscrew the back of the library bookcase and get the book. In this case, combining the rag and arrowhead to create a screwdriver is the first use of combining inventory items in the game.

We may need to grab the gum from the desk in the library and use it to go up the coal chute (after we grabbed a piece of coal) and then either throw the coal at the dangling book to get it down, or we may need to get a wax cat figurine and smelt it in the furnace below.

Again, gradual increase, softened through familiarity with the location, but nevertheless a bump from previous puzzles.

After this puzzle is solved, the player has to choose one of the three paths through Act 2 (again, the game doesn’t indicate acts, I’m making this up). Sophia will recommend a path. Remember above when I said that the game remembers how Indy got into the theatre?

  • If he went through the crates and took the fire ladder, Sophia will recommend the Wits path
  • If he praised Sophia in front of Biff, Sophia will recommend the Team path
  • If he beat Biff in a fistfight, Sophia will recommend the Fists path

Paths

This is only a recommendation, the player is free to choose any of the three paths right now. Still, it is remarkable how the game tries to learn about the player and then tailor the rest of the game to them, but without committing at the beginning as to not punish a player that has gotten into the fistfight with Biff by accident or decided that they didn’t like fighting.

Paths2

Act One: Maybe one of the best learning curves in any game, ever.

Some of the things you have read may seem obvious and have you go “Well, duh!”. But I’m trying to see how the game caters to first time gamers who may not be familiar with computers or games (remember, this was in 1992).

The first act very gradually introduces new elements, forcing the player to go through a linear progression that seemingly opens up, but really only turns into a wider tunnel instead of an intersection. Things that are important later on are clearly shown in advance and the player can remember them later (which seems to be an application of Chekhov’s gun in games).

Remembering how you deal with Biff and offering that as a choice hasn’t been repeated in mainstream adventures (with the notable exceptions of Fahrenheit and Heavy Rain), presumably because it adds so much extra work for something that a lot of players will never see – before writing this series, I never went through the Fists path for example.

(Sidenote: There was a big discussion about linearity vs. open world when Final Fantasy XIII was released, since it was very linear. Development costs for games have exploded over the past few years, and making expensive optional content is a concern for the bottom line, no doubt about that.)

In a way, the different paths act as difficulty levels as well. The Wits path may have the hardest puzzles, but is very light on fights. The Fists path is the opposite, and it adds difficulty because of two opponents that are immune to the sucker punch (Keypad 0, will instantly knock out an opponent). The Team Path is a nice balance and is a bit more dialogue heavy.

The beginning of the game introduces every individual element of the game in isolation (and there are quite a few elements if you look at it) and it does so without feeling like a limited tutorial. It encourages safe experimentation and discovery, so at the end, the player should be well prepared for the next part, which is the meat of the game.

Authentic Gaming Experiences

I’m just setting up my Commodore 64 again for some authentic gaming. The 5.25” floppy disks on the day use a notch in the side to detect if the disk was write protected or not, and commercially bought empty disks usually only had the notch on the right to make one side writable.

However, people soon found out that the disks are usually safe to use on both sides, and that if you put a similar hole in the other side, you could write data onto the other side as well. There were even sophisticated hole punches for floppy disks.

Wussies I say, real men use cutting tools and make their own holes, so that their disks have character and personality! Okay, okay, I kid, the real reason is that I just can’t find these disk hole punches anymore on eBay, they have become even rarer than disk boxes.

Disk

Anyway, my setup is up and running and almost ready to record (fighting with a broken hard drive in a RAID-0 array and with the Blackmagic Intensity Pro’s lack of good configuration options – the setup is arguably overkill anyway, it was meant for 1080p HDMI capture).

P1000545

One thing I noticed is that the Commodore 64 had some real differences in timing between the PAL and NTSC versions, the Zak McKracken Intro seems to play 50% faster on mine.

Here’s how the Intro is supposed to be like:

Zak Mckracken Intro (Commodore 64)

 

I like how far emulation has gotten over the years and how we can now experience classic games easier and more comfortable (faster loading times, less or no disk swapping, Save/Restore the system state, no cabling and no need for different controllers), but sometimes, authentic experiences require the real hardware.

Apart from Tube Screens. Sorry, I take the slightly degraded quality on a digital LCD over the size of an analogue, proper NTSC color TV.

consoles

Some misc. Game Development Videos

Just a small collection of Game Design related videos I found interesting. There is a large wealth of great talks on YouTube and GDC Vault, I picked these because I watched them very recently and there were one or more great points.

Sequelitis: Mega Man Classic vs. Mega Man X

This is hilarious and uses Mega Man X to show how you can teach your players the rules and limitations of the game through good gameplay rather than annoying tutorial prompts. I laugh every time I see the MEGA MAN! MEGA MAN! tutorial prompt and the reaction of the protagonist (because that’s what I want to do everytime I see a modal tutorial prompt)

Sequelitis: Mega Man Classic vs. Mega Man X

Classic Game Postmortem – Maniac Mansion

http://www.gdcvault.com/play/1014732/Classic-Game-Postmortem-MANIAC

Ron Gilbert talks about the first SCUMM Adventure, Maniac Mansion. This goes into the scripting part a lot, and I found the clock tick script interesting as an illustration on how many, many tiny pieces of code made the world alive. Some other rather anecdotal parts deal with censorship that required a box art change.

Sid Meier – Everything you know is wrong (GDC 2010 Keynote)

This deals with some balancing and rewards issues in game. For example, it deals with “My strength is 1.5, his strength is 0.5, so I should win all the time vs. My strength is 1, the enemy has 3 and when I’m winning, that feels right. Also, 2 vs 1 is different from 20 vs 10”. Some really good stuff.

Basically, it’s a panel about psychology in something that’s normally driven by hard math.

Sid Meier – Everything you know is wrong (GDC 2010 Keynote)

Happy Video Game Nerd: Earthbound

Earthbound did a lot of things really right, including the fact that trivial battles are simply skipped and the player wins by default. The first half contains 5 reasons that made Earthbound special. The second of the video concerns Earthbound and why it struggled in the US and is not interesting from a game development point of view.

Happy Video Game Nerd: Earthbound

BlizzCon 2007 – UI Panel

World of Warcraft wasn’t the first MMO to allow a customizable UI or to use LUA, but since the original release in late 2004 it had a lot of polish going into it and is extremely powerful.

The UI Panel at Blizzcon 2007 isn’t simply useful for World of Warcraft, but it includes a few neat ideas on how Lua can be integrated into an existing system and augmented with some custom data (in their case, XML data for a UI interface)

BlizzCon 2007 – UI Panel

GET LAMP: The Text Adventure Documentary

Jason Scott is one of three men I have a man crush on, and his documentaries are top notch. GET LAMP is a documentary about text adventures and contains many interviews from the people. Of course, a big focus on Infocom, but a few other bits and pieces as well. This isn’t strictly a game design video, but it contains some great insights into their thought processes and limitations (which is why they made the Z-Machine).

If you liked it, I recommend buying the DVD from http://getlamp.com/ since it’s a beautiful package.

GET LAMP: The Text Adventure Documentary

The Intro Sequence (Dissecting Indiana Jones and the Fate of Atlantis Part 1)

(This article is part of the Dissecting Indiana Jones and the Fate of Atlantis series)

As you might have gathered from my previous posting about Adventure Games, I’ve spent a lot of time recently playing these games and while there are many different details that I loved in different games, there was one game that stood out because every aspect of it was perfect: Indiana Jones and the Fate of Atlantis. I believe that this game should be taught in game development classes, but as a substitute I’m creating a little series where I dissect the various parts of the game.

Let’s start at the beginning, at the intro. Intros and Prologue sequences have two jobs: They need to establish the scenery/mood and ease the player into the game. If Intros are too long (like many of the “cinematic” games these days), you risk losing the players attention span. If you just drop the player into the action, you put a lot of stress on them from the beginning. Experienced Gamers may feel annoyed by too much handholding and even inexperienced gamers may feel overwhelmed or even insulted by tutorial prompts if that’s how you want to introduce the game mechanics.

Monkey Island and Zak McKracken are great examples for good intro sequences, and when it comes to gameplay tutorials the original Super Mario Bros is to name (even though it’s not an adventure, I highly recommend reading Anna Anthropy’s article about SMB)

Atlantis does something I never saw before it, and it makes the intro perfect: It puts gameplay into the actual intro/credits sequence. As intuitive as point and click adventures are, there is still a lot of stuff going on on the screen with the verbs and inventory.

First Screen: The Attic

image

There is no stress and no long delay before you can actually play the game. Indy swings in through the window, which establishes him as some sort of action hero to people who don’t know him.

The dialogue lets the player know that Indy is searching for a STATUE in all this JUNK. The emphasis is key here. It encourages the player to look for a statue, and it’s clear that junk refers to the stuff in the room. Now, Indy is referring to a small statue at the end of the intro sequence, but we don’t know that yet. All that we know is that we’re looking for a statue, no idea how big or small or any other details.

At this point, there are exactly two things of interest: The scenery and the mouse pointer. No verbs, no inventory, no other characters, no sideways scrolling, no time limit, no stress. As the player is moving the mouse around, text on the screen indicates what everything is. Clicking on anything will have Indy interact with it.

Eventually, the player will click on the big statue (with the big trapdoor in front of it) which sends Indy down a level.

Second Screen: Storage Room

image

More credits, more exploration. Except that there is no statue here. Exploring will yield no results. But there is a very obvious hole in the floor (unlike the trapdoor before, which was covered) with a rope, so the player is pushed to think “There is nothing here, let’s keep exploring”, and the rope makes it very obvious that going down the whole is the desired option.

Third Screen: Library

image

This one appears a lot more crowded than the first two. There aren’t any more items here, but there is a bigger emphasis on differentiating between seemingly similar items. The three bookcases on the right all have different titles even though they look the same. There is an exit in the back, invisible if not by hovering over it (which should naturally happen when trying to discover what the book shelves are and introduces the concept of hidden hotspots) and blocked (because the staircase is currently being repaired).

The sole bookcase on the left contains books about statues. I’m not sure if this qualifies as an abstraction (We’re looking for a statue => maybe a book about statues would help?), but it fits the room. Interacting with the bookshelf sends the player down again.

Fourth Screen: Cat Exhibition

image

There is one exit, obviously visible but not usable. There are 4 cat statues, and nothing else that can be interacted with. Interacting with any statue gives some flavor text, but nothing else. Only when we interact with statues again, one of them turns out to be a real cat, sending Indy down the coal chute. This introduces the concept of multiple interactions with an object.

Fifth Screen: Boiler Room

image

Both exits are blocked: Indy can’t go up the coal chute because it’s too slippery and he refuses to leave through the door without the statue. The new concept introduced in this room is the locker door. Clicking any of the three lockers opens it, and the third locker contains the desired statue.

In real life, opening and closing doors seems obvious, but computer games have limitations and the previous screens had objects that couldn’t be interacted with. The lockers emphasize again that you can interact with objects and that some objects have some sort of state, in this case open/closed.

When you open the third locker, two things happen: First, Indy clearly exclaims that this is what he was looking for, and second the statue is highlighted, inviting the player to move their mouse here. The emphasis here is not just to guide the player, but also to let them know that changing the state of an object (opening the locker) can lead to new interactions that weren’t there before.

Intermission: Outside Bernett College

image

In theory, Indy could just appear in his office, but instead we see him walk from the storage building towards the administrative building. I am not sure if this was just done to squeeze in more credits and showcase the graphics, but I see another real use here: It familiarizes the player with the location. Later, we need to come back here and go back all the way to the first screen. By having this intermission screen, the game does not need to tell the player later on where the storage room is.

Cut scene: Inside Indy’s office

image

This is the first time we see other characters, and another important element is introduced here: Every character has their own text color. In the modern age of fully voiced games this may not seem significant, but when Atlantis was first released, there was no speech. By assigning text colors here, we know who is speaking in scenes where the characters aren’t visible, which conveniently happens twice in this scene.

Apart from that, this is the first real non-interactive part of the game, going on for about 3 minutes. At this point the player is (hopefully) already hooked, so they won’t be impatient as they sit through this. It also sets in motions the events of the game and the reason for this whole trip and establishes the time line for people who don’t know Indiana Jones.

Map screen: Barnett to New York

image

Indy has to travel a bit during the game, and this non-interactive screen simply establishes his current location (Barnett College, which was not stated so far in the game) and signals that you can travel to locations with a red dot.

New York

image

This is where the game begins for real, but it doesn’t just begin. When the screen fades in, we have the scenery on top, which is a familiar interface by now. Below, we have the word “Walk” and nothing else. Only after a few seconds, the verbs and inventory bar fades in.

I do not know if there is a technical reason to have the word “Walk” visible before the action bar, but to me it seems that they wanted to introduce this new element to the player before they show the action bar (which doesn’t contain the word “Walk”). New Players might now experiment again, noticing that they can interact with the world in a more diverse way. This screen also uses horizontal scrolling for the first time in the game and has player initiated dialogue.

That is a lot of stuff that is dropped on the player at once, but at this point the player is already familiar with how the game works and simply has to play around with the new tools given to them, not with the very basic “What am I doing here?”

Conclusion

The introductory sequence manages to have a long introduction of the settings, the characters and the antagonist without having the player sit through a long non-interactive sequence. It introduces Indy as an action hero and only brings in (light) puzzle solving at the very end. It creates a landmark that the player can recall later on.

Every single thing in the intro seems to have been done for a reason and by the time you’re in New York you’re past the initial bump of getting used to a new game.

Simplexcel – simple .xlsx library for .net

As part of almost every application I work on, I need to create Excel sheets one way or the other, usually from an ASP.net MVC application. During the years, I’ve tried several approaches, and they all sucked one way or the other:

  • COM Interop: By far the worst option. Requires an installed Excel. Slow. Error prone. Resource-intensive. Not supported in a server environment.
  • CSV or HTML Tables: Only supports a single worksheet, not much formatting, prone to break Excel’s heuristics (e.g., the string “00123” is interpreted as a number, stripping the leading zeroes. For big numbers, Excel loves to use scientific notation, which sucks for Barcodes which should just be interpreted as strings) and hard to create (CSV is a pain if you need to escape quotes or have newlines)
  • Excel 2003 XML/SpreadsheetML: A crutch. Uncertain future, limited options, big files. But actually, not too bad.
  • One of the many Excel 2007+ .xlsx libraries: I tried about 4 or 5, and they all sucked in a different way. No offense, but some library authors try to cover the entirety of Excel’s capabilities, leading to an awkward API. Many don’t catch specific Excel limitations that aren’t part of the standard (e.g., Sheet name length or invalid characters), which means I’m creating sheets that cause Excel to tell me there was invalid data, leaving me puzzled how to fix that.
  • Going Low-Level with the OpenXML SDK 2.0. Believe me, you don’t want to go down that road. There is very little help creating the documents, and if you want certain features that seem obvious (e.g., setting the Author of a document, which requires adding the creator element to core.xml) you will find that there is actually no way to do it.

So, all solutions I tried sucked. Which means that I set out to create another solution that sucks slightly less. Armed with some spare time, the ECMA-376 standard and Excel 2007 and 2010 to actually test against, I created a library that has a limited set of features, but implements them well, handles errors properly and (hopefully) has a good API for you guys to work against.

Features

  • You can store numbers as numbers, so no more unwanted conversion to scientific notation on large numbers!
  • You can store text that looks like a number as text, so no more truncation of leading zeroes because Excel thinks it’s a number
  • You can have multiple Worksheets
  • You have basic formatting: Font Name/Size, Bold/Underline/Italic, Color, Border around a cell
  • You can specify the size of cells
  • Workbooks can be saved compressed or uncompressed (CPU Usage vs. Network Traffic)
  • You can specify repeating rows and columns (from the top and left respectively), useful when printing.
  • Fully supported in ASP.net and Windows Services (The documentation contains an example ActionResult for ASP.net MVC)

Usage

You can get the Simplexcel Nuget Package for .net 4.0 Client Profile or higher – https://nuget.org/packages/simplexcel

Documentation can be found at http://mstum.github.com/Simplexcel/

Source Code

Licensed under the MIT License, the code can be found at https://github.com/mstum/Simplexcel