Some new tile art, a new concept town sketch, and code architectural change

Published October 28, 2012
Advertisement
Hey guys! I got some work done the past week or two. Not as much as I was hoping to, but at least I got something done. smile.png
For starters, layers now can be created/deleted using the editor.

Code architecture change



I've made some non-visible changes to the code architecture. I was running into an interesting problem, where I had my code too flexible to be easily wielded.
Previously, I had my game areas laid out like this:

  • An Area contains Chunks in a grid of an infinite non-defined size.
  • Each Chunk contains Floors (no hard limit on the number of floors).
  • Each Floor contains Layers (no hard limit on the number of layers).
  • Each Layer is 20 x 20 tiles.

The benefit of this is that chunks that only need one floor, or just three layers, only have one floor or three layers or whatever, and the chunk right next to it can have 20 floors if needed.

The first major "problem" I encountered with this was when editing chunks in the editor. If I'm placing tiles on a floor named "Floor 1", on the layer "My background layer", and I am laying the tiles down without letting go of the mouse button, and I cross the chunk threshold to continue placing tiles in the next chunk - if that chunk doesn't have "Floor 1" (and instead has a floor called "My Floor" or "Bottom floor"), or doesn't have a "My background layer", what Floor and Layer am I placing the tiles on?
Do I not place the tiles down at all (heavily reducing the ease of map making)? Do I count which numerical layer "My background layer" is - it happens to be the first layer in the array, so switch to the first layer in the array on the next chunk? Do I create a new layer implicitly to match?

Fine, so I'll just sync up the layers. If I make a "My Floor" in one chunk, every chunk in the Area will have a "My Floor".
This leads directly to the second major "problem": Not all the chunks are loaded in memory at once. Only the nearby chunks are loaded, even when editing. So... if I add a new layer, do I add it only to the chunks in memory? What about all the unloaded ones? Do I add the new layers to the unloaded chunks on the harddrive? What if I then don't "save" the changes to the Area... do I then have to go delete the new layers that were added to the unloaded chunks on the harddrive?

There were three or four such problems - they all had solutions, but the solutions just felt like band-aids, so I am now rewriting the architectural code layout of areas. Since all the important code is already written, this code change actually won't take long at all.

Here's the new layout: (knocked up in MS Paint to help me visualize it while thinking)
arealayout.png

The primary benefit is that Layers and Floors are automatically "synced" between chunks (or rather, they no longer have to be synced at all, since chunks now "exist" within layers and floors instead of vise-versa). I renamed Chunks to "Map Cells" to help myself not associate the old mental imagery with the new layout. As a figurative concept, Cells are much easier to work with. A "Layer" is broken into TileBlocks, one TileBlock for each figurative 'Cell'.
However, if a TileBlock is empty (or only filled with a single tile) it will be heavily optimized away, so ideally this new layout won't waste any more memory than the old layout, but will be much easier to work with (less band-aids needed to make it usable).


New concept town sketch



portcity.jpg

I drew this two days ago. It's the port city which I previously called "Viarmhiem" (but every town name is going to be changed - I decided to not use a made up language, and every in-game town will be derived from French, Latin, or Italian circa the 1500s to better fit the plot of the game).

I don't know how much work I'll actually put into the city/town, it doesn't really play a major part in the game's plot. Well, actually, to tell you the truth, it doesn't play any part in the game's plot (at least not in anything I've written yet). It's important culturally and historically to the area the game takes place in, but that's about it... so is it worth it to invest time making the city feel alive?
On one hand, I feel "Why bother wasting time and effort on it? Focus on the parts that matter, and ship the game, move past "Go" and collect $200, before you go bankrupt". On the other hand, there is the importance of polish and extra detail that players will appreciate and hopefully help make the game an underground hit in the 2D turn-based RPG niche. On the third hand, IF I ever get around to working on the two other games that take place in the same game world, it won't be wasted effort, and it'd be extra nice to see how the town develops and grows as time passes between the three games.

New tile art



I also spent some time this week putting some new art together.

Rugs

bluegreyfaded.pnggreengreyfaded.pngwineredpinkishfaded.png

As mentioned before, I can actually apply coloration to the tiles within the editor - even so, usually I knock up multiple colorations while making the piece, just to hopefully later give me inspiration when I come across them in the editor.

Wood-paneled walls with built-in shelves

set1d.png

I'm very very happy with how these came out. Particularly the shadowing for the stairways, but overall I think it came out well. The walls are three tiles high (12ft) - most of my game will have walls 2 tiles high (8ft), so it's unusual, but makes sense in a wealthier house (like a Governor's or Lord's house). Such nice panelling also wouldn't be common, except in a wealthier dwelling. I think it'd also go well for a tavern, so I'll probably re-use it in several places in the game.

Here's a few more previews from the same set:

set2g.png

set3s.png

The mural (in the first image) I made two hours or so ago, but all three portraits ([size=2]barring the picture frames) in the last image are public-domain work (thanks Wikimedia Commons!). Hopefully the people playing the game don't recognize any of the portraits (the guy is the Duke of Tuscany, for example), because some art historian could totally call me out on the timeline of the portraits.

[indent=1]"Sir! These portraits are all from the 1700s... And painted by a Dutchman! I was led to believe that your plot takes place in the mid-1500s, concerning the French!" laugh.png

I looked at the 1500s art, and didn't like it much, so I took some artistic liberties and time-travelled forward two centuries. Do you think anyone will notice? dry.png

[hr]

*phew* That was a long post... more like how I used to write 'em.

I hope all your projects or educational pursuits are coming along well!
Don't forget to tune in next week to find out that I didn't actually post anything and probably won't for another month. happy.png
6 likes 4 comments

Comments

Programming020195BRook
Very nice work you're displaying!!! I really cannot wait to see this project progress!
October 28, 2012 07:57 AM
Giallanon
Interesting as always
October 28, 2012 08:58 AM
O-san
Very interesting, I really like the world lore you are building. Wish I had the patience for that too. Keep it up :-)
October 28, 2012 09:09 AM
Servant of the Lord
Thanks for the interest!
October 28, 2012 04:51 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement