Rog's world online
Wed
10
Mar '10

Anvil Islands Second Draft

Rog posted in Anvil Islands

With this post I’ve caught up to my current version of the Anvil Islands map.

I chose an unusual method for my rivers, carving them out of the landscape rather than drawing them on top. I wanted to avoid strange overlaps with my raised edges at the ocean line. The other tricks I tried just didn’t work, but I’m pleased with this solution. The only downside is it doesn’t work with CC3’s smooth polygon tools, so my rivers were carved using the fractal tool and I may have to clean them up a bit.

When I posted my earlier map on the CC3 forums, one of the criticisms was my map appeared constrained into a box shape. So I’ve altered my southern coast, dipping the Meglis island downwards considerably. I think that solves it, but I’d appreciate feedback if anyone disagrees.


(Click the image for larger sizes)

Also due to comments, I added some extra contours to give a sense of the height of the land. I don’t want to make a full height map since the proportions here are meant to be representational, but some extra depth probably helps.

I’ve also redone the political borders to account for the natural boundaries of the rivers, plus I’ve added an index / legend. The parchment scroll for the legend was inspired by art from the Vintage Collective set on Flickr.

There are still a lot of details to fill on this map, but I’m going to start on some of the cutout segments next. In particular I’ll be trying my hand at city / town mapping.

Feel free to let me know what you think. =)

Tue
9
Mar '10

Anvil Islands First Draft

Rog posted in Anvil Islands

I’ll try to give as much info about the geography and people of these fictional lands without giving away too many project details (for now).

I’ve posted these images elsewhere for feedback and that’s been hella helpful so far, especially since I’m new to making my own maps. I’ve been a big fan of fantasy maps since forever and I’m surprised I took this long to get into making my own. Having a purpose for the maps is a great motivator. This project so far has kept a huge grin on my face.

This map is my first real dabble with Campaign Cartographer (well, after the initial tutorial map at least) and it’s the main region for the project. Most of the maps that will follow will be increased detail on cutaway portions from this map.

Anvil Islands. The name is derived from a fantastical aspect of the islands. Due to a peculiar placement in the overall world geography, these islands are situated in a rare and powerful south-to-north ocean stream. The populated areas of the map are protected from the heavy current by the massive mountain range at the southern reaches of the two main islands. The waves are said to crash upon the rocks like a “hammer upon an anvil”.


(Click the image for larger sizes)

The gap between the two main islands forms a channel locals refer to as both the “Gap River” and the “Gap Firth” although it’s not precisely either. The western main island of Dovon is the most populated, while Meglis has seen expansion more recently. To most of the population, these islands are their whole world.

At this point in my map design, I haven’t placed the rivers yet and overall the map is sparse on detail. I have placed the capital cities of the primary political factions, as well as the Forest of Breeze, a locale which plays a key role within the story.

The map was created completely with Campaign Cartographer 3, using my variation of the Mercator style from the first Annual update. It’s complex CAD-related software and not what I’m accustomed to working with, but I think I’ve gotten past the initial steep learning curve.

I’m playing catchup posting this, there’s another iteration which I’ll post about tomorrow (you can sneak peak via my Flickr feed on the sidebar). Regardless, I’m happy to hear criticisms or commentary based on what’s here so far.

Tue
9
Mar '10

Maps for Anvil Islands

Rog posted in Anvil Islands

I’m not ready to spill the full beans on this project, that will be awhile down the road, but feedback helps me work. So I’m going to release my maps in progress while I work on them.

Here’s the initial rough sketch drawn on graph paper and scanned:

Anvil Islands hand-drawn map

I’m further along than this now, but I figured I’d post the hand-drawn version first to show my progression.

Tue
17
Nov '09

What I’m up to on Gameslate

Rog posted in Cult of Me, Gameslate

My reboot / remix of Gameslate was going well until I realized a fallacy (several actually) in the inherent tab-based design, so I plan to reboot again.

I’d rather not leave Gameslate so long in a non-playable state, but the redesign is a bit of a catharsis process for me. It’s not that it’s hugely difficult to recreate, it’s just something where I have to be in the right frame of mind to recapture the original Gates Motel magic. It’ll get there sooner or later and I appreciate the patience of the fanbase that’s still tagging along (especially those who’ve contributed in one form or another).

The recent reboot attempt was entirely new code and a lot of that I’ll leverage into my next design attempt. Once I settle on what works, it shouldn’t take too long to implement.

