Lately I’ve been working on a long-term project, it started off as a local multiplayer vs arena, kind of Towerfall meets Pool, in which you only have 1 (bouncy) weapon and have to retrieve it to throw it again. Later on I decided that not having a singleplayer mode would cut off a lot of the game’s potential, as people don’t always have friends over to play games, so I set out on a quest to make it a more complete game.
Along the way I started a devlog, with the goal of having NO-ZERO-DAYS of working, so every day since february I have been writing about my progress in the game that day. That made me feel accountable, I know that some people are actually reading what I write, and that if I miss one day they will know, the rules I imposed to myself is: It doesn’t matter how small of a task you complete in a day, you must at least complete one task.
So that’s my story, I’m now bringing that devlog over here, to spread more the word about the game and hopefully get some feedback on the way
And here is yesterday’s devlog, it’s not always in video format, but yesterday the update was a little too visual to show in text/gifs.
So today I worked on the last attack, I left this one for last because it was the most complicated to create… Well, it had the most parts D:
It consists in a fire puke (particles, lots of particles), which should cause damage if touching the player, and spawn enemies if there aren’t enough enemies spawned already.
I started by creating the particles, took me a while to achieve the visual I had in my mind when thinking of fire puke, but in the end I’m quite happy with the end result of those particles I made an array for them and I’m toggling an “enableEmission” toggle in the code when needed, so they don’t just disappear out of nowhere, but instead smot emitting.
“foreach puke in FirePukes”… Don’t judge my naming conventions XD but yeah, that’s kind of how the actual attack code is looking. It’s a succession of things happening with WaitForSeconds waiting for the next thing to happen.
So, the boss can puke enemies at you, that will both force the player to deal with a bit more direct threat than the boss’s pattern of attacks and will also be a source of possible health-pickups and extra weapons. They’re aggro-able and will follow the player if they pick their scent, while adding them I found some problems on my pathfinding, so I had to reprogram some of it, now if the enemies find a free path to the player (checking a raycast) they’ll simply move in the players direction, otherwise they will use the A* to try and get a free path to the player, that solved a bunch of problems.
For the spawn itself, I decided to use the same spawner I wrote for the rooms, however some of the logic in it involved talking back to the room to tell if the monsters were dead, and give a list of the alive monsters for it to keep, I had to abstract some of that so it wouldn’t require a “roomtemplate” component. That opens up possibilities for making hazards that spawn enemies, or enemies that spawn other enemies, like the boss
Now there is only one thing left for this boss battle to be “done” for the contest… The boss death D: I’ll leave that for tomorrow… I am running out of time though =x I have until 11:59pm of the saturday to submit this to the competition, but saturday I should be already working on Ludum Dare so… D: I gotta finish this up quick, I still have a menu to program!
The game is almost ready for the competition! Uncle Knuckle is now done, all the attacks are there and he properly dies once both hands are taken out. I did a quick death animation that is actually not as bad as I thought it was going to be.
I also got the goal in there and added to his code that when spawning he should close all the doors into the room, and when dying he should open the doors and open the room’s goal.
Now I want for the competition to take the player from that goal beam to a “Win Scene”, so I figured for now the player simply escapes the factory into a grassy happy field, not sure what a robot is going to do in a grassy field but that’s good enough for now XD I got to reuse the grassy field I made for the Infection Game about a year ago.
Now I only have 1 day left, I still have one key feature for the singleplayer that isn’t there yet. When the player dies nothing happens, no continue, no special menu, no nothing. So I’m going to add a cool little scene with player parts on the ground and a message saying press Start to try again or something like that. It’ll restart and generate a new level (tutorial if you haven’t passed the tutorial, regular level if you already have passed the tutorial).
Other than that, I still need to build some sort of main menu for the player to choose between arena or adventure D: and picking how many players for the arena.
Well, that’s it for today, hopefully tomorrow I’ll get this thing done for submission D: Tomorrow is also the start of Ludum Dare, so I’ll be busy with that for the next few days afterwards.
Started the day by fixing a couple little bugs, and adding some extra help for the player to understand that a locked door is a locked door, as you can see by the picture above. Some playtesters didn’t really understand what was up with the blue beams in front of the door, so I hope with this little screen above it it becomes a little more obvious. Once the door is unlocked (Now the keycard also sports an unlocking icon) the icon updates on the little screen. I also added a little screen to the boss door.
Afterwards I went on to a very important gameplay element that was missing, a game over screen with a button to restart the game. I made a broken robot and created a game over scene with it.
Afterwards the theme for the Ludum Dare was revealed and I went into brainstorm mode with my team, since I still have a lot left to do in Rocket Fist for the competition we picked an idea that I could program fairly quickly, I’ll most probably have to do it in one day and a half.
I’ve been procrastinating the menu for a long long time, but with the competition deadline being tomorrow, I figured I should do something better to have on the menu. I decided to try and do a 3D Logo, since 3D is more of my specialty, used maya to create text mesh based on the font and retopologized it, extruding it to give it even more of a 3D look. Soon enough, the logo was born, the first logo I actually liked for Rocket Fist.
I then set out to actually do the main menu. I need the player to choose between the Adventure mode and the Arena mode (Even though the Arena mode is waaaay more fun right now, not sure if all the judges will be able to have other people around to play with.) Using the same assets from the logo with some modifications, I made a scene with the buttons.
Now for tomorrow I need to program the button selection with joysticks (and mouse, why not), and make another scene for the arena player amount selection. Tomorrow is the LAST DAY to submit the game to the competition, so I really gotta get this done before really putting time into Ludum Dare.
:o it was way too many changes/improvements for just one gif, that’s why I figured a video would be better to show, hopefully by now you managed to watch it I guess XD
Thanks still far from done though xD despite having already submitted to this contest, I want to make this a long-term commercial project.
Alright, so yesterday I submitted Rocket Fist to the Student Game Competition, today I decided to not work on it and do just the Ludum Dare instead. If you don’t know what Ludum Dare is, you can learn more about it here: http://ludumdare.com/compo/ It’s a huge Internet-based Game Jam.
The theme of this edition is: “An Unconventional Weapon”.
I got together with my team in Flock Draw and after a long brainstorm we came up with the idea of a pacifist sword that just wants to do gardening. In this case you’re controlling this sword, rolling around in a garden. However there are a couple of animals roaming around and if you’re not careful you might hit them and enter a EXSWORDSISTENTIAL CRYSIS!
But yeah, started making it this morning, this is what we got so far:
Tomorrow I need to add some win/lose scenarios. We also want to have some gems and such coming out of the bushes as we cut them (<3 Zelda), for the player to collect and score based on. Maybe a store to spend them and improve the sword’s speed, jump and etc. But not sure I’ll have the time… We’ll see ^^
Interesting concept! Sounds like a Honedge (A gen 6 Pokemon) decided it wanted to do gardening… And failed in the process! In case you wish to know, I pulled up a Pokedex page on this thing: http://bulbapedia.bulbagarden.net/wiki/Honedge_(Pokémon)
And Ludum Dare? I might re-furbish one of my experimental projects and pop it on that…
EDIT: Just came up with something really funny… Might pop a WIP link in soon!
Oh yea… Obviously, the comp’s over, and I couldn’t submit anything…
But what I had thought of? AN accidental cooking accident starts off a series of wars where the primary unconventional weapon is, guess what? COOKING IMPLEMENTS! And of course, the classic frying pan makes an appearance in the middle of battle!
Anyway… that was as far as I got. that and a makeshift frying pan made in blender.
So today I took the games to Full Indie, a cool Indie Devs Meetup that happens over here every month. I showed Ex-sword-stential crisis to a couple of people but as I was head to get my head back into Rocket Fist mode, and Full Indie always gets me pumped and full of ideas, I got some people to play the singleplayer mode (but most of the time… multiplayer, because it’s way more fun and more people can enjoy it at once XD)
So, I’ve been struggling with the singleplayer for a while, it’s nowhere as fun as the multiplayer and sometimes it actually feels a little slow/boring. So I wanted to see some people playing it while I watched to figure out what kind of things I could do to improve their experience. I also talked quite a bit with a friend of mine that was there (the guy in the first picture), he’s an awesome game designer and always has great suggestions.
One thing he noted was that one of the greatest feelings is when you get to bounce weapons from each other in a cool way, and that’s also something I love about this game, since I first implemented it. With the scrap weapon, the weapon you get with most abundance in the game (you get it by dash bumping into an enemy, so you have a pretty infinite supply of it), that is kind of lost. The weapon is a single-use only, you throw it, if you miss an enemy, it sticks to a wall, and you lost it.
Losing the weapon and having to re-do a dash bump to acquire a new one was quite frustrating, sometimes it’s hard to aim and a battle would be way longer than needed just because you keep missing the shots by little. So the idea is, you can still retrieve it from the wall, the weapon will only be destroyed if it actually hits the enemy.
So I went back and changed the code for this change to work, and when I tested something I didn’t quite foresee happened. When I threw a scrap weapon and I hit a scrap weapon stuck on a wall, it bounced back. And while I didn’t foresee that happening, it actually felt good to me. It had a similar effect ot the weapon where weapons bounce and I feel good for doing something cool, so I think that is part of the solution
I have some more ideas on how to improve the scrap weapons, one of them is to have the upgraded scrap weapon explode into it’s smaller unupgraded pieces when hitting a wall, and those pieces come away from it with enough speed to damage a nearby enemy, which would be one extra reason to try and upgrade your weapon (by picking more scraps while already holding a scrap). The other idea is to add a little explosion when a scrap-to-scrap collision happens, so you could throw a scrap into a bunch of scraps and cause a cool chain-reaction with scraps flying to different places.
Well, but those will have to wait until tomorrow, I need some rest! I know I only took a 2 day break from Rocket Fist, but I’m so pumped to work on it again
Impressive! Love the scrap weapons; I actually have a similar “multiple little pieces” weapon in my mobile arcade racer! (Mine works by splitting into three after hitting an opponent, with one going after the leader and the other two picking any target they wish. ;))