[Slick2d] Retro-Pixel Castles > Now on Steam! <

Some WIP status icons. :stuck_out_tongue:

Watch them starve to death! muwhahaha!

mind if I ask how you store the map data? do you use tiles or represent each tile with a data value?

A huge 3D int array full of TileIDs, and each TileID is linked to a specific tile on the sprite sheet inside the Tiles Loader. When you go to render it, it asks the Tile Loader what image is associated with that tile ID, and the Tile Loader returns the image that is assigned to that ID and then the game renders it.

I presume the array is as follows:

int tiles[ID][X][Y]

Am I right to presume this? If so then why the hell am I not doing that, if not then I am glad I am not doing that :stuck_out_tongue:

I presume it’s more like tiles[z][y][[b][/b]x] = tileID<sub>(x, y, z)</sub>

^ this. :slight_smile:

Basically in the render code I do a 3x forloop (triple nested ftw!) that looks at: int[x][y][z], and fetches the tileID in that position, then asks the Tile Loader what image has that matching ID, the Tile Loader returns the correct image and then the renderer renders it on screen.

So basically:
Step 1: Fetch TileID from int[][][] array.
Step 2: Ask the Tile Loader for an image in a HashMap<Integer, Image>. where Integer is the TileID and Image is the tile to be rendered.
Step 3: Render what is returned to it.

it’s actually really, really simple once you work it out. :smiley:

…and also, my news update!:
I’ve been mostly working on breeding and polish the past few days, while breeding isn’t quite ready to show off it it’s entirety (Still no children yet!) one of the new polishing elements is! I’ve added informational floater icons/text to the villagers, buildings, and anywhere else that seemed appropriate. I feel it brings a large amount of life to the game and helps keep the player better informed as to what is going on.

Currently, these icons pop up during various game events. For example, when two people partner up and “go home together” wink wink, when they deliver, remove or gather resources, any time XP is gained or they level up, any time their stats change and so on and so forth.

Since there isn’t too terribly much to explain about this new feature, I decided to just GIF bomb you instead! So enjoy! :slight_smile:

(EDIT: Removed hyperlinks I left in by accident)

[b]

  1. Villagers going home to get busy. :wink:
  2. Villagers building a small house.
  3. Villagers collecting stone.
    [/b]

Villagers returning logs to their Lumber Mill

Villagers delivering goods to work sites for the builders to use.

Loving it man, esp. the slightly randomized direction that the xp numbers and stuff float away in. Great detail!

I have been following this project almost since it’s beginning and i really like it. It awesome, that you still love to work on it, i mean there is an update almost daily :slight_smile:
But there is one thing i really don’t like about this project:
It made you stop working on SixtyGig :frowning:
But you said you will go back to SixtyGig, when you have finished this one, so keep up the good work!

yeah, I really like it. It adds so much flare/personality to the game when you watch them work with all the flying numbers/icons everywhere. Very visually stimulating. :smiley:

It’s nice to know some people have been lurking around tracking my progress! :slight_smile:

Yeah, I wish I could somehow work on both side by side, I love the SixtyGig project, but it’s basically impossible to dedicate time to both and finish either of them. :frowning:

The other problem is Indie RPGs are a dime a dozen, it’s so hard to break into the market with an RPG as your “first game”. I figure this is probably best, because I can break into the market with RPC then use my exposure to promote SixtyGig later. People are more willing to give an RPG a chance if it’s backed by an already recognized developer. At least, that’s been my experience.

As I develop this game, I have many ideas floating around in my head and on paper about how this game will be played and how the many mechanics will all come together to make this a great little game. A problem I’ve come to realize during my development is, while I have this vision in my head about what RPC is, it’s all in my head! So I’ve decided I need to start explaining these features to the fans!

So, to remedy the situation I’ve decided to start posting some news that isn’t so much just about the new features I’ve added, but more a general blog about the game and it’s many currently existing and planning features to give you guys an idea of what the full scope of RPC is all about.

For the first “Mechanics Blog”, I’ve decided to explain the range system, what it is for and what it means to the player. When you start a typical game of Retro-Pixel Castles, you will start with a handful of villagers on a random or preset location on the map (depends on the map’s configuration). From there, you have no buildings, all you have is your handful of villagers. You will be allowed to build one, and only one building to start off with: your village center.

Once you find a suitable place on the map to place your village center, your villagers will start building it. Once completed, a colored range map will pop up. From here on out, the only land you can harvest, farm, and build on will have to be within the range of your village center and it’s future connected buildings.

Here’s a small village, with the range map visible.

http://media.indiedb.com/cache/images/games/1/34/33713/thumb_620x2000/InDev-2014-09-02-3.png

Now, because you’re restricted to building within that range is seriously limits your ability to defend yourself from the onslaught of the monsters that will spawn, and eventually engulf the map. So it’s up to you to expand your range quickly so you can put up walls, towers and other defensive elements in key defensive areas.

