Jump to content
  • Advertisement
  • entries
  • comments
  • views

Untitled SENG Game: Map Discovery and More

Sign in to follow this  


I've had some time over the past week to do some good coding, and I've got some lingering features done in the SENG engine.

The first of these was "map discovery". Previously, when you entered an area, you could see everything in it, both onscreen and in the map. Even stuff behind closed doors, etc. Now, one of your characters needs to get close enough (100 feet), and you have to have a clear path, in order to see something. Here's an example.

Tester, with the door closed, and the tiles behind obscured:

Tester opens the door, revealing the room behind. Note also that the monsters notice her and attack:

I didn't implement line of sight, or anything complicated; just straight-up breadth-first-search. One obvious benefit is that I can design levels with hidden details behind doors. Less obvious is that previously monsters would "trigger" and try to attack the player, even through walls, leading battles not taking place in the right spot. Now, monsters only attack after a room has been revealed; much nicer.

Implementing map discovery took a little longer than I had hoped because of performance issues; with my first change, I dropped to about 10 frames per second. After some good optimization, I finally realized that in the Release build (as opposed to the Debug build that I always run), there really wasn't much of an issue at all. But I left the optimizations in anyways.

The other changes were more minor. One was to revamp the way traps work. Previously a trap was a property of a tile, which wasn't great, but got even worse when I dropped the tile size from 10 feet to 2.5 feet. For instance, your thief might disarm a trap, but your fighter right next to him would trigger it since the tile size was so small. Now traps are objects, which have arbitrary size, so if the thief disarms the trap, it rightly disarms the whole thing. In the process I fixed up some other trap issues.

The last change was to implement an "Exit" object, to make exits more visible and functional. If you played "To The World Tree" (http://www.prankster.com/ttwt), you probably have some idea of the confusion that this could clear up.

Anyways, good progress for now. I'm really starting to see the light at the end of the tunnel as far as coding changes to the engine. Unfortunately for indie game development, I'm probably going to take a job in a month, which will cramp things. But I suppose my bank account (and wife) will be pleased.
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!