Here’s yet another close-up or macro photography tutorial.
I’m not entirely sure who Amit is, but he maintains THE best one-stop game programming site I’ve come across. He has links to massive amounts of concise, straightforward information, as well as his own tutorials, on a broad set of topics related to game programming, especially tile-based engines. Definitely a place to bookmark if you are looking for help in this area.
So I’ve been working on this hex-based, 3D battlefield view, tactical turn based computer game which I’ve creatively named BattleHex. I have had ideas for creating a game like this for years, but what prompted me to get busy with it was buying HeroScape for my wife over Christmas. It’s essentially the same concept, only as a boardgame with pre-painted plastic figurines with pretty nice build quality. The rules and the terrain are simple in concept but very nicely implemented, so that the whole game has a very natural and cozy feel to it. So I stole the “stacked hexes for terrain” idea shamelessly and used that as a basis for my wargame’s battlefield.
Here were my first tentative attempts at rendering 3D hexes:
Then came stacking the hexes:
Next came creating a map of hexes based on an input file:
Everything good so far! Now, to get some nice textures on the hexes instead of the bland solid colors:
Hmm, ok, that didn’t turn out so good. I wasn’t accounting for the hex shape properly when applying the texture file to my shape. A few tweaks, and, success!
Now to try something bigger. I had previously designed a full-up HeroScape map using a beautiful tool called VirtualScape, which I entitled “Confrontation”. I translated the map into my input file format, and behold:
Now, all this terrain is ok, but rather boring. I had essentially completed my goals for the initial milestone of my project, but I wanted to see what it would look like with actual, you know, people inhabiting the battlefield. Now, I’m no artist unless you can settle for geometric shapes, so I opted for a simple fix: insert pictures of my minis as art assets!
But here I’m just programming their positions arbitrarily. What we really want is to be able to place them on a specific hex, and move them to new hexes based upon their movement allowance for that turn, taking terrain into consideration. First things first, I need a way to select a hex:
The purple hex is a hex I clicked on, and for now it just highlights surrounding hexes as potential movement areas. And that’s pretty much where I’ve left the project. I can place and move characters, but I haven’t limited movement to take terrain and height into consideration yet.
The other big problem comes back to the characters. For a 3D game, it makes sense to use 3D models. However, I lack the knowledge and talent required to make a wide variety of models needed, and looking around at what was freely available I was dismayed. Not much out there. Someone in this thread over at Gamers With Jobs where I was asking questions suggested using 2D art in the 3D engine, in a way similar to how people cut out and use paper miniatures for pen and paper RPGs. Great idea! Now all I have to do is find some good 2D art. I found a slew of good art at Dark City Games, free to download, by Dario Corallo. I did the work necessary to transform 2 of the character art assets into a front and back view, put them on a little black base, and hey! It looks pretty decent (to me anyway)! It may not have the pizazz of fully 3D models done by a great 3D modeler, but it does definitely evoke an old-school board/wargame vibe, which is fine by me.
I asked the kind folks over at Dark City Games for permission to use their art in my game, and as long as I give them credit and am not making money off the use of it, they will let me use their art. This is amazing, because Dario’s work includes about 150+ unique characters in the collection. There are a huge variety for humans, several elves, dwarves, and gnomes, whole armies of orcs, kobolds, and goblins, and a good assortment of other monstrous types (giants, trolls, warg-riders, etc). To have all of this pre-made art available is amazing, and now I can focus on just moving on with the engine and game rules.
Working on a lot of different things. I say working, but actually the fact is that I’m not doing a lot of work on any of them. Between time spent with family, and newly begun graduate classes in computer science, there’s not a lot of time. But, when I do have time these are the things I’m working on:
- Still painting that slew of wood elves. I actually finished the Elven Warlord, with his magical horn, and have another horse painted and have begun on its rider, the Wood-Elf Herald, but to be honest I haven’t painted much in the past, oh, 8 months. Actually I was painting an old pewter mini I have of Smaug to coincide with reading the Hobbit for the first time to my girls, but that stalled a little, too. Need to get pictures of the Warlord up on the site.
- Started work on not 1, but 2 different games. I have all these potential game design idea scribbled in several different notebooks, going back several years, and I finally decided to start making them a reality. My first is a turn-based tactical wargame, not unlike Heroscape, which I decided to code up using Java 3D. I call it BattleHex (for now), and I have the map generation working and placement of a couple prototype art assets. I’ve kind of stalled on it because the lack of support and community for Java 3D kind of bummed me out, which lead to…
- RetroHack! I wanted to learn XNA, which is Microsoft’s freely distributed game development environment targeting Windows, XBox, and Zune platforms. So I picked a very simple, 2D, old school abstract dungeon hack type game to learn the language with. Got kind of bummed out when I realized there was no way to include any kind of UI elements, unless you code them up completely from scratch yourself. Ugh.
I may continue down the XNA path in the future, but for the time being, I think I’ll pick BattleHex back up in Java 3D and continue.
The following is a post-in-progress on EQ1 and why I loved it so much.
I played Ultima Online for about… 15 minutes on launch day and promptly quit. I had already been pked repeatedly, and every item had been stolen/looted.
I started playing EQ1 about a month after release, and played up til a couple months before Luclin came out. I never got a character over level 45, but even so I still look back on that time as the best I’ve ever had in any MMO since (and I’ve played just about all of the major western MMOs except SWG).
It’s hard to express what it is that makes so many of us oldtimer EQers so nostalgic about it. It certainly wasn’t the game mechanics, they were brutal and would be seen as offensive to paying customers today. Corpse runs are nothing; when the game first launched and for the summer of 99, if you lost your corpse deep somewhere you couldn’t get again, you could /consent to have someone retrieve your goodies. Problem was, some people used this method to rip people off (even made fun of people on a web site called “EQ Idiots”). These guys were on my server, was fun to argue with them… Fortunately they eventually changed it so /consent just allowed others to “corpse-drag” your stuff. But things like corpse-dragging are so unique and hilarious and bizarre that they wrap around the spectrum from insane to awesome. And EQ1 was full of stuff like that. Bizarre quest chains and NPCs and secret areas whose meaning are not spoon-fed to you – these things became legend as people came up with various theories (and who could tell what was real? There was no Thottbot or WoWHead back then). To this day there are various mysteries that still intrigue me and I hope to find out more about (like Pyzon and Varsoon in EQHills, and the placeholder mystery… the story behind the barb and ogre pirates and their collection of artifacts… so many more).
There were also so many fluff spells and utility spells that most games don’t have today, or if they do, they somehow aren’t as fun. My favorite character was an enchanter. Mezzing in its own right was so frustrating and yet so rewarding when your group worked with you – no other game has come close to that kind of mechanic, most consider it a broken mechanic I guess, yet I found it very fun. As an enchanter I had so many utility and fluff spells, it’s not even funny: all of the various illusions, including inanimate objects and every race; invis and invis to undead; levitate; bind sight (sparklies!); gravity flux; clarity; whirl til you hurl; the list goes on.
The game was hard, and every game since has gone out of its way to make sure everyone can solo (and I admit, nowadays I appreciate this in my MMOs); but damn if it didn’t make people work together. I met the best people I’ve ever met in any MMO way back in EQ1. No one knew anything; there were precious few spoiler sites (and most of those were just getting going and populated with incomplete or incorrect information); and you lived and died as a group (except of course the vile necros and droods and later the quad-kiting wizards). The world was big and dangerous. My lvl 16 warrior used to get PAID by people to escort them from Freeport to Qeynos (one coast of the main continent to another) – that’s insane! No one would do that in a modern MMO. You’d just take a gryphon ride… yawn!
Tradeskills did suck, though. I got carpal tunnel syndrome from doing jewelcrafting. And what kind of idiot thought a random 50-50 chance of losing a 500 plat recipe component, even with high enough skill, was a good thing?
But you just can’t beat the dungeons. So insane. Blackburrow, Crushbone, Unrest, Mistmoore, these places were legendary for their trains and insanity. You had to experience them to understand. Guk – oh man. It was an entire subculture to itself. And who was the masochist who thought it would be fun to make the night-blind barbarians have a single exit from their starter zone to the rest of the world through a pitch-dark, winding, gnoll infested tunnel that then emptied you into a dungeon (Blackburrow)? That guy was either a genius or a madman. And even though I gnashed my teeth and sweat bullets at the time, I have never forgotten the first time my barbarian warrior ventured out. I look back and smile, and wonder if any game will ever capture that magic again.
Following are some of my thoughts on what made EQ good and not so good. Keep in mind I never had a max-level character, and never did end-game raiding, and I quit before Luclin. I’m more of an explorer/socializer, although I do love loot. I’m sure there are a lot of things in my lists that “hard core” or end-game players would find fault with.
* WHAT EQ1 GOT RIGHT *
- secret areas. The Qeynos catacombs were awesome. Having “hidden” entrances to it from at least 6 different spots all over Qeynos was also awesome. Though after you knew what to look for (all false walls had the same “cut out hole” motif in their texture) it’s not really fair to call them secret or hidden. I also liked the back door to Permafrost and the tunnels under Freeport.
- fluff and utility spells.
- dungeon layout and difficulty.
- shared/contested dungeons. Though having some ability to instance either specific dungeons or specific portions of shared dungeons would have been welcome.
- overall difficulty. Wisps that could only be hit with magic weapons (which were rare at the levels you would encounter wisps); hill giants and griffons that could 1- or 2-hit kill low levels roaming the countryside.
- overall art direction and game lore/atmosphere. The Chessboard in Butcherblock Mountains. The Avaiak Treehouse in South Karana. The Diving Board in Lake Rathe. The minotaur hero rampaging in Steamfont Mountains. The locked door and well of doom in Befallen. The mystery of Pyzin/Varsoon and others in Qeynos Hills. The mystery of the clickable orbs in Ak’anon. The tree city of Kelethin (and the piles of dead newbies underneath). Kithicor Forest at night. The wooden bridge between North and West Karana. The hags in the Estate of Unrest. Lower Guk. The creepy named evil eyes in Beholder’s Gorge. The narrow, orc and gnoll besieged pass of High Pass Hold. The spaceship temple of Rodcet Nife and his sacred Koliandl fish in Qeynos. Fippy-frakking-Darkpaw and Queen Kliknik in the Qeynos newbie yard. Ambassador D’vinn and Emporer Crush in Crushbone. Hunting Hill Giants for plat in Rathe Mountains. Lockjaw, Sand Giants, and spectres in the Oasis of Marr. These things were legendary to everyone who played the original game in its early years, and instantly evoke all kinds of smiles and nostalgia.
- Monks. An avoidance-based meleer was brilliant. Giving them the weight restriction was inspired. It lead to a certain purity of gameplay and commitment to the spirit of the class that really made the folks who loved the monk class stand out, I found. They were different from everyone else. I also loved watching monks beat the crap out of the ogre bouncers in Ogguk, the battle-sound spam was impressive. *smack* *punch* *oof* *crack* *Boom!* *thwack!* *pow* *ugh!*
- non-PC factions. I liked that even though different races/religions would be KOS to different NPC factions, anyone could group with each other. I thought that was a lot better than the whole Alliance is for wimps, Go Horde! / Horde is for spastic 13 year old boys, Alliance is for mature grown-ups, and never the twain shall meet of WoW. WoW’s entire background is that the two factions have an uneasy alliance or at least peace, and there are no open wars or conflicts ongoing, yet for some reason my human warrior can’t group with a supposedly neutral, non-evil tauren. Not even a night elf druid and a tauren druid! I guess it makes sense in a PvP-centric game like WAR, though.
* THINGS OTHER PEOPLE PROBABLY WILL SAY WERE WRONG BUT I THINK WERE GOOD *
- naked corpse runs.
- limited spell slots.
- Difficult world travel. Though the boats needed to run a little more regularly (and securely). This made ports, bind/gating, speed enhancement (SoW, Selo’s, JBoots), and knowing your way around valuable things, which I think is overall a good thing. One of the things I prided myself on when I played was pretty much knowing my way around every zone in the game without having to reference a map. The world had an evocative look and feel, and landmarks were important. If alchemy had been more viable (ie, if it didn’t cost the alchemist 10p to make a single SoW potion, so that they had to turn around and sell it for 15p+ to make up for the cost of learning the tradeskill), then SoWs for non-speed enhanced players would have been easy, affordable, and would have helped foster the alchemy player economy. As it was, it wasn’t ever that much of a problem to get a SoW from a passing druid or shaman (since that was 1 spell that pretty much never left their spellbar).
- quest mechanics.
- encouraged grouping.
- pulling. This isn’t something that the designers thought about for their game, but rather a logical player solution to the difficulty of the zones as presented. When I first left EQ1 I was somewhat disdainful of the whole “pull to safe location” mechanic as it didn’t seem very “realistic”. I thought other games’ promise of “roving hunting” sounded much better and more realistic – hey we’re really hunting! But, in retrospect, I actually enjoyed the camping/pulling mechanic more (in conjunction with the enforced downtime, though that could have been less harsh). It gave the folks sitting around the camp time to talk, and it gave the puller opportunities to shine and be skillful. The times I spent “hunting mammoths” on the frozen river and elsewhere in Everfrost remain some of my most cherished MMO memories. Running around, avoiding orc shaman and “mounties” (mountaineers), and “ibs” (ice boned skeletons, which could only be damaged by magic weapons), looking for mammoth calves, avoiding their enraged mothers, and bringing them back to the group on the ice river by the cliff wall… ah, good times, good times!
- no in-game auction house/broker. I love using the AH in WoW, but I gotta be honest, I loved the old trader spam in zone-wide chat that you used to see in the East Commmonlands tunnel and/or Greater Faydark. The people that were good at selling and marketing were more successful than those who weren’t, and it showed, like some sort of carnie/used-car salesman. It forced people to interact face to face with each other, which was special in a way that the AH is not.
* WHAT EQ1 DID WRONG *
- Tradeskills – they were just evil. They were way too expensive in terms of material components and time required to get good. You could “fail” on combines for no good reason, losing components that cost hundreds of plat (the largest currency in the game). To make useful things in some, you had to make hundreds of annoying lesser components. Some were just too expensive to be able to sustain an actual economy, such as alchemy. There was no harvesting mechanic at all, all the components had to be store bought.
- non-caster reliance on casters for binding. I didn’t mind the whole binding/gating mechanic in EQ1, or even that casters could bind themselves wherever they wanted and non-casters could only bind in cities. But it did suck if you were not able to bind yourself to have to beg and plead for someone to take time out, come find you, group with you, cast the spell (which they would probably have to find in their spell book and memorize, and then re-memorize whatever spell it replaced afterwards). Having either an NPC in cities to do it (for free, like was added around the time of Planes of Power), or an innate ability (like in EQ2) is a good alternative, and better than WoW’s inn/hearthstone mechanic in my opinion (as I think giving the casters the ability to bind anywhere and gate to it makes them feel more like, well, casters than the meleers).
- experience loss on death. Just crappy. I understand they wanted death to hurt and thus make people play smarter to avoid death, but in the size of the worlds and player-bases that EQ1 had, death was inevitable. And in dungeons, multiple deaths were inevitable. Since the point of the game was to encourage people to group up to take on harder things, thereafter punishing them with cruel experience loss on death (and the even crueler ability to actually lose a level in the process) was just uncalled for. Capped experience debt is a much saner, humane death penalty.
- hell levels. The experience leveling curve in EQ1 was some twisted, illogical attempt at creating a non-linear scaling curve which took orders of magnitude longer to level on a per level basis the higher level you got. That in itself might be arguably an ok idea, but the implementation in EQ1 had some sort of error in the math calculation which caused every 5th level to take inordinately more experience to complete than it should, starting around level 40 or so. It was just cruel, weird, and people hated it.
- Racial/hybrid-class experience penalties. Penalizing people with slower progression just for picking certain classes or races is just stupid. Even worse when you combine 2 (troll shadowknights were particularly sad – 140% experience to level relative to the average. +20% extra for the troll and +20% extra for the shadowknight).
- Halflings with superman stats. Seriously, why would a halfling, of all things, have one of the best strength scores of all the races that could be a rogue? Their stats were so godly, that they were way overplayed in the game. Halfling druids and rogues were everywhere.
- Staring at the spellbook to “meditate”. Seriously, that was just plain bad. In the early months/years of the game, when you were “medding” or meditating to regain mana if you were a caster, the game forced you to sit and then covered your entire viewport with the spellbook interface you used to memorize spells. You couldn’t see anything going on around you at all.
- Ridiculously low health and mana regeneration rates (downtime).
- Sense heading. Ugh. I mean, come on, really. We’re supposed to be playing daring and heroic adventurers. I’m just a normal nerdy guy, and I can tell the cardinal directions well enough in the real world just from looking at the sun’s location. Having to press a button over and over and over again just to be able to pretend our characters know which direction they are going is moronic. Just give us a compass already and get over yourselves.
- nightblindness. It was a little too much in EQ1, and just about right in EQ2. That twisting, gnoll-infested, pitch-black tunnel which was the only way for the nightblind barbarians to leave their starting zone was particularly cruel. Though not as cruel as making it empty out into Blackburrow, right next to an aggressive, diseased bear.
- spawn-camps. I’m talking about needing items for quests which only had a 30% chance of dropping off rare spawns which might spawn once every 48 hours or something stupid.
- broken quests.
- quest rewards.
- the nerf bat.
- poor community relations.
- no in-game mailbox. I made an art of getting around this limitation to get items and money to my alts by finding the most out of the way places to drop things on the ground to pick up with the alt. But still, being able to mail things to alts and to other people is a basic necessity nowadays, I think.
- The entire continent of Odus. Seriously, what the heck? You have 3 continents at release, and one of them is entirely worthless, undesirable, and so hated that characters who start there count the seconds before they can leave for good and never look back, and no one else in the game even has a reason to ever go there. Nice job! A real shame, too, because the city of Erudin was one of the nicest laid out and unique in the game with its magical teleporters to move around.
- trivial loot code. I hated it. If I want to take my level 100 superman to the level 10 zone to get a drop off some named mob, so what? I’m paying money, too. I can understand wanting to prevent people from farming, but the trivial loot code seemed like a poor implementation to me.
- Forced grouping (inability to solo). This is the flip side of the encouraged grouping, which I think is ok. It’s not ok to make it 100% impossible to solo, though, for everyone except 3 or 4 special classes.
- Weak-feeling melee. My first character was a barbarian warrior. I chose that because I wanted to play a character that oozed strength, ferocity, and the ability to survive anything thrown his way (kind of like Conan, maybe). What I got instead was a character that couldn’t handle a 1 on 1 fight with an even or slightly lower level enemy by himself, or if he did somehow manage to survive, was out of commission for at least 20 minutes to regenerate health. That is absolutely moronic. People want to feel strong, not weak. Find some way.
- Inability for friends with too large of a level gap to group. If you play 4 hours a day, and your friend plays 2 hours every other week, you’re not going to be grouping with your main characters. True, you could start an alt and only play that when your friend is on, but that only works for close friends you can coordinate well with. What about the guy you never knew before but grouped with 2 months ago and really liked? You meet him again now but can’t group because your level disparity is too high. The mentoring mechanic that many subsequent games have come up with is a nice fix for this sort of thing.
I’ve made up the first draft of my cards for the rest of my wood elf minis, as well as a pre-painted figure I ordered this week. I haven’t finished painting my minis yet, so I’ve used some GW placeholder pictures for the time being. I have 2 versions of the Herald, as I’m not sure which would be better.
I’m slowly working on my wood elf glade riders… it’s a lot of work. Eight figures, each with their own horse and cape… and because the figures are all stuck in a riding position, it is difficult to find a way to hold them that doesn’t obscure some part of the figure’s exposed surface. Maybe I’m being anal and should just glue them to the horses, then paint, but I can’t do that… So, working on the warchief (guy with horn) right now.
Made my custom HeroScape card for him:
And after some thinking and playtesting, I’ve updated some of the dwarves as well:
The first game we played, Gargram seemed overpowered and was near impossible to kill. Tonight we played a game where I lost all my dwarves and Sir Theo, rather handily. The dwarves have low movement and no ranged attacks, which hurts. They may not be that good as is, so I’ll keep thinking of ways to tweak them. Simone suggested getting a squad of ranged dwarves, and the company I got the dwarf warband minis from does have dwarf crossbowmen… hmmm… :)