Thursday, November 23, 2017

RPG: Map

Unfortunately the idea of using real world photos for a RPG was short lived. I continued for another couple weeks but the shortfalls just too heavily outnumbered the benefits.

Biggest upside of the photos was the beautiful static images the game could have, but you want the world to feel alive. I did have some limited success with rain effects and varying the lighting to give a little bit more movement into the world, so that probably could have been sufficiently resolved. However I had 2 problems that could not be overcome...

1. If I wanted to setup a shop, inn, or whatever fantasy style building, I had to hope it already existed on the trails (which it wouldn't be). Otherwise it would be a huge amount of photoshopping to add a building realistic enough to blend into the scene to not just one photo but several photos at a variety of angles and distances (with vegetation / scenery blocking parts of the building)..

2. Movement had to be in discrete steps. (In my prototype I had taken photos roughly every 20 feet, which is fine for turn based but not for real time.) And trying to merge multiplayer and turn based in what is essentially a first person dungeon crawler just doesn't work out. My son can play Diablo style games, so if I want him to enjoy the game with me I need something real time.

And thus, the game has been redesigned! Thankfully not much code was thrown out. In fact what the game is now is what I had originally played around with when first learning SFML several years ago. So I replaced the real-world location code with the "whole world" map code I had written before.

It looks much more like a modern action role playing game:


Please forgive my awful developer art. I'm focusing on code now!

You can walk around with WASD. Unexplored areas are completely gray, but there is a fog of war for areas you've previously explored (shaded darker). Characters such as yourself, trees, or buildings can be on the game map. Also equipment can be dropped onto or picked up from the map. I have draw order working nicely - you can walk behind trees for example. The game prevents you from walking through trees (based on a radius) or buildings (based on a width/depth).


In the above screenshot, I've picked the sword up off the ground. I can now equip it or put it in my backpack.

You can use the mouse scroll wheel to zoom in or out of the map.


You can actually zoom out enough to see the entire world...


A player can traverse the entire globe. For the past several weeks I've been steadily making improvements, and I'm really liking the results. Terrain tiles and characters are animated. (Water can have waves, trees can sway in the breeze, and the player's feet move as you walk around.)

At this point I've got a very solid plan for the game.

The 5 second pitch is: Growing up you had the dream of mapping the entire world. And now that you're older, you've decided to do just that. But quite a lot of things can happen to someone exploring a whole world...

So the scope has increased, but a playable version shouldn't take too much longer. I can create a world with monsters to fight, inns to stay at, etc. relatively quickly. But this also gives me room to go much further. I could have warring kingdoms that you could join sides in or try to resolve in other ways. I could have the classic evil mage in the tower threatening nearby lands you may want to defeat. I could have a small farm community that you run across and decide is where you want to put down your roots. (Inspired by Stardew Valley...) But I don't want to get into too much scope creep yet; for now it's build a world you can run around in and kill monsters & improve yourself.

No comments:

Post a Comment