Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Rocket Fist

A topic by Bitten Toast Games created Dec 01, 2015 Views: 4,443 Replies: 27
Viewing posts 1 to 20 of 25 · Next page · Last page
(+7)


Super excited about the new forums! :D Gonna use this space to talk a bit about the development of my game Rocket Fist, where it came from and where it's going.

It's going to be a long story though!

It all started in february, after making ton of small jam-games I've been planning on making something more complete and with a longer dev-cycle. I was pursuing a masters degree in Digital Media and in one of the projects we were working on we were trying to come up with games for the PS Vita that made good use of it's physical interface. I was doing lots of small prototypes in the vita and had the idea of making a 1v1 game in which each player held one side of the device. It didn't really fit the project premise, but I wanted to try it ou anyway since I never saw a game doing that in the vita.


And that was the first ever version of Rocket Fist. It was just some spheres in a environment made of cubes throwing little cube missiles at one another, and even at that stage it was already pretty damn fun. Each player only had one button and one analog stick to play with, it was simple and addicting. I started playtesting with my classmates and it was a success, everyone I introduced this to would play for a long time and would have a hard time giving it back.


I then decided to try it with more people, I added controller support and made a PC-version with a bigger level and 4 players. I had only spent about 5 hours in the game and me and my friends would play for hours. At that point I was sure that was the one, the project I should pursue to be a long-term commercial project.


The game still didn't have art, or a concept around it, I thought of several things like Killer Cupcakes throwing forks around at each other and other crazy ideas... Eventually a friend playing the artless spheres/cubes version said: "Oh, I really like those little robots throwing arms at each other, it's so cool!" And I was like: "Oh yeah! That's totally what they are! Little robots throwing arms at each other! That's what I was thinking about all along!".


My favorite art to make is lowpoly cartoon, I think it's pretty and quick/easy to make, so I just went with it.


In about a week I had the initial art in place and working. At this point some developer friends of mine were mentioning that it's not a good idea to release something multiplayer only, that most people play alone and they won't want to play a game that only has a multiplayer mode. I listened to them and started working on a procedurally generated dungeon-crawling mode of Rocket Fist, which was a terrible idea.


I even got as far as making a boss (The boss was cool though, I liked making the boss <3)



After 2 months of trying to make the singleplayer fun, it was getting farther and farther away from the original fun game me and my friends loved. It just wasn't working out, It was a hard decision but I ended up dropping it entirely to focus on the multiplayer, I believe it is the right choice.

I figured I should make a Player AI for whenever the player wants to play but doesn't have any friends over, however I didn't really know how to do it. I learned programming by myself without any formal education, so more complex things are really hard for me to make. I tried implementing something with A* pathfinding but the movement was so non-human, it looked totally AI-like, not player behavior.


I was showcasing the game at the Power of Play indie expo in seattle and talking about the AI problem with another developer that made a local multiplayer game as well (Auston, developer of Sportsball) and he was giving me some suggestions on the problem. That's when another developer that was playing the game out of nowhere says "Well, why don't you use Rapidly Exploring Random Trees?". I didn't know it at the time, but that was Casey Muratori from Handmade Hero, he explains to me the basics of rapidly exploring random trees and in the same day I already had a basic player AI working and looking pretty human. Here the AIs fighting each other:


A month after that, in August, we released our greenlight campaign and got greenlit in 9 days! :D

After that I got a new job, and threw all my schedule out of balance, things got pretty chaotic in my life and I couldn't get enough energy to work on Rocket Fist :/ the game didn't get any updates until this november.

This november I changed jobs and got time to breathe again, so I started adding the bells and whistles the game needed to improve it's flow, like a little replay screen between matches and a game over screen with stats on each player.


After all this time, the game only had 2 levels, one for a 1v1 (still based on the same layout from the starting PS vita level) and one for a 4 player battle based of the original one I made in that first week as well... And the reason for that is simple... It's a pain in the ass to make the levels. I spent a lot of time to make them trying to make sure things were in the right places for rotational symmetry and then when I wanted to change something it was super annoying. So...