So the answer to the curious lurkers that I know are reading this: I’ll get it done sooner or later, I’m working on it in spurts. When it’s ready it will probably suddenly appear, just like this reboot did, only hopefully in a more complete state.

Fri
18
Sep '09

Busted Toe

Rog posted in Cult of Me, Gameslate

It looks as though I’ll be off my feet for a bit. I smashed my toe up pretty bad this morning. I won’t go into the gory details (posted a bit on Twitter just after it happened tho). Ugh I have broken toes before and it’s not fun.

I’ve been blog commenting and Twittering from my iPod Touch while keeping my foot elevated. This will probably put a damper on my coding and other activities over the next little while.

Time to pull out that 360 controller for Champions Online and to finally getting around to setting up Mumble for voice.

Thanks for the good wishes folks. It’s just a toe and I’ll be fine, I appreciate the support. =)

Sat
1
Aug '09

Gameslate v5 Beta

Rog posted in Gameslate

As planned, I’m releasing my complete redesign and recode of Gameslate today.

I completely underestimated the effect of the current heatwave on my productivity. My poor little air conditioner is working overtime and still my brain feels like it’s melting. So I’m releasing what I’ve got so far as Beta and I’ll be updating it steadily until it’s complete. I won’t be stopping there either, because there are a lot of things (more web-games in particular) that I’d like to develop with Gameslate.

Right now, the current status is Gates Motel isn’t playable, but the core part of the site and its UI are functional. It’s probably only of interest to existing Gameslate users until I get the game working of course. =)

I expect there will be a slow trickle of users coming into the new Gameslate. I’d neglected the old site for so long the logins had seriously slowed down. I’m optimistic however, “build it and they will come” and all that.

Tags: · ·
Fri
31
Jul '09

Double-left-join three-table select query

Rog posted in Gameslate

Warning, SQL geekness ahead.

One of my complaints with a lot of pre-made web software (Wordpress, Drupal, etc.) is that the database overhead is high.

The argument usually goes that scaling makes it a non-issue, but that’s just a fancy cop-out saying “get faster server infrastructure and more RAM” to dismiss any performance issues. I hate it when software dictates higher costs though, it’s supposed to solve problems, not create them. In a large working environment, ease-of-use is cheaper, but in more humble projects like mine, efficiency of code is cost-saving. That’s the threshold between using a pre-made framework / CMS versus DIY.

*ahem* Anyway, getting back on track before I go into a full-on rant:

SQL statements are typically made as small queries like:

select user_id from user_tbl where user_id = $check_id;
select user_name from user_tbl where user_id = $verified_id;

Anyone remotely aware of SQL would put those into one query:

select user_id, user_name from user_tbl where user_id = $check_id;

This isn't meant to be a tutorial tho. Here's a more complex example that illustrates what I work with while creating Gameslate (breaks added for readability):
select item_source_tbl.item_id, item_name
from
(item_source_tbl left join item_earned_tbl on item_source_tbl.item_id = item_earned_tbl.item_id)
left join item_own_tbl on item_source_tbl.item_id = item_own_tbl.item_id
where
(item_points = 0 and item_cost = 0)
or
((act_points >= item_points and item_earned_tbl.user_id = 1) and item_cost = 0)
or
((act_points >= item_points and item_earned_tbl.user_id = 1) and item_own_tbl.user_id = 1);

Crazy eh? Let me break it down a little. There are three tables involved:

  • item_source_tbl stores all the possible items that could be earned and bought.
  • item_earned_tbl stores info about earning items. Items have a count (in points) towards earning which users accumulate into this table.
  • item_owned_tbl simple table storing who owns (purchased) which items.

What the query above does is "select the name and id of all items that are earned (or required no earning) and are paid for (or free)". It could be made easier with different tables, but these tables store a bunch of other info as well for other tasks. It could also be more complex if I added sanity checks, but I'm the only one on my server with database access so I stopgate that at user input (web code).

MySQL is beautifully fast with these kind of queries, but I usually don't see this sort of thing in most code for frameworks, especially not in object-oriented code (which tends to break things down into pieces). Granted, it's hard to read, but it's efficient and plays into the strengths of the SQL server. I sometimes wonder why so many projects use SQL at all when they're going to separate into simpler queries, but I guess the answer is more about convenience than performance.

It's all great until next year I look at the code and wonder WTF it does again, even with comments. =)

It's hard to keep track of this stuff during a heatwave melting my brain.

Tags: · · ·