Map generation mini-update

Today I mixed the voronoi and growing approach and the result looks even better than I thought it would. Just look at that beauty:

Update n.2:

I’m going to stop making new posts for this, it would get out of hand quickly.

There is a small village with random trees around. The villages have random amount of houses and number of streets based on that. We’ll see how I will be able to perfect it. This is just one of the first kind of working tests.

Update n.3:

Still perfecting the villages, looks ok.

Update n.4:

Still workin’ on it, you can see how it looks now: The evil and dungeon biome are still missing, the evil one will be next, but for the dungeon one I haven’t even drawn tiles yet.

Update n.5:

The generator is done for now, I’ll post a Picture when I get from school. For what we have:

  • Rivers starting from lakes and going to the sea, which is on all borders of the map.
  • Normal biome has random amount of trees, some stone slopes and villages.
  • Desert biome has just cactii and lots of sandstone slopes.
  • Evil biome has weird rooms, sidewalks between them and huge lairs in the middle.
  • Dungeon biome has rooms with hallways leading to big boss room, the dungeons are maze-like

And for what I am doing now, I’ve made second layer  not for blocks, but for furniture, vases etc. Now I am trying to do screenspace shadow shader to imitate sun shadows using depth buffer, will se how it will go, but it is very hard and doesn’t do what I want it to at all. Then I want to normal-map the blocks and have some sweet sun reflections on the blocks.

Playing with map generator

Hello!

I am making the map generator. Unfortunately the first thing i found out is that it is slow. Just populating 8k*8k byte array takes a long time, and that without any actual generating. At least you can make a coffee before playing.

So now to my ideas, what I already tried and what it will look like. First i tried Making random colors with Voronoi diagram. The brute-force edition. I couldn’t figure out an elegant algorithm so I just ran through all nodes(random points distributed around the picture) for all the pixels and picked the closest. If you don’t know what Voronoi diagram is, check here. This is what it looks like:

Kinda nice, very random, but really, the slowness had to go.

Next I tried putting few points randomly into the picture and make them grow. That turned out looking really good, but the performance still isn’t something I want to have.

Then I returned back to Voronoi, but deformed it a bit. I split the picture into chunks and put one point randomly into every chunk. Then I had to check only 9 chunks for each pixel, instead of all nodes. So less randomness, but way better performance. Note that the generation for 8k*8k map still takes…*10 minutes later*well i let it run for two minutes, it was maybe 5% complete and then it crashed the whole PC. What idiot could’ve want that big map? What will players do on map so unnecessarily big? Oh I did and I have no idea why.

//TODO: Scale the map down

Now to the next Voronoi. I set a color palette representing the biomes(grassland, desert etc.) and this is how it looks like:

Nothing epic, but hey, it will get better..right? Maybe with more randomness..

Anyway I think it will look OK with all the ingame tiles.

These are biomes. What next? I will make each biome its own specific generator. Grass will have some trees and flowers, rocks and whatever, villages will have houses with roads, evil lairs will have evil..lairs and so on. I am also considering making one biome a dark dungeon completely filled with stone, tight hallways and dangerous traps.

Thanks for reading, have a nice day!

Map colliders update

So after few dozens of hours developing perfect mesh outlining algorithm I said fuck it. Who needs perfect edge colliders around complex shapes. I’m not yet on CS school to invent these beautiful algorithms, so what I did is: if entity runs into unwalkable block soon…don’t let it. Wow, gg wp me. And it works quite well. Now for more map rendering layers…

Update: It is complete, map looks exactly like before, but is composed of big meshes. It was actually a lot easier than i thought.

Postponing Greenlight

After long thinking(over 5 minutes) I decided not to use Greenlight just yet. Although I am tired of working on this game the majority of my free time in last year, I must remind myself that this is a great learning experience. I’ve learned programming, bit of pixel-art, music composition to come, and maybe just a little marketing.

And marketing is where I need to try hard. The game is far from complete, and being such a sandbox, goalless experience, it is difficult to say when it can be considered complete. I have only one shot with Greenlight, so I decided to create some community around the game first. But how? I may have to run around game forums and spam post about AtG for a while.

My plan for success? For now I will make some more content and finally connect all the crafting, baking and monster drops to make the game really playable. Then I need to make map proc generator, or build part of the map by hand. Release gameplay videos,  a playable demo, hit Greenlight and hope for the best. I think AtG has really big potential and I must give it some more attention before showing it to masses.