Almost everything you build adds to this range map, some more than others. Currently planned, the two main ways to quickly expand your range is to build light sources or guard towers. Light sources are mostly non-functional, and really their only purpose is to expand your range map and provide light. But, guard towers will also house soldiers who can defend your city and offer a substantial increase to your overall range.

Some builders, building a new light source (Small wood torch) on the edge of your range map.

http://media.indiedb.com/cache/images/games/1/34/33713/thumb_620x2000/InDev-2014-09-02-4.png

As you can see in the above shot, they are building right on the edge of their building range because they can not reach around and build up north. But, once the light source is built, the range expands, allowing them access to the terrain north of their village.

They have expanded their build range and started harvesting wood and building some homes in the new area they now control.

http://media.indiedb.com/cache/images/games/1/34/33713/thumb_620x2000/InDev-2014-09-02-5.png

While this seems like a somewhat minor mechanic to talk about, this plays a very critical role in how you manage your village. When playing you’ll want to attempt to bottleneck the monsters attacking you into key points where you can kill them off so they don’t harm your villagers, the problem is since you can only build within your range map you can’t simply just run off to each edge of the general area you’ve established your village and block off everything everywhere. You have to build out your range map in those directions. All the while, the monsters are trying to eat your poor little villagers! :slight_smile:

Feel free to leave a comment about what mechanics you’d like me to cover in the next “Mechanics Blog”!

It’s nice to follow on this game’s development, and the love you put into it really shows. The range mechanics sound interesting. What will happen when a building is cut off from the village center? (e.g. a light source got cut down by enemies).

Any idea on what kind of interesting choices your game will offer to the player? I can see a few already:

  • where to put the village center of course (assuming you have a level of choice in that). This may be more interesting when the choice is somewhat limited, e.g. by putting the player under time pressure and by limiting the available locations, e.g. by requiring the player to walk to the location (possibly even risking encounters with enemies along the way)
  • how to arrange defenses by combining the strengths of different buildings, walls, villagers
  • building an efficient economy by strategically placing gathering buildings

With regards to combat I cannot see many choices yet (likely because that’s still work to be done). Will the player be able to choose where to send soldiers, arrange them in formations, or other choices? There’s somewhat of a risk in this kind of game that is may become a pure “numbers” game: build your economy faster than the enemy strength grows and you “win” (or lose later). Having some tactical choices during combat may help keep things interesting.

Keep up the good work! ;D

I havent decided yet, I’m debating between allowing the building to still function anyway, there’s just a dead zone in between, or having the building “shut down” and be unusable until it reconnects to the village center’s range map. I’ll figure that out once I get a real play mode going and figure out what works best. :slight_smile:

There’s 2 planned ways to start a map currently, what’ll happen is when you launch a new game the game will see if there are any “abandoned” village centers on the map, if there are, it will not allow you to place one. It’ll force you to claim one of the existing village centers on the map. The other method is if no village centers are detected, you can place one anywhere you want. The idea was to give the mappers a little control over what the player can do. Some may want to force players to only play in certain areas, while others may want them to figure out the best “sweet spot” to start in themselves.

Your villagers though; they start in a completely random location. So yes, in the early stages of the game you have to somehow figure out how to get from where you start the game to where you want to build the village. If you’re fast enough at that point in the game the monsters on the map should be minimal and you shouldn’t have too much trouble getting there. Problem is, since you can’t directly control villagers you basically just comb the map for a village center (or a place to place one) and then your villagers have to travel there. So if you pick a spot that may have less than a desirable shortest path (lots of monsters in the way or something, etc) you may lose a few villagers trying to get started.

Both are key parts of the village development, some buildings (like the guard towers) are critical to surviving. But, you have absolutely no direct control of any villagers (even the guards) so it’s a matter of figuring out how to distribute the guards evenly to make sure the most dangerous areas are protected, and of course, placing things like your Lumber Mill as close as you can to trees but not too var from the housing (to cut down on total trip time) is also very important. :slight_smile:

Honestly haven’t quite figured this out yet. You won’t be able to control guards, but there will be many upgrades/tweaks you can do that have an indirect affect. Although to be completely honest, it’s all up in the air right now. I have some ideas on the drawing board but I’ve been more focused on getting the basic building mechanics/AI done.

But some of the ideas on the drawing board:

  • Various upgrade buildings, like a “foundery” that can increase their attack/defense.
  • Some sort of control of the AI’s aggressiveness, maybe you can set guard towers to be extremely aggressive, or passive, depending on where they are.
  • Possibly adding patrol routes to guard towers.

Also keep in mind that I plan to make it where once someone becomes a guard-type villager, he can never go back. Once a guard, always a guard. Problem is you still have to feed him, and guards don’t have any real output. So having too many guards can ruin your production. So another aspect of balancing your village is figuring out just how many guards you need. Too many and your production will be too slow and you’ll get overwhelmed. Too few and the monsters will slaughter you. :stuck_out_tongue:

Uhm, what exactly is the reason why a guard cannot work again? And dont say PTSD, that would be lazy! :slight_smile:

PTSD! :wink:

