The grab is a simple idea, but I spent some time making a new system for it so I can easily add grab moves to enemies and bosses. I just attach this script to enemies, and get the settings right. Most of the complicated stuff is handled internally, or by the animations.
Here I am creating some animation events that call the AnimDamage() function. Thanks to Unity’s new animation system, I can do this visually. This is also what I do now to detect regular melee hits.
And here are the new melee detection boxes. The green boxes on the monster are hitboxes, but the ones in front of him are for regular melee, and the impaling grab attack. This lets me tweak them visually, and I can even pause the game as the monster attacks and line them up perfectly.
If the player is colliding with one of these boxes when the monster attacks, they either get damaged or grabbed, depending on the attack. Usually for bosses, I detect hits using raytraces, but for enemies that aren’t so much bigger than you, this system is easier and doesn’t slow the game down nearly as much.
And here’s how easy it is to set up in the code!
There’s a TON of behind the scenes stuff going on there. The ActionState class takes care of most of the complexity, allowing me to add new attacks efficiently.
Eventually I want to make it so monsters can throw you. I also need to make different player animations depending on whether you’re being grabbed or impaled, and maybe some reaction animations for taking damage.
The idea is to let the player get really beat up. I’ve been noticing more and more how many “getting hurt” animations there are in Dark Souls. It reinforces the idea that you’re just a small human in a terrible, hostile world, and makes victory over huge bosses all the sweeter.
I’m also trying to make the game more intense and over-the-top. Flying sparks help a lot :D
The Eviscerator still needs a lot of work, but I updated his upper materials. His feet still have temporary materials, and are completely messed up.
Here’s how the Eviscerator looks with hitboxes:
Have a great week!! :D
Filed under: Animation, Combat, Monsters | Leave a Comment
A lonely penguin searches for his family:
Here’s what it should look like once we have Unity PRO.
An unfriendly sunset, with snow churned up from the player trudging through it.
Snow “gibbits” being churned up. There are 5 different types of gibbits, and they are created when monsters walk through snow too.
Carnage from a battle.
This armor set needs a LOT of work. I was just messing around with fantasy styles for some hidden armor sets.
Overall, I’ve done a lot of work on the terrain, both making it look better, and making it easier for me to generate. The snow depth maps had some errors, but they’re fixed now, and I added some features to the terrain generator to save me time when I make new levels.
Filed under: Combat, Level design | Leave a Comment
Tags: blender, game, gamedev, games like dark souls, games like mass effect, in-game hair, indie game, rpg, sci fi game, sci fi rpg, terra melior, terra melior rpg, the hero is dead, theheroisdead, unity, unity game, unity hair, unity monsters, unity shader, unity shaders, unity snow, unity terrain, unity3d
Here’s the stuff I’ve been working on lately:
- Wade through snow!
- Better snow shader that turns blue in shadows
- More armor sets
- Tweaking enemies so that regular encounters feel more crisp and challenging
- Blood splatters!
And some screenshots of the new snow system! The terrain has a “snow depth” map. The little egg-like things are just test objects for churned-up snow. I wrote a script that fakes projectile motion for them using the terrain normal vector. So it doesn’t slow down the game nearly as much.
Anyways, I’ll eventually make a bunch of small snow clumps to replace them with.
Filed under: Animation, Characters, Level design | Leave a Comment
Tags: blender, game, gamedev, games like dark souls, games like mass effect, in-game hair, indie game, terra melior rpg, the hero is dead, theheroisdead, unity, unity game, unity3d
Here’s a video showing them waddle around:
And some screenshots!
It took me about 3.5 hours to make them, but you can watch me do it in 15 minutes.
Filed under: Animation, Monsters | 1 Comment
Tags: 3d penguin, blender, game, gamedev, games like dark souls, games like mass effect, in-game hair, indie game, monsters, penguin, penguins, rpg, sci fi game, sci fi rpg, speed model, speed model penguin, terra melior, terra melior dragons, terra melior rpg, the hero is dead, theheroisdead, unity, unity game, unity hair, unity monsters, unity snow, unity terrain, unity3d, unity3d penguins
Today, I’m going to show you how I made this scene:
Click the images to zoom in!
This step changes both the specular brightness, and the sharpness. Rocks have sharp lighting (otherwise the entire mountain would get brighter, and look like plastic), and snow has wide specular lighting so that it gets blown out.
Here’s where I take that plastic-like snow and make it sparkle!
This is so that more snow sparkles. This filter is more concentrated, and doesn’t add much lighting. Just little sparkles.
This is so snow on distant mountains gets blown out, while still having a few sparkles and not being as blown out as before.
It looks so much better in action!
Now that looks like a great place to be eaten by a huge monster! :D
I don’t have Unity PRO yet, so I just simulated those effects using GIMP. It just makes the scene pop out more.
And now for a before-after comparison!
Thanks for checking it out, and have a great week!
Here’s a sneak preview at a new level I started making yesterday. It’s a mineral-extracting plant in an underground bog. Most of the structures don’t have textures yet. I’m going for a Myst/Riven vibe with it, but creepier, and with horrible monsters. There are no handrails, and you reallllly don’t want to fall into the bog. :D
The green splashes are from extractor-thingers that punch into the slime at regular intervals, and the red light is from a rotating eye-ball spotlight.
Filed under: Level design | 1 Comment
I fixed a problem where some of the textures weren’t showing up very much on the map, so there’s more variation now. Before, you would have entire mountains with the same texture… now most mountains have 2 or 3.
The next step is to work on making paths. The map I’ve been working on looks nice, but is almost impossible to travel on. Unfortunately, adding paths by hand takes forever, and if I decide to generate the terrain again, I lose all that work.
What I’d like to do is add a pathing system. Even a basic one would help a lot. I’d like the be able to specify different path points, and have the terrain generator work around them.
Whatever I do, I’m always going to have to do a lot by hand, but I’d like the minimize that as much as possible. Especially when it comes to something simple, yet time-consuming, like making smooth paths.
Anyways, thanks for stopping by! :D
Filed under: Level design, Optimization / Bugs | Leave a Comment
Tags: blender, game, gamedev, games like dark souls, games like mass effect, in-game hair, indie game, rpg, sci fi game, sci fi rpg, terra melior, terra melior rpg, the hero is dead, theheroisdead, unity, unity game, unity hair, unity shader, unity shaders, unity snow, unity terrain, unity3d
Here are some pretty pictures! I started this level yesterday, and it needs work, but it’s a good way to show my new terrain techniques. I’m trying to automate as much as possible.
After I finalize the process, I’ll make a more detailed post showing what I’m doing.
There are two different specular light modes, depending on whether the texture is rock or snow. Rock has a sharp, shiny specular lighting. Snow has wide specular lighting, which first made it look like plastic, but then I ran it through two sparkle filters.
One filter is for the actual specular reflection. The other is even wider, but uses a more concentrated version of the sparkle texture to add some more random sparkles outside the main reflection.
REGULAR SPECULAR (bad)
FIRST SPARKLE FILTER
SECOND SPARKLE FILTER
(so distant snow has almost a bloom effect,
while retaining some sparkles)
I also spent a few hours trying to add clouds. I made a somewhat-decent movement script for them (it looks good, but it’s slow because it uses raytraces in runtime rather than mapping out the terrain when the game starts), but they look terrible and don’t fill the screen at all. I looked at a few solutions on the Asset Store, but I don’t think it’s worth slowing the game down. For now, I just have snow and wind effects centered on the player.
As for the future, here are some things that take me a long time. I’m trying to automate what I can:
- Making Unity terrain faster, and nicer looking
- Solutions: (already done)
- Use more erosion.
- Custom bump-mapped shader that doesn’t have specular lighting (faster)
- Custom specular shader that has settings for bright areas (snow) and dark areas (rocks). It also changes the specular power depending on the area.
- Solutions: (already done)
- Painting Unity terrain
- This is how you get snow on mountains and stuff
- Current Method: Automatically painting the terrain with the terrain toolkit and touching it up manually. Only allows 1 mountain texture, and other textures are distributed according to height.
- Solution: (already done) Alter terrain toolkit to allow different mountain textures, and mix all textures according to a generated splat map, with snow appearing more on higher altitudes
- Making paths through Unity terrain
- Very important because it lets the player travel well, and keeps the AI from getting stuck
- Current Method: I use terrain tools to manually smooth and alter the terrain. It takes a long time.
- Solution: Make an in-game tool that smooths terrain, and saves the heightmap? Not sure how much work this would be, but it would let me sculpt the terrain while testing it.
- Trees! And ice blocks!
- Current Method: Make trees/ice blocks, and place them each by hand.
- Solution: I tried to use Unity terrain to distribute them, but it didn’t work. I might edit the toolkit to allow it.
- Painting custom terrain (done in Blender, with caves and such)
- Current Method: Make the splat map in Blender’s texture paint mode. Smooth in GIMP. Import to custom shader.
- Solution: Not sure what else would be faster. I also have to update the shaders to add the new specular light mode.
- Nice-looking lightmapped shadows on terrain
- I get lots of black triangles when I do lightmapping the normal way. It’s just the way height maps work.
- Current Method: Sometimes I make shadow casters and disable them after lightmapping. It’s really slow, and looks smooth, but not accurate.
- Solution: Well, shadow casters is NOT a good option. For now, I’ll live with the black triangles. I might be able to (this will take LOTS of time) photo-edit them away right before releasing the game.
- Painting the monsters, and also clothing and weapons
- Huge bosses are actually easier to paint now, as most of it’s just splat mapping. But they use a slower shader because of their size. For smaller monsters that appear in groups, I have a fast shader that requires more painting.
- The good news is that this motivates me to make bigger monsters :P
- Solution: … Do it faster? Also, if I get Kickstarter funding, I’ll upgrade the RAM on my Mac, and my photo editing software should run better. It crashes a lot when I run out of RAM.
Filed under: Level design, Optimization / Bugs | Leave a Comment
Tags: blender, game, gamedev, indie game, rpg, sci fi game, sci fi rpg, terra melior, terra melior rpg, the hero is dead, theheroisdead, unity game, unity shader, unity shaders, unity snow, unity terrain, unity3d