Mesh generation

Hello there!

Last few days I’ve been working on generating the map as big meshes instead of single tiles. It is close to complete, only collider updates and some additional objects as light for lamps remain to get implemented. The hardest thing on mesh generation are the colliders.

It took me about two days just to figure out the algorithm to take all connected walls, in corners add vertices, then take all the vertices and order them as to outline the wall. Sounds way easier than it is done.

That is one nice big switch.

Anyway, having the mesh is much faster for users than single tile meshes(200FPS-> 800FPS), so it’s worth it.I will probably put the generator for free download, so people can enjoy it. It really isn’t anything that big anyway.

Monsters

The long promised post about monsters in the game is finally there!

Slime

Slime is the testing animal. Nobody knows what is it doing or why is it there. Slime is friendly, starts running away if you hurt him, but attacks you when low on health.

Npc

Base for all npcs. Villagers will be friendly farmers and may have various jobs. Enemy npcs will be mostly dark mages in corrupt(for lack of a better term) biome. Of course there can be bandits, skeletal or corrupt warriors or some ghosts. For now npcs walk around(later special blocks will offer them actions to take), they can try to dodge spells, run away or fight with weapons, cast spells if they know any.

Moth

Moth is a day-time animal, which flies around waiting to get killed and roasted. It is peaceful if you don’t poke it. It sticks out stings and rapidly flies to enemy and back, making it hard to defeat. Fast dodging is advised.

Snakeeey Snake

Snake is a daytime desert animal. He doesn’t give a damn, and you can hit him only when he’s above ground. He digs under you and bites from below.

Deer

Deer Mom,
Today I’ve outrun another hungry adventurer. He didn’t stand a chance.
Love you, Deer

Deer is really tasty and also really fast. Like really, nobody can outran it. To hunt it down, man must think, set up a trap or corner him.

Pedestal

Pedestal is a stone with a charm glowing above it. It can be found at night. When damaging the pedestal, it spawns fast moving bats attacking the intruder. Dropped charms from pedestal will be basic crafting ingredients for spells.

Green Dog

Green dog is a night hunter. It crawls in shadows and waits for its pray, then jumps for an attack. Almost impossible to defeat with wooden weapons.

Hope you enjoyed the post, stay tuned for new updates!

New tiles preview

I’ve been making new tiles for villages and corrupt biome.(Click for full quality.)

A brick sidewalk and wooden floor for the homey feeling.

Looks peaceful right? Well luckily there aren’t any enemies yet, but evil priests are coming!

I’m still trying to find time to post about animals in the game, but there is too much work, so perhaps later.

Spell System

Spells will be the most powerful actor in AtG. Mastering the skill of dodging is advised.

The spells can be gained by harvesting mysterious charms from pedestals at night and combining them with mighty souls of evil priests. A word of warning: pedestals have astral guardians and priests fight with the spells you wish to gain. Any number of spell effects can be combined into a single spell, limited only by user’s magical ability. For instance when foe’s speed is too high for an elder wizard, higher amount of wind can be added to the mixture to chase the foe down.

About the future

The start of a new school year is around the corner and as this will be my last high school year, I want to publish AtG before graduating.

During the summer holiday I have made pretty nice progress,  now there are four day mobs about which I will make a post soon and also a decent spell system to make combat fun.

What needs to be done before releasing? A few nighttime mobs, possibly dropping charms to craft new spell effects, winter day and night mobs, a set of “corrupt” tiles for evil parts of map, lots of armor, weapons and evil priests holding them and also map generation code.

Although the list is quite long, the base game and most features are basically completed and now comes filling in the content. What I plan for the gameplay are plains and deserts where player will hunt for food and build a shelter, getting spell ingredients at night and when ready continuing to fight into evil parts of map, where powerful priests and also powerful items will be located. Occasionally player will stumble upon peaceful npc villages. After a few hours of playtime the winter comes, freezing everything and putting the game into hard mode – no farming, harder enemies, shortage of food etc.

Now I have set myself a goal to put AtG on Steam Greenlight at the end of summer holiday. That doesn’t mean I will publish the game 20 days from now, it is more to see if people like my game and to get some feedback. If (a big if) I get through Greenlight, I will consider putting AtG in Early Access, but that is a long way to go.