Sunday, November 27, 2011

Changing Icons in Visual C++ Express Edition

I recently started working on a game in C++, using (as a starting point) a game engine that I helped create in a Game Engine Architecture class I took at DeVry University this past year. I'll be revising the engine and tailoring it to my needs for the game, as well as abstracting the engine portion from the game portion (so it could potentially be reused, and also to get some experience with that kind of coding).

I decided that whenever I solved some troublesome problem or had something interesting to say about it, I'll blog it here. It didn't take long for me to find something.


Application Icons

Anyone who uses a computer knows what an icon is, right? It's used for a shortcut on your desktop, or the Title Bar for a window, or in the application window in the Taskbar. When programming in Windows, you can obviously customize that by using an .ico file, which is essentially a small bitmap image.



So... it seems like this should be something that's easy to change, yes? I thought so too, and ended up spending a few hours trying to figuring it out.

And before you say it, no, I'm not stupid. The problem stems from two things: 1) my relative green-ness at C++ coding (not an expert yet) and 2) the lack of features in the Express Editions of Microsoft's Visual C++ IDE. The Express Editions are free, which is great; however, they aren't as full featured as retail versions of Visual Studio, and that sometimes makes a task that should be very easy to do, a bit difficult.

Such is the case with the Express Edition. You can't programmatically add resources through the application and there's no resource editor. You can do it manually, though (anything can be done manually). Just a heads up, I currently use the 2008 edition and this tutorial will be written from that perspective.

Searching the Internet

Whenever I hit a roadblock in coding, the first thing I generally do is search the internet. Nine times out of ten, someone else has already asked the same question and gotten an answer. All you have to do is find it. So I start searching with Google.

The first thing that confused me about this problem, was that no one had a simple explanation of the entire process. It was in bits and pieces and I had to put it together (which prompted me to write this post). The second was that some people were talking about one or the other, i.e. the problem of the icon for the final .exe (desktop shortcut) you create vs. the icon used in the window title bar or taskbar. At first I didn't understand this distinction – I was focusing only on the window title bar icon, not the .exe one.

It took me a while to get this sorted out, so hopefully this complete explanation will help someone.

The Resource Header

The first thing you need when dealing with resources, is a header file that defines the resource variables you want to use in your project. We'll only need variables for small / large versions of your icon. Use Visual C++ to create a header file: right-click Header Files in the Solution Explorer, go to Add à New Item. In the templates, select Header File (.h), enter the name at the bottom (I called mine Resource.h) and click Add. There should be an empty .h file in your project now.

Open that header file and add this code:



    #define IDI_ICON_BIG 1
    #define IDI_ICON_SMALL 2



This defines two variables that we can use in our code. The compiler will treat them as integers (1 and 2), but a string version makes it easier for us to read in code. You can change those variables to whatever you want, but use the prefix of IDI_ since that's the standard format for icon resources and it's good practice to use that.

Before you save and close the file, add a few blank lines at the end. If you don't, you might get an error like this when you compile the header file later:

fatal error RC1004: unexpected end of file found

This is a bug in the compiler and is fixed by adding the extra lines at the end. I found the solution at a site called Code Library.

With your extra lines added, save and close the file.

The Resource File

Next, you can create the resource file itself. This file essentially associates resources (like an icon) to the variable that you use in code. In the IDE, a resource file is usually represented with a suffix of .rc. Aside from the resources themselves, all other files in a project/solution are generally text files. So the easiest way to create a resource file is to create a text file and save it in your project folder – the same folder as your winmain.cpp file – and use the .rc suffix instead of .txt when you save it. I named my file app.rc, but you can name it something else if you wish.

You can then edit the file in a generic editor like Notepad, or you can add it to your Solution in Visual C++ manually and edit there. To add it, right-click on Resource Files in the Solution Explorer and go to Add à Existing Item. Navigate to your .rc file, select it and click Add.

Now edit the file. You can have a different icon for each thing (executable, window title bar and taskbar), so we'll set it up that way even though you might want to use the same icon for all three. If you try to double-click the .rc file to edit it, you most likely will get this warning:

Curse you, Express Edition!!

To get around this, right-click the .rc file, select Open With on the menu, then in the dialog that appears, select "Source Code (Text) Editor." You'll now be able to edit it in the Code Window. Add this code:



    #include "Resource.h"
 
    IDI_MAIN_ICON ICON "res/app.ico"
    IDI_ICON_BIG ICON "res/XXXX.ico"
    IDI_ICON_SMALL ICON "res/YYYY.ico"