I decided to make a level editor that does all of that hard work for me. I found a really good tile system for unity (Rotorz Tile System) that came with a really simple runtime level editor example, so I built upon that adding all of the things I wanted to have for making Rocket Fist levels, like symmetry options, lighting preferences and etc. I save the levels to XML so players can actually share levels (I plan on integrating it into steam workshop later on). It's pretty fun to use :) I hope to see people playing around with it in the future.

And that's about it, you guys are all caught up on about a years worth of development (not mentioning the 2 months or so I took a break from the project D:) The only thing I really skipped was all the Online Mode stuff... which is still being a pain in my ass and I'm not touching right now, got most of the main mechanics syncing though (Using Forge Networking), I need to implement the proper game flow into it, but getting the game into a more complete state is a higher priority at the moment.

Will keep you guys updated :D I'd love to hear any questions/comments/suggestions ^^

(+1)

this game looks incredibly cool. i am massively appreciative of games that have one simple mechanic and nail it, and this seems to do just that.

Thanks, I strayed a bit from that for a while trying to make the singleplayer, but now I'm full on just trying to nail that single concept XD hopefully I'll succeed!

Deleted 3 years ago

Thanks :) I found that when the game is local multiplayer things are more fun even with the simplest mechanics D: Social interaction/trash-talk/competitivity is really fun :O

(1 edit) (+1)

Looking good! I remember seeing your level generation gif on, I think, reddit. The characters are cute & I really dig the feel of that boss fight arena. Looking forward to more!

What does the lettering on his fists say? "unclenue"?

(+1)

Thanks! :D I'm thinking of making an arcade mode, with different rooms with player AI using different settings (Wouldn't be like the old singleplayer I was trying to do, would be more akin to Super Smash Bros singleplayer). So I can reintroduce the boss in that mode XD I really enjoyed making him.

The letters on his fists says "Uncle Knuckle", each time you successfully hit him he loses a letter on his fists. When he loses all his letters he dies.


(+1)

Awww Daniel so nice to see you here! I loved your Ludum Dare entry Antidote a while back and can't wait to see more of Rocket Fist!


Thanks ^^ I was actually thinking of making Infection (the one on the gif) my long-term commercial project, I even started working on it when I made the first Rocket Fist prototype and changed my plans lol. One day I still want to further explore the Infection idea.

I'm loving this forum, super clean and with great usability as everything you do :D great job guys!

(+1)

Following this for a while, but can't do harm to say it again, awesome job man! Really like your graphics style.

(+1)

Looks very cool! Loving the title art :)

(+1)

Alright, this week has been quite productive :D:D I finished up the level editor system, now it's possible to pick which level you want to play in. The custom level editor arenas are selectable, and if you do play on them it will open a loader scene which loads the level from XML and batches the static elements to save drawcalls *_* working like a charm. Not entirely sold on the UI for it, will probably change in the future. The level editor also got new music and SFX by Thiago Adamo :D

[IMG]

Another menu related update is that now I added an "OK" and a "Back" button to the name selection. It was super annoying to have your name there already spelled and have to respell it just because… Now you can just mash ok and it will keep the letters that are already there.

[IMG]

Another update that has been a long time coming is the addition of more materials for team-mode. Whenever people on playtests picked same color it was hard to differentiate between them in the team mode because the material was the same (except for green and orange.

[IMG]
I ended up adding some extra colors too. More often than not people would pick the same color without wanting to be in a team, just because there were only 4 colors to pick from… So I added 3 more. Purple, White and Black. Will experiment with them and see if they're worth keeping or if I have to come up with different ones. This does mean I could have a 6 player deathmatch… Not sure I should though :eek: maybe I should test that.

[IMG]

Last but not least, I "finished up" (mostly) the power up system. Powerups now can be spawned, picked up, expired… It still can use more polish, and will need a menu to pick frequency of spawns or even disable specific ones… But it's mostly there and I like it :)

[IMG]

Another thing I added to the powerups after a friend suggested it to me (Thanks Raf!), and this definitely still needs some playtesting to know if I'll keep, is that the powerups are actual physical objects. They can get knocked around by weapons and can bounce of other powerups. This way you can actually throw a "bad" powerup into another player.

[IMG]


Well, that's it for now :) Let me know if you have any suggestions/feedback

Today was a nice productive day :D:) I also got to stream a little bit over at http://www.twitch.tv/danielsnd some friends showed up and we got to chat while I worked :D^^ it was pretty cool, I want to do that more often.


