Intro
This is a series following Cosplore3D, a raycaster game to learn 3D graphics. This project is part of 12 Months 12 Projects, a challenge I set myself. In the last post we created the first boss, so I thought why not just make the second?
On another note, I will still be doing 12 Months 12 Projects, but I am going to have an underlying project called CompNerdSim. I would appreciate if you merely check it out, because hey, it could be a bad idea.
Boss In The Level
After creating the art for the boss, I put it into the level editor.
Now, after loading up the level it was hard to get a screenshot, because I made the boss so fast so it was at you before you had time, but here it is in 3D.
And yes, I had lost 2 hearts. It's definitely an easy boss to beat when you're concentrating, but when you're trying to take a screenshot it keeps sneaking up on you.
Giving It A Power
Now that the boss is in the game, we need to give it it's own power.
func spawn_crawler(g *Game, b *Boss) {
g.levels[g.player.curLevel].enemies = append(g.levels[g.player.curLevel].enemies, create_new_enemy(
int(b.x/tileSize),
int(b.y/tileSize),
100,
70,
[]*ebiten.Image{
g.images["crawlerFront"],
g.images["crawlerLeft"],
g.images["crawlerBack"],
g.images["crawlerRight"],
},
100,
4,
4,
18,
7,
8,
),
)
}
You can probably tell that the Crawler Champion spawns more crawlers, and this is another annoying power. It works well, and I made sure that the boss takes priority in shots so you can actually kill it instead of just shooting crawlers.
Next
There isn't much interesting that happens when you kill an enemy, so I think a good next feature would be to add sound effects. This will make the game a lot less bland and pull it together more. We could also add shooting sound effects, player damage sound effects, and so on.