On it :D
Recent community posts
Voice Chat is extra cost on the servers, and I figured it could get very toxic Xbox-kids-talking-about-your-mom kinda thing if added. Not sure about it.
No plans for community map making at the moment, creating a level editor is a huge huge task.
Other than Audio/Music it's just me.
Nice, glad to know you guys are enjoying it ^^
Not sure about Murder mode but I like Hide and Seek Mode XD
Hopefully the spawn on top of a wall issue will be fixed on next patch. Had lots of problems with spawning since the beginning of the game, but now I think the spawn is almost working perfectly :D
Hey there! Rewired guy uploaded a new version of rewired that might solve the problem. I just updated the Linux build with it (without changing the version number). Let me know if it fixes it! Thank you so much for helping find and figure out this problem :)
Damn :( sorry to hear that, I don't have a linux install so I don't usually get to test the linux build, just hope that it works...
So here's what I did, I updated the controller thingie I use (It's called Rewired, for Unity). So try downloading 1.4.5 and please let me know if the problem was solved.
The second thing I did was cross-posting what you posted here in the Unity Rewired Forums, to see if the creator of Rewired knows anything about this. Here's the link to my post: http://forum.unity3d.com/threads/rewired-advanced-...
Welp, thanks for letting me know of the problem ^^
(Sep 14 2016)
- The game now remembers what region you were playing in when you go back to the main menu.
- Fixed a bug that made the shooting behave weirdly if aiming at stairs.
- Added "Was killed by the grinder" messages
- Now if you die to the grinder right after being shot by someone that person gets the kill.
- Yet another attempt to improve on spawning system (Should fix grinder spawns)
- Reworked Room Listings UI to make it easier and more obvious how to connect to different region servers.
- Changed the message when there are no rooms available to reflect the current connection status on room listings.
- Implemented a couple of cheating detection methods.
- Added SFX to Reload Weapon, Tape Interactions, Juggerbox and King of the boxes
Version 1.5.1, 1.5.2, 1.5.3:
(Sep 12 2016)
- Several last-minute bug fixes for the launch day.
(Sep 08 2016)
- NEW TEAM MODE Capture the Tape
- You can now choose Match Duration when creating a room.
- Boxcutter now makes you jump higher while using it.
- Introduced Optional Bad-words filtering.
- "Customize variables" is now it's own game mode instead of a toggle.
- Reorganized and improved the Match Creation UI
- A Chat-icon now appears in the center of the screen if you're typing a message. (Some people thought they were bugged and couldn't move but it was just because they were typing a message by accident)
- While playing in team-mode, changed Healthbar color to match team color. Also added a team-colored circle over team-mates that is visible through walls.
- Introduced Spam-prevention to the chat.
(Sep 03 2016)
- Increased invulnerability after spawn from 1 to 3 seconds.
- Falling environmental boxes will jump up if you're underneath them (Fixing an issue with getting stuck underneath a falling box).
- Reworked the whole spawnpoint picking code to try to make sure that: Players wouldn't spawn in the same place; Players wouldn't spawn on top of walls.
- Now the player can switch to the knife in the middle of reloading, effectively cancelling the reload.
- Added Team Deathmatch mode. (Haven't tested much =x)
(Sep 01 2016)
- Fixed an issue with the player spawning outside the map with the new "real random" spawn points.
- Fixed an issue with the box falling through the floor after death.
- Fixed an issue with the box sliding after death.
(Sep 01 2016)
- Made a way to pick maps when creating a server
- Possibly solved an issue with the jump in lower fps machines
- Made a way to pick server region for less lag for non US people
- Changed base sensitivity when using Gamepad.
- Added Full-Screen/Quality/Resolution to the in-game options menu.
- Spawnpoints are now completely random, to avoid the problems with spawning in same place.
- Separated kill messages from chat messages
(Aug 30 2016)
- Fixed issue with the Room view list not being scrollable
- Added a way to filter the password protected rooms out of the room list.
(Aug 29 2016)
- Introduced Gamepad Controls
- Visual indicator of how to knife/pistol
- Reduced hurt shake from 0.9f to 0.5f
- Boxes are now invulnerable for 1 second after spawn.
- Now when first entering a new map you have to either press fire to spawn or wait 3 seconds to spawn. This is an attempt to solve the problem with people spawning in the same place when changing levels.
- When respawning the game now shows a random tip to players
- Fixed an issue with the smaller map where boxes would fall through floor when dead
- Made second map's rooms larger
- Added MasterClient-only chat command "/rotatemap" to load the other map.
(Aug 28 2016)
- Radius on knife raised from 0.35f to 0.55f
- Distance raised from 0.5f to 0.75f
- Fixed issue with king of the boxes area not updating right away for the third player
- Added visual representation of the king of the boxes area that is visible through walls
- Fixed the issue in king of the boxes with the dead player still counting as a contester.
- Super box bullet damage nerfed back to 1
- Raised the ceiling on level 1, added ceiling on level 2
- Less boxes on the new map
(Aug 27 2016)
- New level, right now there isn't a way to pick level, it changes every match. Will make a way to pick levels later on.
- Replaced Fire Tag mode with Super Box mode (Super box, on fire, more health, is the only box that can get points. If you kill it you become the super box, you get a point for killing it and you can get points for other kills)
- Color-coded the pings in the tab-list
- Added King of the Boxes mode. A sphere shows up as an area to be defended. If there is only one player inside that player gains points. (Sphere turns green). If there is more than one inside the sphere turns red and no one gets points. Sphere changes locations every minute or so.
- Fixed bug with the chatbox staying active when changing levels
- Fixed visual bug with First person mode.
- Fixed bug that allowed players to enter password protected rooms by clicking on Quick Play
(Aug 25 2016)
- A new random box appear in the level every 15 seconds.
- Rooms now can have passwords
- Movement speed when holding a knife increased from 110% to 125%
- You can now turn off the TV screens in the options menu.
- Fixed spawnpoints so you don't spawn stuck anymore.
Alright, so this past week I've been hard at work on the Level Editor, I wanted to be able to create game logic with it so making the Singleplayer levels would be way easier :)
Because showing is easier than writing, here's how the process of making a singleplayer level is looking like:
I made a longer video better showing and explaining those new features ^^
And here is how the first 2 tutorial levels I made are looking like :D
It all started this thursday when Phaze Pyre, one of the friends I've sent a test build to, told me the game was freezing his whole computer when he booted it up. That is a big problem and I couldn't reproduce in my machines, however my machines are pretty powerful so it's hard for me to find those kind of issues.
I started profiling it, and as I was in fact doing a lot of the scene's setup right on Start there was a huge spike on the first frame. I was also reading and parsing all of the XMLs for the levels in that first frame as well, which in retrospect was a bad idea.
So I went on to change the way the level serializer works to make it read the XMLs over several frames, spacing it out. I also changed the way the first scene works so it adds one element at a time over several frames, which should also mitigate that initial spike. After that the game started loading way faster than it was loading for me. I wasn't seeing it hanging before, but there was some delay between starting and "actually starting".
Another point that could be problematic is actually loading the gameplay level, as a lot starts at the same frame. I remember seeing a loading screen in Skyhook so I asked WaseQazi about it and he pointed me towards this gamasutra article about it
After several hours, I got the game working with a loading screen and starting potentially heavy stuff over several frames, and even though I wasn't having hanging problems before, the whole thing felt more responsive and lighter! I then ping my friend again and send him a new build. He then tries it and… It's still hanging. At this point I'm starting to get desperate, it doesn't make sense that it's hanging, after slamming my head against the wall a few times I decided to do what I always do when debugging something, turn things off one at a time until I find the culprit. My first suspect was the XML level serializer, and when my friend confirmed that it was still hanging without it, I was a bit relieved. However when I turned off the inputmanager (which interacts with the gamepads) he wasn't seeing hanging anymore. D: That could be a big problem since A LOT of my code relies on that. He told me that he was using DInputMapper to use a PS4 controller on his pc, so I asked him to turn that off and try it without it. No more hanging. He then turned it on again and… NO MORE HANGING!
So… In the end… All of this was made to solve something that wasn't actually a problem on my part, but on some third-party stuff that just needed a restart or something. Well, at least the new loading system and the spaced out start calls did make the game lighter and more responsive, which will be specially good for the consoles :)
This actually caused a lot of other problems in other parts of the code, since a lot of it was relying that certain things would happen on the start and when a certain thing started the other would already be there… I believe I have fixed all the bugs that caused, but it did take quite a while, according to toggl I've spent about 12 hours on this.
Other than that, which took a lot of time to deal with, I added a little "invisible powerup" which is really cool ^^ it will make you and your fist invisible, so you can potentially surprise an unsuspecting player.
Well that's it for now :) Next up I should be working more on the singleplayer. I need to make new enemy art, so the enemies can look different, then make some more enemy behavioral variations for it.
Today I made some advances with the Fire Hazard during the stream. I implemented it into the Uncle Knuckle projectile attacks so the projectile leaves a trail of fire hazards behind it :)
I like the trail idea so much I decided to make a powerup out of it. So I changed the way the firehazard works to not affect health actors of the same color of it, made a method to tint it to the player's color and made it so if you have this powerup you'll constantly spawn a trail of fire hazard behind yourself that will affect players of other colors.
I've been meaning to do powerups that affect the weapons for a while, so I finally added a system into my powerup system to do just that :) The weapons on their shoot method look for powerups currently in use by the player with the shooter ID and hook into that powerup, whenever it goes harmless again or changes color the powerup gets unhooked and the weapon goes back to normal. I have used that to also add a trail of fire to the fists thrown by the player with that powerup.
This opens a lot of cool powerup possibilities that enhance fist functionalities :D I also hooked up some events like Hit wall and Hit other fist into the powerup so I can make use of those in powerups as well… Possibly a fist that explodes in AoE damage when hitting walls?
Another thing I did a while ago but haven't showed you guys is the new singleplayer game over screen xD I also added a little glitch effect in it, I think it looks so cool :D
Actually, I said I was going to write a longer post about a new Rocket Fist thing and then I never did… Well, that thing is the Singleplayer D: I know what I said before, but… this time it's different, I swear! I believe my mistake before was that the singleplayer was going so far away from the multiplayer, a lot of the time you didn't even have a Rocket Fist with you, the enemies were so different and honestly, boring. A lot of it was running around empty rooms backtracking, the whole thing was a disaster.
So I made a little prototype of this new singleplayer idea, it's way simpler and plays pretty much exactly like the multiplayer does, I'm even reusing the multiplayer AI for it :) Pretty much you go from arena to arena fighting a team of enemies that are against you, they also use Rocket Fists (I might make some special ones that use other things as well) so there are always weapons around. When you clear the room a trapdoor opens to the next arena, and you fight your way down different sectors of this building. Each sector has a boss you need to defeat to unlock the next sector. I think it can be actually pretty fun :D
Now I need to make new enemy art, looking back at the old ones… I don't like any of them :/ Well, that's it for today, this was a long post D:
Alright, so for 2016 I set as a personal goal to stream at least twice a week on a regular schedule! I picked mondays and wednesdays from 3pm to 5pm PST!http://twitch.tv/danielsnd
I just had my first stream yesterday afternoon and It was a lot of fun :D
One of the people who reads my devlog (Or maybe the only one that reads the blog, since no one else comments on anything ;_;) actually turns out to be a really cool developer from another local multiplayer game called Skyhook, we talked a bunch and I ended up watching his daily stream. He gave me some tips on how to setup my stream better with Streampro, which helped me a lot :D Now my stream looks really cool with a custom RocketFist themed overlay.
I'm not sure if it's because I streamed earlier in the day, or if it's because the overlay makes it look more professional, but there were a lot more people on the stream than usual and they were actually chatting with me and asking questions, which made the whole experience way better :) I'm now looking forward to the next stream.
What I made on the stream yesterday was a little fire hazard for Rocket Fist, so the player can catch on fire when it touches fire. It adds random input so it's harder to control your character while it's on fire :D
I also integrated it into Uncle Knuckle's firepuking attacks.
Well that's it :D If you'd like to always know when I start my stream make sure you give me a follow on http://www.twitch.tv/danielsnd
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.
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 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 :)
That same month Rocket Fist's original prototype was born, as a local multiplayer 2p vita game:
Made a little procedural action game called Sede for a Game Jam:
And made a crazy little game about a gardener sword for Ludum Dare:
Finished my masters second term project, a cool little PS Vita game called Blanket.
Went down to Seattle to showcase Rocket Fist in the Power of Play Indie Expo
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.
Got to port the VR Experience we made for that class in June to the Vive in a Vive Game Jam.
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:
Lastly, made some quick art for a friend's Ludum Dare entry, Monster Sheep Vs The Aliens
Rocket Fist was greenlit after 9 days in the Steam Greenlight :D
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
Started working on my first game industry job, which led to me stopping working on Rocket Fist for a while :(
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.
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 :)
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!
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:
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
- 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 Here are some examples from today's #screenshotsaturday:
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.
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 :)
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.
I can't wait to play around with it in real-matches 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 So it can also be a decoration piece even if you don't want the looping when making a level.
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.
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 .
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 (+ Tomorrow I'll take it to playtest with my ex-game design teacher at the CDM ^^ Looking forward to hearing his feedback).
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.
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.
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.
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.
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 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 ^^ it was pretty cool, I want to do that more often.
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
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 Only thing left is the menu to pick powerups and power up frequency, which I should tackle next.
Since I added the extra colors, I was thinking of experimenting with having more than 4 players, so I made it possible now I guess I need to buy more controllers XD
I also made the first of the dynamic tiles I'm planning to introduce 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 :/
Alright, this week has been quite productive :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
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.
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.
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 maybe I should test that.
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
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.
Well, that's it for now Let me know if you have any suggestions/feedback
This definitely brings back memories! XD I love the cleanliness of the graphics, and those colors are so nice :3 The Jello enemies remind me of porings... ah sweet MMO memories...
The voxel engine by itself already looks a lot of fun to play with :D on top of that being able to see AIs populating that world and playing in it, it's amazing!