Where app.ico is the name of the icon file you want for the executable, and XXXX.ico and YYYY.ico are the names of your big and small icons for the windows, respectively. Replace those with your own names, but Windows will use app.ico as the default filename for the executable icon, so you'll need to use that for that specific icon file.

This associates your resource variables with the files themselves. You need to include Resource.h so the compiler knows their definitions. The ICON term denotes that it's an icon resource, and the path in quotes is the path to the file in your project.

Now, you could just put the .ico files in your main project folder, but if you have a lot of resources, it's better to keep them separated and organized. I put mine in a folder called res in the main project folder. You can put them wherever – just make sure the path is updated accordingly.

You can read more about Resource Files here.

Icon Files
If you don't already have your .ico files, go get them now and come back. If you're looking for some to test or whatnot, you can find free ones on the internet. I like this site, personally: Icon Archive.

If you have picture files that you want to convert to an icon, there are numerous websites that will do this for you. Here are a few to start with:
  
Once you have them, name them appropriately (app.ico for the executable, of course). Make sure the names match up to your .rc file and you have saved the files in the right location within your project folder tree. Add them to the Solution Explorer in the same manner as the .rc file previously (add existing item). You don't technically have to add them to the Explorer, as the compiler will know where to get them from the .rc file, but it's good practice and helps you keep tabs on your files.

Load the Icons

Everything is now in place to add your icons to the window / taskbar. In your code (winmain.cpp), you should have something that initializes the window class that you're using. Here are the pertinent lines of mine (the full code is linked further below):



    bool initWindow(HINSTANCE hInstance) {
 
    // initialize the window class
    WNDCLASSEX wcex;

    wcex.hIcon = LoadIcon(hInstance,
                     MAKEINTRESOURCE(IDI_ICON_BIG));
    wcex.hIconSm = LoadIcon(hInstance,
                     MAKEINTRESOURCE(IDI_ICON_SMALL));
    // other wcex properties excised...

    RegisterClassEx(&wcex);

    // code excised...

    return true
    }



For the hIcon and hIconSm properties, you merely load the icon with LoadIcon, using the variables we set up in the resource header and resource file. Rebuild your project and voila, the window, taskbar and executable should have the correct icons!

Compiler Notes

If you're experimenting a lot and your project doesn't take too long to build, a good thing to do is to clean your solution before rebuilding it. What this does is delete the compile-time files that are generated, like the executable, or a .res file.

Speaking of .res files, this is a compiled file that consists of all resource objects (icons, bitmaps, etc) and associated .rc files. Visual C++ will compile this for you from the files in your project, and it should appear in the Debug folder under the main project folder after rebuilding.

You can compile these files yourself by using the Resource Compiler (rc.exe) that comes with the Windows SDK. Search for it on your computer, place any .rc and associated resource files in the same folder, then use rc.exe via the command line. Here's a good article on how to use it. And the full documentation on MSDN.

My Project

The game I'm working on is called You Are Cat. The code I'm working with is visible as an open source project (Eclipse Public License 1.0) on Google Code. You can view it here.

I've decided to make it available since it will hardly be the final version of the game (if I ever finish) and because I'm taking parts of the code from the basic engine created at DeVry with some other students.

As far as the game, I'm not going to explain what it is about or what you actually do. You'll have to figure it out from the code, if you're so inclined.  

Thursday, November 17, 2011

The Wheel of Time [8] The Path of Daggers (1998)



This volume begins the third trilogy in my organization of the series. We had the Setup Trilogy (1-3), the Action Trilogy (4-6) and what I'd call the Bridge to the Second Half or the Midpoint (7). This next trilogy, comprised of Books 8-10, I call the Wandering Trilogy.

Wandering? As in, Robert Jordan didn't know what he was doing and was wandering about aimlessly? Many might say yes, and that he was merely stretching things out and milking the series now that it was a New York Times Bestseller (The Path of Daggers would be the first #1 of the series). To me, it's more about the characters wandering around, delayed by life, doubting themselves, caught up in a variety of situations and not sure of where they are going. Nothing is turning out as it should, expectations are dashed, and this leads to a lot of sitting around by many of the characters, stuck in a rut for the next 3 books.

