Yay! The first post! Since we both wanted to discuss something, we split the post in two. Onky is gonna talk about the creatures he's made and Cake is gonna talk about some crazy programming stuff! Hope you guys enjoy Onky's Monstrous Thoughts
So today I'm gonna talk about the 4 enemies that have been in the game since the jam version. Not too in-depth, but we don't wanna spoil too much just yet
Hope you enjoy!
Ga
What on earth is that thing? Well, it's a Ga. Ga tend to be a real threat for anyone entering the well. Because.. They walk! All the Ga do is walk from one side to another. All the time. It might sound like an idiotic creature, and well.. It is. But that doesn't mean the Ga is no harm! While you're fighting your book off to get rid of the more advanced enemies, you'll occassionally end up being killed by these guys. They're easily forgotten, but might become your worst nightmare. AI: Walks around; Has a very clever system of moving one leg after another, building up pace to advance on the floor;
Weakness: Anything that does more than walking;
Hoosh
This winged threat soars through the sky, gazing at any unwanted visitors. While keeping a distance most of the time, the three-eyed bat is not afraid to strike. While not being too harmful at first, the Hoosh flies around and takes its aim. And then: HOOSH! He comes down with an incredible speed. Their high-pitched voices make them seem cute, but the Hoosh are not one to be tamed. So beware, look for the ceiling and ask yourself "What's up?".AI: Flies around, looking for a good position to strike; Charges and aims at player; Strikes down by flying towards the player with a decent speed.
Weakness: Vulnerable when having struck;
Sully
This female guard of the well is not the prettiest nor the brightest. While she lacks the beauty as well as the brains, her fighting skills are on point! Sully has a shield to counter the young unexpected guests, and does not hestitate to wield her undersized axe. Though she looks intimidating at first, Sully is not the biggest of threats due to her previously stated disability: She's dumb. With that being said, you should still not underestimate Sully and her sisters!AI: Follows the player; Can't jump; When being attacked from the front, she pulls out her shield; When near the player, she strikes
Weakness: Rolling; Vulnerable when striking
Gazum
Well, this one is quite the freaky kind. An eyeball on top of a statue, shooting fireballs at you. Marvelous! While Gazum goggles at you from anywhere in the room, he's not one to forget. Quite the pain, actually. As I mentioned, he can even hit you from the other side of the room, making him quite the threat. He's not easy to reach, for sure. The statues can be tall, meaning you have to get rid of all his parts before actually being able to hit the eye. AI: Stands still; the eye follows your every move; Charges and shoots at you; Made out of different parts;
Weakness: Can't move; Haru's shield ricochets the bullets;
That's all for now!
Cake's Silly Explanations
Bleep Bleep Cake here ^^
So, today I'm going to tell a bit about how I create the floors and rooms. The best way to do this in my opinion is just show you how the floors look without rooms:
You ready?
Alrighty.
...
prepare for greatness or something:
"1 10 3 5 7 8 2 4 10 6 3 8 5 7 9" That was the programming part for this week, hope you enjoyed it ^^
...
No? Alright.
So, to generate the floors I start fairly simple, I create a string and add in one number. Every number is attached to a specific room I made with the room creator(Which I'll show after this explanation).
Per example, I start with this:
"3" Now the game loads room "3", which is saved in a .ini file.
When the player proceeds to exit a room through the left door, I simply check if there's a number left of the number you're currently "in". Right now, there isn't, so I proceed to place a random number in the beginning of the string, which I divide by placing an empty space inbetween, so the system won't see the separate rooms as one room. This could be something like this:
"7 3"Loading wise, when the player "exits" a room, I simply add a nice fade to black. During that fade, I destroy the room the player was in, teleport the player to the other side of the screen and load up the new level. The handy thing about this is that the player won't notice a thing and there'll Always be only one room loaded.
Anyway, when the player goes back right in this situation, there's already a number right to the room you were currently in, so all I have to do is change the variable that reads in which room you are and reload the other room. Because the room was already visited, I don't spawn enemies, because the battle in that room was already fought.
If the player then goes right again, I simply place a new number next to the number you were in. It'd turn out something like this:
"7 3 4" And the player would be in room four.
Backgrounds are premade, but they are randomized per new room you visit, so in order to achieve that I create another string which works exactly the same as the room strings, except for that instead of rooms there are backgrounds tied to the numbers.
When you descend a floor, I simply have a fade again and during that fade reset the entire floorstring, since you can't go back up anyway; place the player above the room he previously was in; and replace the room with the new number.
Now, on to the room creator! Here's a screenshot of me having placed a few random blocks and such:
The roomcreator is fairly simple, I just place objects which I can select, of which some I can change aspects of, like with the plant object what kind of plant it should be, and with solid blocks what tile it should show.
Another thing I can do with this roomcreator, which btw I should really polish a bit so it's more user-friendly, is determine how many enemies of specific types are allowed to spawn in that room. Thanks to this a room can per example have a limit of 3 Ga's(the basic walker enemy), 1 Hoosh(bat enemy) and 0 Gazum's(Turret enemy).
so, this was pretty much the entire explanation of how rooms and floors work, hope it was interesting ^^
In my opinion this system has a few pros and cons tied to itself.
The pros being:-Very simple to create floors while still keeping them interesting
-Floor are permanent, when you revisit a room it is the same room as it was the first time you visited it
-The limit of the amount of rooms you can have depends on your own pc, although even the shittiest of pcs can have at least more than 10.000.000 rooms, probably more than 15.000.000, so I don't have to worry if the floors
aren't big enough
-The generator is extremely light, lagg or slowdown thanks to the generator won't ever be a problem
-Very easy to create new rooms
And the cons being:-The map will be flooded with .ini files, because I use one for every room, and we'll probably have a ton of rooms(although this isn't really a very big problem I guess)
-Nothing inside of rooms is permanent except for the rooms themselves and backgrounds right now. I will of course create some extra stuff to save things like chests or items that have spawned there, but stuff like corpses or drops like money will probably not be permanent. Might try to fix this in the future by having a specific .ini file just for that stuff, but that is currently not very high on the priority list
Bleep Bleep Cake out
WOOOSH
~Cya!