[IMG]

It's always bothered me how little we could notice of the robot details from the regular camera position. I had fixed it on the rocket fist redoing it's art to show off the details more, but I haven't touched the robot's art in a while. So I revamped it's art (from 1k tris to 5k tris) making it more detailed and with a larger gap between panels. Looks better and can see the details more :)

[IMG]

During the stream I finished up some temporary art for the other powerups I have implemented already, and I finished up the logic for picking and spawning random powerups :D Only thing left is the menu to pick powerups and power up frequency, which I should tackle next.

[IMG]

Since I added the extra colors, I was thinking of experimenting with having more than 4 players, so I made it possible now :D I guess I need to buy more controllers XD

[IMG]

I also made the first of the dynamic tiles I'm planning to introduce :D the conveyor belt. It's pretty funny ^^

I think that's it for now, tomorrow I'll probably be mostly tackling menus D: I need to revamp the game mode menu :/

Today I sent the game to a playtest meeting back home, ran by a group of developers from my hometown. It was nice seeing things that were confusing new users, I haven't playtested the game in a while as well, so there was lots of valuable information.

[IMG]

Something unexpected was the small map I made to record that little Power ups gif last night. I forgot to delete it so it shipped with the build for the playtest, and playtest they did. Surprisingly enough, some people liked the closed-quarters chaotic combat of that really small level. I tested it a little bit with a bot and I liked some aspects of it, I iterated a bit on the design and came up with this one that I felt gives enough opportunity to dodge and escape.

One thing people had trouble with, and this wasn't the first time I saw people confused with this, was the "Press A to join" menu. There were too many options with the buttons to add/remove bots and toggle bot difficulty, so I changed the way it worked to keep things more contained. I also added at the bottom of the menus the buttons that are being used to control it, to clear any remaining confusion.

[IMG]

[IMG]
[IMG]
Other than that, I fixed some small bugs that they found and that was it for the day. Next up I shall make the new level blocks and start making some new levels!

Today I added 2 more colors. Now there are 9 possible colors to choose from, which means… I could actually have 8 simultaneous players…

So I did! I made a bigger level for 8 players and added support for 8 players D:

It is REALLY chaotic D: can't wait to playtest with real people.

So, I made a bunch of new level blocks a while ago, and simply never implemented them. So today I decided to finally implement those. And I made a quick level with them to test them out.

The level is for 2 players only, and it makes you pass through conveyor belts to reach the other side. It's kinda interesting, adds a different dynamic to things, and is has some big open areas. Looking forward to testing it with real people

I ended up also making some changes to the level editor. The brushes were way too small to see. I made them bigger. Also made it so if there are more available then possible to show a scrollbar appears. Plus now there are tabs of different brush types on the top, so you can only see the brushes of the type you want to use at the moment.