Now, I understand what Jordan was doing here. Does it make for exciting reading? Not necessarily. Could it have been done a different way? Surely. If you're one of those who really hate the next few books (and I used to), bear with me – there will be praises and criticisms alike. Even though I love this series and recommend it to people, I do believe it has its faults and caveat a recommendation with a warning about how slow the Wandering Trilogy can feel for a first-time reader.

Before you continue:
  • This is part 8 of my The Wheel of Time retrospective
  • See this blog post for an overview of the retrospective
  • These blogs are most effective with your own re-read of the series
  • Warning: CONTAINS SPOILERS FOR THE ENTIRE SERIES

Thoughts Then

I vaguely remember buying this when it came out, in the fall of 1998. I had graduated from the University of Nebraska earlier that year and was living in Omaha with my friend, Mike Dappen, the singer in the death metal band I played drums in, Lead. I moved into the spare room of Mike's house, where we practiced in the basement. I had graduated with a BS in Biochemistry, but decided during my last semester that it really wasn't for me. So I just finished to finish and have a degree, got a simple job at an insurance company (Central States Health & Life Co. of Omaha) and focused on my band for a while.

I designed the logo myself... pretty cool, eh?

Mike's mother worked in Chicago during the week so most times it would just be Mike, his sister Angie and I, with friends and bandmates frequently hanging out. They had a huge basement with a pool table, foosball table, bar and hot tub. It was pretty awesome. Our Denny's hangout was just down the street and I had a lot of time to read.

I don't particularly remember reading this the first time, but I do remember that I was extremely disappointed. Extremely, for a few reasons. One, that it was super short. I could tell that from the moment I picked it up – less pages, larger font and line spacing, less chapters (only 31 when 50 was par for the course). I felt a bit ripped off. Two years to get half a book? It's funny to say half a book now. Even though it's the shortest of the entire series, at around 226K words it's much longer than your average novel. I had been spoiled by the epicness of Books 4-6 (which average around 378K words each).

What's Going On?

As for the content, the only thing I liked initially were the Rand chapters, when he tries to drive the Seanchan completely out of Ebou Dar. Having Narishma get Callandor, having something cool happen with it after four books (he left it behind in Tear at the beginning of The Shadow Rising) was a treat. But pretty much everything else sucked to me. Mat pulled a Book-5-Perrin-Disappearing-Act and didn't appear at all. (Though Jordan's explanation of this is perfectly logical – he's just sitting in a bed recovering from injuries, not exciting reading – at the time I felt cheated.)

Elayne, Nynaeve and that whole gaggle of annoying women spend 20% of the entire book moving through a gateway, walking to the top of a hill, using the Bowl of the Winds, then retreating through another gateway as Seanchan attack. 20%. For that.

This much of the book was the above.  Excluding the relatively short prologue, of course.

Elayne finally reaches Caemlyn, beginning her quest to take the Lion Throne, a story thread that doesn't get resolved until Book 11, Knife of Dreams.

The Egwene chapters were fairly boring and the only interesting events in her storyline happened toward the end of her sequence, starting a story thread (unification of the White Tower) that is not resolved until Book 12, The Gathering Storm.

As for Perrin... well, his chapters were the worst. He's looking for the Prophet. Morgase and company join him, he finds the Prophet and Faile is captured by the Shaido. That's it. This begins a story thread (rescue of Faile) that drags on until Book 11, Knife of Dreams.

Detecting a pattern here? I had no idea at the time that these storylines would drag on so. Nobody really did that in fantasy at the time and I had not encountered it before. But it's a logical extension of the theme of the novel, something I didn't really understand back in the day.

Thoughts Now

This re-read has opened my mind quite a bit. I actually truly enjoyed this book for the first time. I'm no longer disappointed by the shortness. I now understand the place it has in the series and like I mentioned in the blog for A Crown of Swords, it was not until I had the knowledge of almost the entire series under my belt that I could appreciate what the book was trying to do.

I would argue now that this volume is one of the most focused entries in the series and the contents actually tie into the title quite well. One of the quotes before the prologue sums it up nicely:

"On the heights, all paths are paved with daggers."

These characters have been riding high for a while, reveling in their newfound power. But now they are tested and know what it means to be "on the heights." Everyone is ready to take a shot at them; daggers are everywhere ready to cut you.

