I've been making games since I was 13 years old. Now I'm 28 and I've finally released my first complete game, Dreaming Sarah. I'm currently working on my next game and I'm using streak.club to work on it everyday.
I had to work on some paperwork for Dreaming Sarah today so I couldn't work as much as I wanted on Dandy. Still, I'm working on a "throwing" animation for the characters to try and give a more "whomp" feel when the player throws something.
I decided to share my whole list of animations too. The way it's setup like this is because this way I can use the same object for different player sprites. The first part is the direction the player is moving towards, the first number is the base sprite (if it's the duck then it's 0, if it's the rabbit then it's 1) and the second number is the "holding item" animation (where they put their arms up).
This is a really good way to manage animations and such in Construct 2 because you could set a boolean or a variable to the sprite name. For instance, in my game I have (set player animation to: player.direction & whichPlayer & isHoldingItem).
I guess I could make it a little better by using the angle instead of "up", "down" and etc, but it works like this so heh.
Got so much done in so little time today!
- Found a way to have the same tilemap object created 3 times for each layer;
- Fixed left/right doors;
- Map now only displays rooms you've been to;
- Map only shows up when the player holds TAB;
This week I'll begin adding more items and enemies, after I'm done re-doing the basic tilemaps.
I'm still trying to figure out a good way to use the same tilemap 3 times (top, collision and bottom) but picking the right ones is really awful...
I've managed to do it but I would have to have 3 different tilemap objects and I'm sure there's a better way.
Won't be able to work much on my game this weekend but I was able to fix some bugs and began working on a way to import 3 different tilemaps for each screen - a top tilemap, a collision one and a ground one.
I've decided to go with random room generation instead of making the maps by hand. I had the code basically done from a prototype I worked on almost a year ago, so I decided to implement it to see how it would look. Basically I just have a list of the tilemaps, store them in an array then set them based on their exits. It's kinda like The Binding of Isaac since the rooms aren't random, there's just a list of pre-existent rooms and I just set them accordingly. This is kinda cool but I hope it doesn't become too complicated for me later.
My plan is to have the tilemaps load when the level starts, but not the items. I'll try to load them as the player walks into each room.
edit: I'm aware of the door bug btw, but it's intended since i haven't made the events to check if the player left the left/right side of the screen yet
Finally 4 in a row!
Today I began working on the item-throwing. It looks OK but there's a bug where, sometimes, if you press the throw button while the item you're throwing is still in the air, it goes back to you. I think I know what's the problem though- it appears it only happens when the item you've thrown lands next to another character. The way it works right now is that whenever you press a button, it checks to see if there's an item next to the player character and since both players are the same player object...
Honestly, this project is beggining to scare me a bit. It's my first time doing a top-down game and I'm not the best C2 programmer.
I've rewrote part of the code so now both players are the same object with different animations. I've come up with a great way to have the same blocks of events for all the players too, so there's only a few lines of code for movement.
I had some trouble making the screen scroll though but after some crazy object picking it now works.
I still need to fix the digging animations for each player but so far everything is looking great. After I'm done with this I'll begin working on each screen. I'm still not sure if I should add the tilemaps manually in the same layout or if I should make them load when the player changes screen. The former is MUCH more work but if I did it right, I would be able to make a level editor of sorts. Still, I'm not sure it's worth it...
I've been thinking about how to handle more players in the game so instead of programming the game the "easy way" (by cloning the player object and copy/pasting the same events while changing the objects) I'm going to do it the right way - having the same player object with different animations depending on which player it is. This way I can have the same events for all players, and if I want to add more players later (maybe 4-player co-op) it won't limit me.
It shouldn't be too hard. I'll use a variable to store the player's controls and store the keycodes on a TokenAt.
Here's a small changelog:
- Implemented the second player (still missing the "walking up" sprite)
- Implemented screen scrolling effect
- Implemented a default position when players enter the next screen
- Like Goof Troop, you have to dig twice to make the holes full sized
The way the game works right now though is pretty simple, though. I will have to put all the tilemaps directly in the layout and have the objects load when the player walks into the tilemap that they are.
Right now the game is using 4 different tilemap objects - one for the floor, one transparent for holes, one for the collision layer and one for the top layer. I've tried loading tilemaps from json while in runtime in C2 before and it was pretty, so I decided to have all the tilemaps already drawn on the layout and have the player just scroll from one to another.
D'oh, only 2 days in I totally forgot about this.
I'll try starting over then. My mock-up currently looks like this. Once I'm done with it I'll begin making a prototype.
Forgot to mention - the grass on the left is the old grass, the one on the right is the new one. Might still change it so the dirt looks like a pathway or something.
I spend every weekend away from home, but this one I completely forgot to bring my laptop charger. Just so I would keep the streak up I wrote down every idea I have for the game I'm working on. I'll probably change most things as it became WAY too complicated and I want this to be a small project - well not exactly small but I want to be able to complete it in 6 months or less.
Here's the write up:
basic ideas: - Tower with 100 floors (+20 hidden maybe) - player must grab all treasures in the tower to beat the game 100% - gameplay based after Tower Of Ki, but top down like Goof Troop - Tower does not follow floors directly (eg 1-2-3), sometimes it will skip a floor (eg 1-3-4) - There are hidden entrances to these hidden floors - game starts in the first floor - player must go up each floor while avoiding traps and enemies - player can find magic shops (???) where he can spend his money - currency is cruzeiros symbol - items: - 2 different item types: equippable and passive - 4 passive, 4 equippable - items have levels (up to lvl3) - player can upgrade items using rare upgrade stones(candy? magic sand? baguette?) - upgrading items add/change their effects Item list: Equippable -Shovel -Bomb -Zarabatana (blowgun) -???? Passive -Map -Sneakers -Goggles -??? tentative ideas: - a new theme every 20 floors (120/20 = 6 different themes) - a way for the player to "warp" between floors more easily (maybe a warp every 10 floors) [note: another idea would be having no warps at all - the player would have to beat the game then go back to find other treasures] -player has to go back to his car(?) to change items
My first streak club post!
I've began working on this new game today, based on a game I made for GBJAM3 that you can play here:
I want to expand on this concept and add co-op so it becomes more like Goof-Troop for the SNES with some puzzles mixed with action. Unfortunately no online co-op though because I'm using Construct 2 and I couldn't get the code to work properly without a massive ammount of input delay, which would never work with this kind of game.
For now I'll be working only with mock-ups. Then I'll ditch the original game's code and rewrite everything because it's a complete mess since I had to make the whole thing in less than a week.