Random map/dungeon generation [alpha video]
Approw
Member Posts: 703
Hey guys,
I was't very active lately because I was working on some movies. Anyways, Im building a map generation system. I have a video to show what it does at the moment so please have a look.
right now it features:
- Random path generation within the given dimensions of the map
- It automatically generates walls
- I can change the randomness to have longer paths (so less bigger areas) which is awesome!
To do for now:
- Make the whole generation process faster. I already have it working, but it's not a 100% reliable at the moment.
- Spawn point for hero
- Other random spawns for enemies and treasure chests etc.
Comments
Looks really good
Cool!
Follow us: Twitter - Website
Very nice!
Mental Donkey Games
Website - Facebook - Twitter
@Socks @AlchimiaStudios @NipaDidIt Thanks guys! I quickly made another video to show the faster map generation.
Very cool @Approw !
MESSAGING, X-PLATFORM LEADERBOARDS, OFFLINE-TIMER, ANALYTICS and BACK-END CONTROL for your GameSalad projects
www.APPFORMATIVE.com
WOW
Love it! Thanks for sharing.
New to GameSalad? (FAQs) | Tutorials | Templates | Greenleaf Games | Educator & Certified GameSalad User
@Approw Very impressive! I've dabbled in generating terrain maps, but not dungeons (including walls).
If you're ever looking to bolster efforts on this, I'd be very interested in working with you!
If you'd like to see what I can offer, have a look at my stab at A* (http://forums.gamesalad.com/discussion/71909/demo-combat-terrain-generation-and-ai-on-a-grid-based-map), I dare say it was the fastest and most efficient method (unfortunately made obsolete by GameSalad's inclusion of a built-in A*). Properly generating maps and dungeons was the next step.
Looks really neat!
Free Mini Games and Demo Templates
This is great, well done!
@Hopscotch @jdlcrater @tatiang @UtopianGames @neoman @frd @pHghost Thank you guys so much for the great reactions!
@pHghost I will keep that in mind, it would be great to develop it with someone else! For now the project is too messy with a "only I understand the workflow" workflow haha. Here is a quick video update of the project! (At some point I say render interpolation, but I actually meant Nearest Neighbor Interpolation, so excuse me.)
I'm also not sure why I said there are 300 actors in the scene, because it's actually a lot more. There are 200 floor tiles, depending on the map but on average there are 300 walls, and around 50 shadows. So that is an average of 550 actors! thats quite a number for just the map.
Believe it or not, at the height of my dabbling with terrain generation, I was at times crossing 10k actors in one scene!
But, to be fair, it ran only about 12fps on my Mac and crashed pretty much instantly on a iPhone 6.
I experimented extensively with optimization of large map datasets, and using tables a lot can be done, even to fit in huge maps (100x100).
Here is a example of a 50x50 map (which would be 2500 tiles) virtually projected on a total of only 176 tiles (that's just 7% of the actual map surface):
@pHghost hmm interesting stuff you got there. Optimizing these kinds of thing are a pain in the a**. But I'm doing pretty good to be honest with you. The same kind of map that I showed you in the video is running a solid 60fps on the iPad 2 with shooting and some enemies and stuff (generating the whole map takes around 4 seconds). I didn't add a lot more because I want the map generation to be superb first, but it's getting there:)! I think I will hit you up next week so you can have a look at the system for yourself.
Part of my interest is scaleability and trying to push GameSalad as far as it can go. It's a lot of fun!
Anyway, do let me know once you have something to look at!
@pHghost I didnt had much time to work on the project, but I will very soon, and hopefully involve you to create something awesome. Sometimes 4 eyes are better then 2;)
What exactly do you mean with scalability? Im also always trying to push gs to the limit, not sure if its always good since it usually brings a lot of side problems, but it sure is fun as hell!
What I mean is optimizing performance specifically to allow for smaller to larger scale implementation of game algorithms and features.
Hopefully GameSalad will work hard on considerably reducing loading times, but in the meantime, I always try to work as much as possible with the constraints of having a single scene, but without having to limit the scale of the game.
The goal is layering several things on top of each other and not crashing due to memory use, so you have terrain/map generation (in a bigger project both overworld and dungeons) then AI, menus, inventory management, all in one scene.
Ultimately, I believe a big part of making an impression with a game will factor in loading time, which is why I try to reduce it to the minimum possible.
@pHghost You're absolutely right, getting a solid game with tight loading times is ideal. I usually try to spawn everything in place instead of placing everything on the scene by hand, this way you get really fast loading times. Resetting this map generator for example takes about half a second because there is barely anything in the scene, the real loading starts when it starts generating the map.
Sometimes it is hard to build an efficient and tight system because you need unlocked actors to acces some scene attributes or other local attributes from actors. It would be ideal if locked actors can acces scene attributes without unlocking them and share local attributes with other actors in the scene. This would save a lot of headaches with workarounds.
I'm not sure if this is even possible, but I thought of a solution. Right now gamesalad loads the same actors in every scenes actors panel. First of all it is annoying because you don't need all of them, and it gets messy if you have a large project. A great solution would be if all the actors are stored in a global actors folder/tab (which we already have), and then you can import the actors you need in the scenes actors panel. It's just an idea to improve the workflow:)
Tell me about it! This would solve so many problems!
Very cool stuff! Love it!
My GameSalad Academy Courses! ◦ Check out my quality templates! ◦ Add me on Skype: braydon_sfx
I like it!! Thats some very cool tech!
Awesome stuff!