Take Rand. He conquers one country after another, kills one Forsaken after another. He's seemingly unstoppable and thinks he can do anything. So he tries to drive off the Seanchan again – but this time he fails. The madness of tainted saidar is catching up to him and he fails badly when he loses control using Callandor, killing some of his own people. Some Asha'man try to assassinate him. Suddenly he's lost control of a lot of things, and must go into hiding, step back and think things through. He can't lose control again and must figure out a way to deal with it – the focus of the next volume, Winter's Heart.

You don't normally see heroes doing this in fantasy epics. If they do, it's resolved easily within a few chapters – it doesn't span multiple books. They usually barrel through to the end, overcoming adversity efficiently. The way Jordan handled this in WoT is different and in some ways it works, in others it doesn't.

The Cover... It's Okay

The Sweet cover for this volume isn't too bad. Okay, I'll admit, it's actually decent. I don't mind it as much as the others. I don't cringe when I look at it at all. I like this version of Rand probably the most of any Sweet cover, although the proportions between his upper and lower body don't seem quite right.

To be honest, the best part of the cover is the back... no Sweet-style trollocs for once! The statue is fairly accurate to the description in the book so it was cool to see something done right for once. In celebration, I'll actually post the entire cover this time:

Finally, a Sweet cover that doesn't totally suck!

I also discovered there was an alternate paperback cover for this, similar to the A Crown of Swords one that I used to have. Surprisingly, it's not on encyclopaedia-wot.org. The "path of daggers" graphic is pretty cool. Why, oh why, did Tor not just reissue everything with this style of cover and ditch the Sweet ones?

I really like this cover.

Rand is in Everyone's Prophecy

Something that has always bothered me about the series was how Rand factored into most cultures' prophecies. We now know that Rand is the Coramoor to the Sea People... yet another group of people wanting a piece of him? It feels like overkill sometimes. And this is before the whole deal with the Seanchan and Rand "kneeling before the Crystal Throne" before the Last Battle, as foretold somewhere in the series. It's kind of like the Bible having different versions, or people like the Jews believing something different about Jesus Christ compared to Christians. Makes sense, though I find it annoying at times.

It also speaks to human nature that all the disparate groups that Rand is trying to get to work together still ultimately want to only look out for their own interests. Their interests will survive Rand and Tarmon Gai'don. That event, which Rand is focused on, is bigger than all of them, yet they still don't get it. Maidens want to be babies and beat Rand because he left without them – things like that in the series I find disappointing and I've never liked those parts or the selfishness some characters have. But I suppose it's realistic.

The Wheel of Time on the Internet

In the years between Books 7 and 8, I started looking at Wheel of Time content on the internet. My first experiences with the internet as we know it today were in college in 1995 or so. I didn't have a computer of my own and the computers in the labs at school were a mix of Windows, MS-DOS and Mac computers. I still have the 3.5" hard disks (that only held a pitiful 1.44MB) with my papers in Word 5.0 or WordPerfect format on them.

Netscape Navigator was the browser we used and most websites were of the old school Geocities type: text in multiple colors, tiled backgrounds that conflicted with the text, animated gifs, things blinking, HTML table borders showing... it was bad. Kind of like what Myspace profiles turned into. Here's a great website that lets you Geocities-ize other sites, if you don't know what I'm talking about (or if you're just bored and want some fun). Ah, memories.