In the Level preferences side, I wanted to revamp a few things because I wanted to also be able to pick how many players I want to be able to play this level, so I can limit the levels per number of players (Don't want to support 8 players playing on a level intended for 2 players D:). Also whenever I do implement other modes, I want to be able to make levels that are only available on that mode, so I also made an area to account for that.

I still need to implement the code to make that possible, but it's getting late so I'll do that tomorrow. Plus, I'll be adding even more blocks I made a while ago and never implemented, like the ones I made for the music-reactive level.

This past 2 days were pretty productive. I started by importing the new door art and implementing a dynamic block for the door, looping around the level.

[IMG]

I can't wait to play around with it in real-matches :D The bots don't quite understand how to account for that yet (I have a plan for making them understand, but I don't want to spend time on that right now). The doors auto-setup on the level if they find another suitable door, otherwise if you do place a door that doesn't have a suitable pair, it'll appear with it's doors closed :DSo it can also be a decoration piece even if you don't want the looping when making a level.

[IMG]

One thing that new players have been commenting on is that they don't have enough time to figure out where is their character (Since spawn points are randomized for people to not get too attached to the same starting strategy). So I finally decided to fix that by adding a little "Ready? GO!" moment on the start of the level.

[IMG]

Other than that, I finished importing the new brushes and started working on some levels. The brushes window was way too crowded and it was annoying to keep scrolling trying to find what I wanted, so I reorganized the UI a bit, pulling most of the options to the top and leaving only the camera preview and the brushes on the left, that improved the usability a lot.

I went over and added some new color correction options, which added a bit more of a variation on the looks of the levels. I also recreated the 2 classic levels using the level editor and updated their visuals a bit (or a lot in case of the classic 2p one). Now I only have 2 scenes in my builds (menu and level editor), all the levels are loaded by XML :).

[IMG]
[IMG]
[IMG]
[IMG]
[IMG]
[IMG]
[IMG]
[IMG]


This is how the levels are looking like at the moment. I haven't playtested most of them with people, but I'm going to be doing that this weekend :D (+ Tomorrow I'll take it to playtest with my ex-game design teacher at the CDM ^^ Looking forward to hearing his feedback).

A more in-depth look into Rocket Fist's level editor :D

Ok, so it's been a little while since I wrote a post, and a lot of things and decisions have been happening in the meanwhile so I wanted to update you guys. (Whoever is reading this, you, person who reads and never comments, I still like you, despite your lack of comments, I would like you even more if you commented, made questions, suggestions or something, but it's ok, I get it :o)

Alright, so in november I was hard at work in Rocket Fist again and loving it, I decided I should just polish the game and add everything it was lacking for an early access release, a minimum viable product. I set myself the deadline of December 15th to have something worth of releasing in early access, and as you have seen on the devlog, I worked pretty damn hard at it.

This week was it, the week of december 15. This date wasn't completely arbitrary, this week there were a couple of opportunities to playtest Rocket Fist, and it would be the perfect test for my "Is this ready for an early access?" question. My ex-game-design teacher had some time to playtest with me and give me feedback; My friend Kramer had a house-party filled with game devs which I could playtest with; And last but not least, the vancouver Full Indie Meetup was happening.

The self-imposed deadline came, I had put everything I wanted to put into the game, all of the minimum viable product features I wanted were there, the game had even more levels than I had originally planned for the minimum viable product and people were loving it. The new dynamic levels were a great hit, people loved to stop and point things on the replays, they were comparing kills on the game over, they would change levels between matches and play around with settings, it was everything I was expecting! A lot of the people I was talking to thought I had already released the game, they told me it felt complete and they believed it was ready.

Of course, I found some bugs that need fixing, had new ideas of things I should add, things I should fix, things I should remove (Like this on the gif above, this is one thing I should remove XD even though it looks cool, it plays terribly)… However, the game is ready, it could be out there, it could make an early access release. Then the question came, should it though?

Had a meeting this week with my friends over at Amnia Interactive (They're helping to publish the game :D) and we were pondering whether or not to do Early Access, the pros and cons.

Lots of people don't view early access under a good light anymore, and a lot of the media won't cover early access games. I don't know if I would even get any coverage with Rocket Fist even as a full release, but I know that if I try with it as early access my chances are even slimmer, would be better to make a great first impression with a even more complete game. :/ Releasing in early access would also create a lot of new tasks, like community management, customer support, social media, etc. Those will take away part of my development time, if I don't do early access I would still have those new tasks but it would be at a moment that all the other game tasks would be mostly done, with only bugfixes and minor updates remaining.

I'm fortunate enough to have lots of access to playtesters here. I can get a lot of feedback and testing done without the need for early access, it would be nice to see a community start forming around the game (hopefully that will happen once the game is out XD), but that can also wait, so… I have decided to wait and keep working on the game towards a full release. I have set the date of April 25 as a release date for Rocket Fist, and planned accordingly. I believe I can achieve everything I wanted to achieve with the game by March 15, and use the rest of the time for certification and marketing.

So, what is next for Rocket Fist? If the game feels so close to completion according to playtests, what are you going to be doing from now until March 15/April 25? Well… I was going to write about that now too, but this post is so long I'll leave it for another post :)

[IMG]

I like taking cool screenshots of my games, and over time I ended up putting up a couple of scripts together to help me get the perfect moment for a good screenshot.

As a unity developer, at first I used to try and manually pause the gameplay with the pause button of Unity Editor and manually pick the Camera game object and move it. I had a hard time getting the right angle with the transform tool, in the end my camera was in the wrong place to continue the game and the screenshot wasn't as high quality as I wanted because I was taking it in the editor.

So I put together pauseFreeCamera.cs , which can:

  • Press a button to toggle "Screenshot Mode"
  • Screenshot mode sets timescale to 0 "pausing the game"
  • Allows for disabling certain scripts while in screenshot mode, and re-enables them when exiting screenshot mode.
  • Allows for camera movement using the mouse while in screenshot mode (pan, zoom, rotate) for getting those nice angles. (I got this part of the script from somewhere, but couldn't find the original to credit :/)
  • Remembers the original camera position/rotation and returns you to it once screenshot mode has been disabled to resume gameplay
  • Let's you go to the next frame with a button, for when your pause wasn't exactly where you wanted but close.
  • With one button toggles "Slowmotion Mode" which allows you to use the middle mouse scroll to control the timescale, if getting that perfect moment you want is tricky within the game's regular speed.

That script has made it so much easier for me to get the exact moments for nice screenshots, I love the control it gives me over time and the camera :)

Now for actually taking the screenshots, I made a modified version of Saad Khawaja's hi-resolution screenshot script.

  • One button to take a screenshot at the set resolution.
  • Can pick a number to enlarge the resolution by, for taking high-resolution screenshots, which will produce better sharper results when scaled down.
  • Allows for transparent screenshots by toggling a boolean, for making cooltransparent pngs like this.
  • Saves to a screenshots folder outside of Assets, so unity won't try and use the screenshot as a texture.

With those 2 scripts in place I have a blast taking screenshots of Rocket Fist, playing around and stopping at good moments to find nice angles :D Here are some examples from today's #screenshotsaturday:


[IMG]
[IMG]
[IMG]


Lastly, I made a little 2 minutes video showing the scripts in action and talking a little bit more about then.
Well, that's about it, I hope this helps someone out there how it has been helping me :) If you have any questions feel free to ask.


This past few days I've worked on a couple of things, one of them I want to save for a longer post later on so I won't mention for now.


I've wanted to introduce costumes into Rocket Fist for a long while now, and I finally got around to it, made 5 costumes and made a system to select and use them. The system also colors parts of the costume based on the player's team color.

From a top-view, you can't see the costume as well, but you can still get the gist of it, and I believe that it helps to further differentiate between players (team-matched will be made easier to differentiate with players using fairly different costumes :D)

Now, the player's "press start menu" had several screens to actually get to play, which was kind of annoying. I decided to just consolidate all the choices the player can make there to just one screen there, because most of the time the player doesn't actually want to make all those choices, all he wants to do is press READY and play.

So if you want to change your color, you can change there. Costume? There. Now if you want to change your name, you can press a button there to take you to the old name-selection screen, but since the game remembers the last name you used, chances are you probably don't want to change your name.

I believe that'll make that menu easier to navigate. Looking forward to playtest the game with costumes :D

Oh, a long time ago a friend of mine, Erik, suggested a billiards 8-ball costume, long before I decided to make costumes for the game xD I finally made his suggestion, and it's probably one of my favorite costumes:



Merry Christmas folks! :D HO HO HO CKET FIST!

So I figured it'd be cool to look back at the year of 2015 and what I accomplished/did in my path as a Game Developer.

January

January I got to assist 2 teams in the Global Game Jam, made some quick cuby-art crossyroad style for a team and some Fungus code for another :)

imageimage

That same month Rocket Fist's original prototype was born, as a local multiplayer 2p vita game:

image

April

Made a little procedural action game called Sede for a Game Jam:

image

And made a crazy little game about a gardener sword for Ludum Dare:

image

May

Finished my masters second term project, a cool little PS Vita game called Blanket.

image

Went down to Seattle to showcase Rocket Fist in the Power of Play Indie Expo

image

June

Made a really cool Virtual Reality experience for a class. That one got to be showcased in a lot of different events :D Had lots of fun with it.

image

August

Got to port the VR Experience we made for that class in June to the Vive in a Vive Game Jam.

image

Wrapped up Term 3 project in the masters degree, which is so NDA I'm not sure what I can say about it, this picture was on the public blog so It should be good to share:

image

Lastly, made some quick art for a friend's Ludum Dare entry, Monster Sheep Vs The Aliens

image

Rocket Fist was greenlit after 9 days in the Steam Greenlight :D

image

September

Went down to Pax and got to Showcase the game in the Seattle Indie Expo and in a Pre-pax party at the Facebook HQ :D

imageimage

Started working on my first game industry job, which led to me stopping working on Rocket Fist for a while :(


October

Changed jobs to my second game industry job :D which led me to freeing some time to work on Rocket Fist again, Rocket Fist started to take huge strides toward completion.

image

2015 Review

2015 was a great year for me, I learned a lot, completed my masters degree, oficially entered the games industry and produced a lot of great work! :D I wanted to develop a longer-term commercial project for a while now and this year I finally got it started with Rocket Fist. Today as the year ends I feel way more confident on my skills as a game developer and I'm excited to see what 2016 has in store for me :)

2016

I'm so excited for 2016 :D It has a lot of uncertainty for me, questions waiting to be answered. Things can either go terribly wrong for me, or awesomely right, and I can't wait to see which way it'll go ^^

  • I'm working towards releasing Rocket Fist in April of 2016, can't wait to see if people will actually care/like this game I've been working in so much. Rocket Fist has already taught me so much, and I feel this upcoming year it will teach me even more as I will have to deal with things like Marketing, PR and Community Management :D Not to mention everything that's involved with releasing a game in consoles.
  • As part of marketing for Rocket Fist, I'm hoping to start a streaming schedule. I actually have wanted to do a regular gamedev-stream for a while, hopefully in 2016 I'll make that a habit.
  • The next project(s)… Every now and again I'm daydreaming about my next personal project(s). One thing I know for sure is that I don't want to do it alone. I don't regret making Rocket Fist as my baby project, but I do want to experience sharing more of the project's responsabilities with someone else, I've started talking with someone about possibly making the next project together in 2016 :) I think that'd be a lot of fun.

Well, that's about it for this retrospective :D Looking forward to see what the next year has in store for me and for Rocket Fist :)

Happy new years everyone!

People seemed to really enjoy the post in which I shared my scripts to take marketing screenshots, so let's share another script that I made a long while ago and I always import into every new project I make, my SoundManager script!

It's a thing I've seen lot of necomers struggling with, they come up with this weird solutions involving lots of audio sources all over the place tangled in the code, then whenever they need to change an audio clip it becomes this huge problem. I've heard more than once from sound designers in game jams that they made way more sounds but the programmer didn't have the time to implement it into the game…

Well, if that sounds like something you've experienced, this might help you!

This is the system I use to implement sounds in my games, it allows for:

  • All of the sounds are prefabs inone folder, so it's easy to know where to go to change things later.
  • Each prefab, which I call "SoundGroup" is a group of audioclips, from which one of them will be picked and played at random. A SoundGroup can be one single audioclip if you so desire. This makes having random sounds for the same action really easy.
  • You can also pick a random pitch range for the soundgroup to introduce even more variation.
  • If the SoundGroup is marked as music, instead of picking a random one it'll play them in order as a playlist.
  • For easy implementation of per-level-music if you have a soundgroup on the "Resources\SoundGroups" folder with the same name of a level and that level is played, the SoundGroup will start playing automatically.
  • It uses a built-in pooling system to reuse the SoundGroup gameobjects instead of destroying it every time, that way there's no garbage collection mess while the game is playing :D
  • It uses playerprefs to store and use volume preferences, volume preferences (0 minimum 1 maximum) are then multiplied by the volume you picked on the prefab's audio source :)
  • This part might annoy some programmers but I find it way easier for me… You can call the sounds in the code by using the prefab name (string). However, for the programmers that hate doing that kind of stuff, you can call it with the prefab.
  • I commented the hell out of this script D:
  • Calling it is as easy as: hurtSFX.PlaySound();

Well, that's about it :D I find it really useful for my projects, so hopefully it'll help you on yours as well, you can download it here.

I also recorded a quick video showing how to use it.

Viewing posts 1 to 20 of 25 · Next page · Last page