Hey everyone, heres a quick video showing some of our composition process for the music in CC3. Hopefully the sound is ok!
With the recent release of new iPhones and iOS 8, we found ourselves in the position where we had to update our iOS games. If we didn’t, our apps would crash on boot, and even if they did run, we wanted to make sure we custom laid everything out for the new iPhone screen sizes. We had wanted to release updates for Cally’s Caves and Cally’s Caves 2 for a long time, but held off because we weren’t 100% sure how to do it, and updating player save data was intimidating. Faced with the prospect of having our apps pulled, we buckled down and got our updates done. Our process was probably unconventional, but we thought we would share how we did our updates for iOS without losing players’ save games in the process. So, let’s begin.
The way we handled saving variables across play sessions in Cally’s Caves and Cally’s Caves 2 was the most basic way you can save things using Gamemaker: Studio. We created an .ini file and had the game save variables that we wanted to keep saved in the file. For example, say the player levels Cally up and increases her max hitpoints to four. We don’t want that player to come back for their next play session and have their max hitpoints be three, right? So after they level up, we open the .ini document in a line of code, save that variable (global.maxhp = 4), and then close the .ini document. The next time the player starts the game, the global.maxhp value is read from the .ini document, so they will start with 4 max HP. It’s a really simple system that you can find in the GM:S help.
Happy Halloween! To celebrate the GMC Jam 16 – Halloween Jam, Cally’s Caves 2 artist 0HK0 has released “Razor Treat.” Razor Treat is a horizontal schmup with 0HK0’s signature art style and an awesome soundtrack from his brother, Facefuzz. It was made in a single day, using Gamemaker 8.1 and FL Studio. You can check out Razor Treat in this thread.
We just released our first trailer for Cally’s Caves 2… Here it is!
Putting something you crafted into someone else’s hands is a harrowing experience. When that person’s gaze locks onto the object you created, a shift happens. What was once your private project is no longer your own, and a singular experience becomes shared one. It can be amazing or terrifying, but either way you will walk away from that shared experience with an idea of how you could have approached your creation differently. The beauty of game development is you can choose to incorporate the feedback you gain from sharing your creation with others before your product is finalized. This is why we have dedicated a two-month period to beta testing Cally’s Caves 2. In today’s Dev Diary we will discuss how we have approached the 8-week beta test period of our game’s development, and what we hope to gain from putting Cally’s Caves 2 in the hands of playtesters.
We already posted on some of the thoughts behind the level design in Cally’s Caves 2 a while ago. In the time since that blog came out we’ve made a number of crucial decisions regarding how the levels will be laid out. Also, the overall level design is such an important part of developing a 2D game that we figured it would be worth another post to discuss some of the decisions we’ve made. We’ve already written about how we approach tutorials, the smaller level sizes, and increasing density of objects in a level, so this time we are going to focus on the smaller things that go into making a level for Cally’s Caves 2.
A good 2D platformer should always be fun to run and jump around in. Player movement mechanics are incredibly important, and part of developing player movement is figuring out how the player’s interaction with the environment works. If the player stands on a brick block, they shouldn’t fall through it. If the player runs into a wall, horizontal movement should stop. Basic stuff, right? But if that’s all there is to the game, it might get a bit boring after a while (although plenty of games don’t, and are awesome). Introducing hazards allows a designer to inject some danger into a level design, which helps keep the player on their toes. It also increases the reward value for a player when they beat a level. Would a player feel more satisfaction if they ran down a level that was designed like a hallway, or if they navigated through a maze-like level filled with spikes and lava pits? We believe the latter provides more opportunity for player satisfaction, although there isn’t an objectively correct answer.
One of the greatest challenges developing Cally’s Caves 2 is how to go about designing 100 levels while keeping the game fresh. Cally’s Caves had 27 levels, not including boss rooms or the challenge “subrooms.” At the time, it seemed like a good idea to differentiate each level by the use of music, tile sets, and area names. Every time you entered a new level, a new song would start playing, and every five levels the environment sprites would change. While this worked to a certain degree, a large number of players played the first few levels and then gave up (either out of frustration at the difficulty, or just not enjoying the game). This unfortunately led to a number of the levels and environment sets never being seen. In retrospect, we may have been better off if we had changed the tile set every level and just rotated the four sets that we had. Hindsight is 20/20, and having that hindsight doesn’t affect the product we already released. It does, however, allow us to approach a sequel with the lessons we learned in mind. Hopefully, using the lessons we learned, we can make the levels in Cally Caves 2 do a lot more for the player.