Anyway, inevitably I found the original WoT newsgroup (rec.arts.sf.written.robert-jordan, it's on Google Groups now, still with posts dating back to 1994!), and later in 1998-99 the early fansites, like Dragonmount and Wotmania (now defunct), along with the WOTFAQ. A newsgroup was essentially the first kind of discussion forum and it was one of the first places I found with people discussing WoT on the internet. I just lurked and read the content on these sites for the most part. It was nice to "listen" to others discuss the book, as none of my friends at the time read the series.

From this point forward I wasn't alone with the series anymore – I could always find discussions online. I joined a few of the sites later on – Dragonmount, Wotmania and TarValon.net – and became really active on one for a short period of time. More on that in the blog for Book 11.

So, thank you to the World Wide Web and all those who created WoT fansites, for creating a new place for people like me to discuss and share this series.

Next:

Book 9 – Winter's Heart
 
Previous:

Book 7 – A Crown of Swords
Book 6 – Lord of Chaos
Book 5 – The Fires of Heaven
Book 4 – The Shadow Rising
Book 3 – The Dragon Reborn
Book 2 – The Great Hunt
Book 1 – The Eye of the World
Retrospective Overview

Wednesday, November 9, 2011

How to Easily Format an eBook [3] Convert / Verification

This is the 3rd post in my tutorial about formatting an eBook for Kindle or Nook. You can read the first post about overall text formatting here. You can read the second post about title pages and a table of contents here. This post deals with the final step, converting your text into the requisite eBook file for Amazon or B&N and verifying it.

Once all the formatting and features are finished, you are ready to convert your file into an eBook file. For Kindle you can use .mobi and for Nook you can use .epub. You can create both from the same initial Word file, so the entire process is very easy.

Save as Filtered HTML

The first step is to save your Word document as Filtered HTML. An eBook file is really nothing more than an HTML file, so by saving as one initially you've have done half of the work already. Saving as Filtered HTML preserves all the formatting of the Word document, but removes much of the tags that Word/Office use for their specific functionality, cutting down on file size and tags that have no place in an HTML file.

To do this, merely do a "Save As" in Word (F12) and in the Save as type dropdown at the bottom, select "Web Page, Filtered."


Below that dropdown, to the right, you'll see a tag called "Title" (which might say Add a Title next to it, or already have a title from your file in it). Make sure this is set to the title of your book.  Select and change it if necessary.

When saving, save it two times – one with a filename that denotes it for Kindle, and one for Nook. That way you can convert each one separately in Calibre without any issues. If you want, update the type of edition in the Copyright Page for each to denote that one is the Kindle Edition and one is the Nook Edition.

Once saved, you can move on to conversion.

Calibre

The software I've used to convert my books is Calibre. You can find out all about it on the Calibre website, calibre-ebook.com. It can be used as an eBook manager if you so desire, but I only use it to convert files. It's very easy to do, and it has the added bonus of being free. The conversion discussed in this tutorial will only use Calibre.

First of all, download and install Calibre. Once done and the program is opened on your computer, you'll notice that there are a lot of options and it may be a bit overwhelming. No worries, there are only a few steps you need to take.

Add/Update Your Book

The first step is to merely add your book to the list in Calibre. Click the "Add Books" button at the upper-left and navigate to and select the HTML file for your book. If you have more than one HTML file (if you saved one for Kindle vs. Nook), then add each separately. Anything added will appear on the eBook list in the middle of the main window, like so:


From there, you'll need to update your book settings so that everything is set for when you convert the file. Highlight the book in the list and select the "Edit Metadata" button on the toolbar at the top, or right-click and do the same thing. Either way, the Edit Metadata dialog will appear:


Make sure to update the Author(s) and Author sort textboxes appropriately. The Title and Title sort should be set, but update them if they are not. I believe the sort is only used in the Calibre list, but it doesn't hurt to be accurate with them.

This is also where you are going to attach the cover for the book. For publishing on Amazon or B&N, I suggest having two sizes of your cover: 600x800 and 180x240. The first will be used in the eBook itself, while the other can be used for uploading to the Amazon and B&N websites. In Calibre, select "Browse" in the Change cover section and navigate to your 600x800 version.

Also, remember to update the Date and Published fields to denote when you actually created/published the eBook file. Click "OK" when you are ready to save the updates.

That's really all you need to update on the file. Now you are ready to convert.

File Conversion

Merely select your book in the list and click "Convert" on the toolbar. It will bring up a Convert dialog, and if you already did all the updates mentioned in the previous section, there's only one thing you'll need to change. In the upper-right corner, there is a dropdown for Output format. Change this to the desired format – MOBI for Kindle, EPUB for Nook.


Once your desired format is selected, click "OK" to convert. It will take a handful of seconds to process. Once done, you can find your final file in the book's folder wherever you designated the Calibre Library to be on your file system (during installation of the program). That is the file you will use when submitting to either Amazon or B&N.


Verification / Quality Assurance

Before you submit, however, you should always check the file in the target eReader to make sure it appears as you want it to. Generally, if it looks good on Kindle, the Nook version will look just as good.

I do most of my checking on Kindle, since I actually own one. You can easily copy your file to your Kindle by merely plugging the USB cord that comes with your Kindle into your computer. Copy the .mobi file and paste it into the high-level Kindle directory where all the other books on your Kindle are. Disconnect the Kindle, turn it on and check out your book.

For help on transferring files to your Kindle, check here.

If you don't have a Kindle handy, you can easily check using the Kindle Previewer program, which can be downloaded here. It's a simple program that will open any compatible file so you can see how it would appear on a Kindle.  Be aware that this is not the Kindle reader app for PC - you cannot add a custom book to that app.  If you want to look at it on your PC or Mac, you'll need to download the Previewer application.

Change the font style or size. Test out the Table of Contents and the links there. Make sure all your special pages (Title Page, Section/Part Breaks, etc) look sufficient. Nothing will look that good in super-large fonts, so don't worry about those; just test the smaller fonts that most people will use.

Another important thing to check is whether the paragraph indents are working properly (based on the steps taken in the first post of this tutorial). Unfortunately, the only way to really know if all the formatting is okay is to actually read through the entire book on your eReader, making note of each instance that needs to be fixed (I do a final reading in this fashion, using the Note feature of the Kindle to mark areas for adjustment).

To test on Nook, I merely used the Nook app on PC and my Android handset. You can find all the versions here. Nook functions pretty much the same way – if it looks good on Kindle and the Table of Contents work, chances are it will work on Nook as well. But it's a good idea to try it out on at least one version of the Nook app (or the Nook itself, if you have one).

Next Steps

All that's left is to get them published on Amazon or B&N. I'll leave how you do that up to you... but hopefully someone has found these tutorials helpful in some way. Post a comment if you have any questions.

Shameless promotion: If you want to see how this all looks in final eBook form, download a free sample of my book in Kindle or Nook formats. You could also try reading it as well. ;)