No, really, it’s just a game balance thing. If you allowed the guards to work (or convert back to workers) people would just mass-convert everyone to guards every time they’re attacked then convert them all back to worker-bees when they’re done.

It’s a problem I noticed in a similar game called “Towns” I used to play, when I would get attacked in that game I would just pause the game, convert everyone to soldiers and they’d all storm/overwhelm the bad guys. Once the threat was gone I would convert them back to villagers and go about my business. RPC will have a lot more frequent attacks than Towns though, so this wouldn’t be as simple of a solution. But either way. (In Towns, the goal of the game is to delve deep underground in the dungeons, the random attacks on your village don’t happen very often)

The alternative idea I had was to put a clock on how long it takes to become a guard. Maybe it takes 30-45 real-time seconds to be converted, that way if you’re attacked you really won’t be able to convert everyone in time anyway. But It’ll take some playtesting to figure out what works best and since I have no monsters yet, that’s kind of hard to do. :stuck_out_tongue:

Or have it so that you cannot edit game mechanics whilst paused and that you have a maximum number of guards.

Another random act of boredom! … tooltips!

They’re not quite done yet, they don’t detect items on the ground. But they work great for terrain. :wink:

[quote]I’m debating between allowing the building to still function anyway, there’s just a dead zone in between, or having the building “shut down” and be unusable until it reconnects to the village center’s range map.
[/quote]

Another way would be, to allow the building to function, but cause of the dark spot, they cannot go to the rest of the village. So basicly if the “dark spot” is between the village and a Lumber Mill, workers can stil gather some wood, but they can’t bring it to the village. Also if they are hungry they can’t go to their home to eat.
If the “Dark Spot” is between the village and a group of houses+a Lumber Mill the workers can at least go home to eat, as long as the house has some food left.
So basicly they function normal, but can’t “use” othe buildings outside their range.
Just an idea :slight_smile:

For the second Mechanics Blog I will be discussing the buildings. In Retro-Pixel Castles, you place buildings in a similar fashion as you would in an RTS, as long as they’re within your range map. (See the previous blog for an explanation of the Range Map system) but how they all function varies greatly, and many of them interact with each other in symbiosis. :slight_smile:

The Village Center
When you start a game of Retro-Pixel Castles, you’ll hunt down a good spot to call home. Once you find a spot you think is think is safe (hah! sucker! You’re going to die anyway!) you will place your very first building, the Village Center. The Village Center is your primary building, and the only building that houses “Builder” workers that can construct other buildings. Losing this building pretty much spells doom for your village, so protect it well!

Homes
Homes are fully automated, each house can hold a certain amount of villagers, some food and in the future, some wood for heating for my future plans to add seasons to the game. When a villager gets hungry, sleepy, or simply just bored he will head to his house for some relaxation. Additionally as your villagers go through their day, they will also couple-up with other villagers. When this happens they attempt to move in together. So over time, your houses are naturally filled with pairs villagers who coincidentally will occasionally go home and “get busy”. The happier your villagers are, the more often this happens, and in turn, the faster your population growth is!

Farms
Farms, are your main source of food. (Big surprise there!) There is food scattered all over the map, but none of it is replenishable. You will have to build some farms in your village and plant some of the food you find to get a stable food source going. The workers assigned to the farm will automatically harvest crops, and deliver food to the houses on the map.

Harvesting Buildings
Every resource in the game as a harvesting building that goes alongside it. Like a Lumber Mill for wood, and a Stone Masonry for stone. The workers assigned to these buildings will go out and gather materials on the map where ever you tell them to and bring it back to their building to store. They also play a vital role in the efficiency of your builder’s building process because they can deliver resources to build sites, allowing more time for the builders assigned to your Village Center to build, and less time wasted gathering materials.

Abandoned Buildings
Many of the maps will have abandoned buildings scattered around, these old buildings cost roughly half as much to restore as it would cost to build a brand new one. So when placing your Village Center, it can be very helpful to locate some of these buildings and start your village near them.

Light Sources
Light Sources extend your build range, allowing you to place buildings further away from your Village. They play a vital role in setting up your defensive permitted out beyond the normal limits of your village. The Future
These buildings are just a small sample of what RPC will offer in the future. I have plans for guard towers, barracks, mage towers, alchemy labs, schools, orphanages, forgeries, workshops, and many other buildings. What I’ve shown you today (and what will be released in the upcoming Building Mechanics demo) just barely scratches the surface.

BONUS: Stay tuned! The Kickstarter, Greenlight AND the Building/AI Tech-Demo will be released soon! :slight_smile:

Wow Ray, I’m very impressed with how far this game has progressed. Keep up the excellent work, I will definitely contribute to the KickStarter.

Thanks! Hopefully I can get it all wrapped up by the end of the month. But as I’m sure everyone on JGO knows, when you make a checklist you tend to add 2 things to it for every 1 thing you knock off. When I wrote that last post, I had 14 major things that needed completed before I release the next tech demo, I knocked 4 or 5 off the list… and now there’s 21 things!

/grumble :wink: