Hello all! (It’s technically Friday now, 12:13 AM )
In case it remotely interests you, have a link to where you can find a mailing list thing that will bug you each time I post one of these logs. It’s below the giant over-sized picture of a dragon that’s obviously enticing you to follow this dev-log, on the right hand side:
This post is themed “Making the Good guys and the Bad guys Smrt”, because they are getting there but still a ways to go! Since last week the following was worked upon:
– Dragon AI can now path-find / fighting (Gif below)
– Swordsmen and Enemy Swordsmen AI’s have achieved Piranha levels (Gif below)
– Game Concept/Design ideas & Progression Thoughts are Gelling
– Dragon AI can now path-find / fight somewhat intelligently while on the ground. It will randomly choose an attack animation between left claw swipe, right claw swipe, and bite when in range. It’s head tracks it’s current destination, OR its current target (if there is an enemy). Destinations on the map can be given to it and it will more or less find its way there.
Dragon AI Demo Gif
– Swordsmen and Enemy Swordsmen AI’s have achieved piranha levels. They swarm, they chew things apart, but they more or less just slap each other and flop about. There are still instances of friend katana fire, I’m looking at you Swordsmen Clone (9).
Swordsmen AI Demo Gif
– I worked out some more concept/design ideas until I came across something that makes sense given my current capabilities (for the game as a whole). Instead of trying to explode tackling a full open world, I am considering going the route of independent Unity3D scenes that are each semi-procedural generated (At least the terrain. I’m way too busy to hand craft too much terrain). More on this below.
Overall Game Concept
How should you deliver a modular, easy to add content to, yet procedural game? This was a question I found on my mind often this past week. Making a game completely open world could be possible, but would take a load of work; how do you add content? How many things break when you add that content (Nav-mesh’s, AI unit interaction, dragons landing on things and breaking them, etc.)? What if you bork a setting somewhere that breaks the entire Unity3D scene? How hard would it be to test a big place with lots of moving parts?
My (current) answer was, why not break the world out into many modules that are small and independent. Scenes, if you will, that represent content; easily testable, micro settings that represent encounters.
This also brought me back to an Asset I was working on a few months ago that still needs a little bit of work to shine, but is currently functional: My procedural world tile map generator.
Procedural World Tile Map Generator
The idea behind the current concept is you are a dragon, and you also have access to a portal inside of your “Home Castle”. Accessing other worlds could be a matter of generating new world tile maps, having each world tile map have procedural properties (i.e. “Undead Infestation”, “Castle”, “Potential Dragon Egg”) which in turn manipulates a corresponding 3D Unity scene that the player can “Travel To” and explore. The 3D area itself could be either a constant/hand-made area that spawns different situations/encounters or I could do a little bit of procedural manipulation and make use of a Dynamic nav-mesh to change it up a little. The encounter however would be dynamic (i.e., “Player successfully finds dragon egg, but it is guarded by 15x skeletons. The player has 6x Swordsmen that they can bring along for help, and 1x AI dragon. Because a tile bordering this tile contains a castle with an enemy faction, there is a 50% chance that that faction will send a small army to attack the player.”). Also, the tile itself would be reflected in the 3D environment; tundra terrain consists of snow, pine tree’s, rocks, etc. while plains terrain is flatter and friendlier.
In this manner, new areas could be added in over time as possibilities for the player. I.e., there could be 1 initial Unity3D scene for each terrain type, and once those are completed/tested, you could then expand out the number of scenes that “could be” chosen once a player selects a world tile in the 2D world map. In other words, the player selects a “plains” tile, and a random number generator picks a terrain for the encounter to happen on that fits the theme.
Progression in a situation like this could be handled a couple ways:
– Build up a flight of AI dragons, whom occupy your main castle and are able to join you on some of your adventures through the portal. Maybe you can talk to them?
– The “home castle” could be upgraded for the eventuality that someone decides to attack you, as well as upgrades for soldiers etc.
– Your character levels up, gaining scars/armor/glowing lines reflected on the main character.
– Build up a hoard of magical items looted from worlds explored in the 2D world map with special properties that aid you somehow. This is a little more interesting than just “kill x number of skeletons, gain level and select ability”.
Just some thoughts, feel free to comment/suggest/inform me of my illogicality as needed. The learning experience continues!
This weekend/next week I think I will focus on building up some basic waypoints/patrols for the AI swordsmen to follow, and get some rudimentary AI dragon flying going on. Also might take a look at the procedural world map generator and polish it a bit to potentially finish and post to Asset store if folks are interested.