Friday, November 4, 2011

The Wheel of Time [7] A Crown of Swords (1996)



I don't consider this volume part of any "trilogy" within the overall sequence, like I have for the previous volumes. It's more of a bridge between the first half of the series and the second half. It's the end of the fast-paced adventure that the characters have gone through thus far. Many readers mark this volume as the beginning of the slowdown of the series, but for me that comes in the next few volumes.

I've always liked A Crown of Swords; I felt it was almost as good as the last few, but not quite there. It features the same elements/pattern as previous novels: a few major events, a new land/city to explore (Ebou Dar), the death of a Forsaken, Rand conquering another nation... but here is where Jordan begins some trends that change the tone and pace of the next "trilogy" (Books 8-10).

Before you continue:
  • This is part 7 of my The Wheel of Time retrospective
  • See this blog post for an overview of the retrospective
  • These blogs are most effective with your own re-read of the series
  • Warning: CONTAINS SPOILERS FOR THE ENTIRE SERIES

Thoughts Then

Before we get into that, though, let's go back to when I first read the novel. It was 1996 and I was just finishing up my sophomore year at the University of Nebraska. The release of this one was a bit odd because it was the first time we had to wait two years for a book, it came out in the spring and it was shorter than the mammoths of Books 4-6. It was along the lengths of each of the first three, but I felt letdown because I had come to expect the lengths of Books 4-6.

I don't remember getting this or actually reading it the first time. What I do remember is that I was mildly disappointed at the end. Both because it was much shorter than the last few, and because I didn't feel like much had happened in the grand scheme of things (on the road to Tarmon Gai'don). I was also disappointed that Perrin got short shrift again in this book. At this point the only thing of importance Perrin had done since Book 4, The Shadow Rising, was help rescue Rand at Dumai's Wells.

I wasn't at the point where I started to feel like he was milking the series a little. That comes later.

Thoughts Now

I have a completely different view of this book now, having read the entire series up to Book 13. Realizing that Rand and friends will hit some roadblocks in the future and how that fits into the overall arc of the story – I have a better appreciation for what Jordan was doing with this and the next several books. I still don't enjoy them 100%, and I have issues with Book 10, but I get the point.

However, the drawback is that such appreciation can really only come when you've read the entire series once already. Jordan could see it and he knew what he needed to do, but it's hard for a reader to understand and see that vision when they have to wait 2 years between volumes.

Re-reading this has made me think about another current series that is taking forever... George R.R. Martin's A Song of Ice and Fire. Like many, as a reader I sometimes get frustrated with long waits and seemingly glacial pacing and lackluster user reviews of later novels in a series like that. However... if you do get involved a series like this, there is a level of trust the reader has to put in the author, and a commitment the author has to put to the reader. The reader must be patient and the author must reassure them that their investment in the series will be worth it.

Can you put your trust in the author?

"Don't worry, I know what I'm doing. Trust that I will get you there," the author says (or should say). It may seem like Jordan might be losing his way in this volume, but he's not. The story has changed, that's all.

So What Happens?

Not a whole lot... though it is enough for a full volume when you're reading it all straight through. Pretty much nothing happens with Egwene and the Salidar Aes Sedai, other than them leaving Salidar. We get to experience Ebou Dar, which I now picture in my mind as Venice, having visited there a few months ago and knowing what such a city looks like firsthand.

You get a random chapter with Forsaken, who seem to be wasting time and goofing around with inconsequentials like the Shaido (which we learn later in Perrin's storyline are just a major distraction to the main storyline). A little something with Morgase, a little something with Elaida.

There are only a few major events here, which led to my initial disappointment back in 1996. Nynaeve finally breaks her channeling block – one of those "cool things" she does after being super annoying for a few chapters. Let see... oh, the Seanchan finally return and take a few cities, Elayne and the others find the Bowl of the Winds and Rand abruptly launches an attack on Sammael, who dies at Shadar Logoth. Rand becomes King of Illian. A few of the sequences are very cool, but they only take up a handful of chapters.

Oh, and there's the appearance of Cadsuane. I don't like this character and she is my least favorite of the series. I even like her less than Sevanna. I suppose that means Jordan wrote her well. But I've never liked how she just suddenly appears in the middle of the series and is this super important person that all Aes Sedai are in awe of and who's a bitch to Rand. Not one mention of her before? Even though Jordan said it was all planned, I have a hard time shaking the feeling that she was added to the storyline as he went along. Maybe it's because I hate this character so much.

If I were casting Cadsuane, I would choose either Meryl Streep or Judi Dench, who can both be nasty old women.

I'm sure there will be more on Cadsuane in later blogs. Just wanted you to know how much I dislike her.

New Wrinkles in the Telling of the Wheel

Along with not much going on, Jordan starts doing some different things with this book. One is that he jumps around in time much more than before. There are a few sections in this book that actually happen during or before the end of the last book (the Dumai's Wells sequence).

You have Dumai's Wells from the viewpoint of the Shaido Wise Ones. You have the immediate aftermath from the viewpoint of Gawyn and the Younglings. Those aren't too bad; they are in the Prologue, so it's not that jarring to read.

But much later on, in Chapter 8, is the scene where Moghedien escapes. Now, this was shown at the end of the last book. I had forgotten about the jumping around here and it confused me at first. It's a bit strange to suddenly jump back to the end of the last book when you're 25% of the way into the next one. Couldn't this have been shown earlier? Or maybe picked up from the moment after Moghedien escapes?

Jordan does more manipulation of time throughout the next few books, and with the amount of characters (and particularly the wait between books back in the day) it can get a bit confusing keeping track of all of it. Particularly when you realize that A Crown of Swords only covers about 11 days total – the shortest time span for a single novel in the series, according to Dragonmount.

The Worst Picture of Rand... EVER

Onto the cover. Yes, we're talking about the Darrell K. Sweet cover.  Again. Is that really supposed to be Rand on the cover? Really? Take a look for yourself:

No comment.

I actually thought it was a different character at first, but the reddish hair and the dragons on his arms confirmed my worst fears. Once again, I have to wonder what in the world Tor was thinking when they had Sweet do these covers. Rand has appeared on every cover so far (save The Shadow Rising, I really have no clue who any of them are on that cover), and not once has he looked the same between them.

Since when did Rand start rocking the feathered-back look? And did he shrink about a foot? He's supposed to be around 6'5" according to Jordan, but here he looks like 5'5". Later on Jordan said he gave up when it came to Rand's height in the Sweet covers.

And as usual, the completely incorrect Trollocs grace the back of the cover like they do for many of the others. Not worth showing.

Who is That Person Again?

This volume is where you might start to encounter characters that had appeared earlier in the series, but you can't remember exactly when. Like Teslyn and Joline in Ebou Dar... I drew a blank and had to go to encyclopaedia-wot.org (an extremely handy reference site) to figure out where they had come from and why. Also had to do this with Pura (Ryma Sedai, from Book 2, The Great Hunt, also from the New Spring prequel), who appears with the Seanchan that capture Amador. I knew I'd seen the name before.

Back in the day, before sites like encyclopaedia-wot, I would draw complete blanks, just kind of shrug it off and think, "If this person was important, I would have remembered them." Unfortunately there is a lot of that going on in the next few books. And in the end, many of these minor characters are not that important to the overall arc of the story. They help flesh out the world, expand it that much more, but many readers would not miss them had their scenes been skipped or handled differently, and the overall story would not have suffered much at all.

Along with this, there's a couple of very short scenes with an unnamed old man talking to Mat and watching him later on. It's thrown in there and I had to look it up because I had no clue who this was – had forgotten these details entirely. Come to find, it's Noal Charin, an important character later on, and the reader doesn't learn this until Book 9 (since Mat doesn't appear in Book 8, The Path of Daggers, grumble grumble). In publishing time that was 4 years. So easy to forget these random snippets here and there that are ultimately pointless. Just introduce him in Book 9, Jordan... most people will have forgotten about the mysterious old man by the time his identity is revealed.

The Alternate Paperback Cover

A Crown of Swords is notable because when it first came out in paperback, the cover was different. There was no Sweet cover like the previous volumes (yay!). It was simple, with an image of the Crown of Swords. Kind of like the current covers for A Song of Ice and Fire. Here it is:

So much better than any Sweet cover.  Looks professional.

I thought this cover was awesome. I was surprised they had changed it, but figured they were actually doing something about the crappy Sweet covers! Alas... 'twas not to be. I couldn't find the source, but I remember reading once that it was an experiment by Tor to see if they sold differently... honestly, I don't think it mattered since the series was selling hugely at that point (the next volume would be the first #1 New York Times Bestseller of the series).

They even made promo versions of The Eye of the World with a similar style cover. You can see it here.

Either way, I had a copy of this version. I don't have it anymore, since I donated all my paperback versions to a library. In hindsight I probably should have kept it for nostalgic purposes.

An Old Friend

If you read my first blog in this re-read, about Book 1, The Eye of the World, you might remember that I met my first friend in my new high school (Papillion-La Vista High School, in Papillion, NE) because of this series. His name was Brian Watson. We didn't keep in touch much the last year of high school and beyond, but I did run into him again, about a year after this volume came out.

My friends and I used to hang out at the local Denny's on 84th street, near I-80, in Omaha, NE. It's a 24-hour Denny's and we used to sit in the corner booth of the smoking section for hours late at night, many times just drinking soda or coffee for hours. As long as you bought something, they wouldn't kick you out for squatting.

So many hours of my young life spent here.

One time, Brian showed up. We got to talking and eventually the topic turned to The Wheel of Time. Brian mentioned that he had given up on the series since it was taking forever. I told him that the last few were pretty good and related some of the major events from them when he said he didn't care about spoilers.

We even started joking about how Jordan would probably die before he ever finished the series, at the rate he was going (the end seemed nowhere close with only 7 books out). How prophetic that observation would be.

I'm pretty sure that was the last time I talked to Brian – it was at least the last time I remember. I have no idea what became of him.

The Same Font

Something that struck me as I was reading this on my Kindle, is that the format of the text has been the same on the Kindle since the first volume. I don't know about you, but with some of these books that I've read so many times when younger, the font and font size actually make a difference in the reading of the book. It gives it a different feel from book to book.

You have something like Lord of Chaos, where the hardback has very small print, compared to A Crown of Swords,where the text is larger and there's a totally different feel to it. When you're reading them, you have a slightly different mindset with each volume, whether you realize it or not.



The font you use in an essay could affect the type of grade you get. The font used in advertising could make a viewer more receptive to the message. Fonts with serifs (as opposed to sans serifs) are easier for those with dyslexia to read, and many find serif fonts more sophisticated.  There have been various studies done on this and they make for interesting reads.  Search for them.

I have no doubt that publishing companies choose the fonts of their publications very carefully. Which makes eBooks interesting... because with the Kindle, I can select from 3 different fonts and it's not dictated by the publisher. What's more interesting, the font will be the same from novel to novel. This makes the series read differently for me, more than any re-read before. It truly feels like it's all the same set of writing. Once I finish one book, I just grab the next and continue. I don't get the different feelings from covers, fonts or line spacing.

So thanks, Amazon, for creating the Kindle, which allows me to experience this series in a whole new way, 20 years later.

Next:

Book 8 – The Path of Daggers
 
Previous:

Book 6 – Lord of Chaos
Book 5 – The Fires of Heaven
Book 4 – The Shadow Rising
Book 3 – The Dragon Reborn
Book 2 – The Great Hunt
Book 1 – The Eye of the World
Retrospective Overview