* * * A brand new adventure awaits! Choose a hero and start your journey through an infinite world that spans from lush forests to deepest dungeons. Clear areas from enemies, collect loot and see if you can get the highest score! Simple two-tap control scheme to control your hero. Power Heroes offers hours of retro action and contains references to familiar video game franchises of the past decades. Key features: ● Unique action packed gameplay ● Easy and fun to play, but a challenge to fully master ● Endless and random experience each time ● Numerous areas to explore in various environments ● Choose from different heroes with unique abilities ● Upgradeable power-ups ● Cute pixel art that tickles your retro senses * * * Hi everyone! My name is Kari and Im the single developer of Power Heroes. The game sets you in an endless world filled with monsters to kill, areas to explore and gold coins to collect. It is simple to play, but it also offers long-term goals to achieve. I'd like to keep in touch with my potential audience so please feel free to ask any questions or give comments. I will post any relevant progress & news on the game here on TouchArcade and on my website at www.kortesalo.com. Smaller day-to-day developer activities will be reported on Twitter, so be sure to follow me there too. Thank you! Last but not least, few in-game screenshots: Early gameplay video running on iPhone simulator: Subscribe to the TouchArcade YouTube channel
Thanks for the comments! The game will be released shortly after development on it has completed. On a more serious note, I'm hoping that time will be before year's end.
First Development Update! (Well, technically this is not true as I explained in a post on my website) Upgradeable chests Chests are now an upgradeable item in the shop. Upgrading chests increases their chance to drop more coins. Additive sprite coloring Cocos2d only supports sprite tinting by reducing RGB values from their original. I wanted enemy sprites to flash white when they were hit so the native Cocos2d implementation was not enough. Luckily there are guides on the web to implement additive tinting, like this one: http://digitallybold.com/314/cocos2d-additive-sprite-color-tinting. Character screen update The character select screen is now looking something like this: There is one hero available (the knight, our starting character) while three "?" heroes are still locked. One of these seems to be unlockable by spending 1000 gold coins and the others by collecting specific items: cherries and fried eggs (don't ask why). I think I will move the shop button from the title screen to this screen. I also need to add a coin balance and to do that I have to move things around to make it fit. Other stuff I have spent a lot of time on a basic upgrade/unlock framework so that it would be flexible to add more stuff. It's still not perfect and needs more work, but it's better than before.
Another week has passed. Let's have a look what I accomplished. Hero select almost complete This is now an updated version of the character/hero select screen I showed in the previous post: I managed to fit in the coins and the buttons at the bottom of the screen. I was also wondering if the hero names should be visible prior to unlocking them? When you have decided on your hero of choice, you have an option to increase the hero's life hearts before game start. The "PLAY!" button becomes available at this stage. Improvements under the hood In the course of ongoing improvements to the game code, I restructured my hero class and the magical part where level transitions happen. These improvements can be time consuming tasks that are not visible to the player, but they are necessary from the developer's point of view as they help code maintainability, ease of expansion and so on. Hero class Initially the hero class was pretty dumb and acted as a container for hero's basic data. Then I added a feature to unlock heroes by collecting a number of items in the game, and this had to be included in the class. With each unlock a hero specific item becomes available for collecting in order to unlock even more heroes later in the game. At this stage the item drop system got involved in the process. So it expands pretty quickly. Level transitions Levels are divided into different themes like forest, desert or winter. I have a counter which is incremented after each level and when that counter reaches a pre-determined value, the game progresses into the next theme in order. Transition from level to level (or area to area, depends on what you want to call them) happens normally by scrolling, or in situations where scrolling does not really make sense (entering buildings or a dungeon), by fadeout/fadein sequence. This worked perfectly fine. However, the theme shift did not have its own transition and relied on the logic built around level to level transitions: scroll or fade. I felt that scrolling from, let's say, forest to desert was too harsh because of the different graphics/tiles, so the level change engine (sounds fancy) now always forces a fadeout/fadein transition in these situations. Works like a charm! The system still has one issue that I'll need to tackle. More on that soon.
This looks like it is shaping up pretty nicely. I'd say that it's fine to have the class names "revealed" even though they are not unlocked because that will let the user know what they are working towards. Another way to do it might be to have some sort of silhouetted image representing the class type so the user can guess what it is, kind of like what Giant Boulder of Death does. What you've got now seems just as good, though.
^ agree with everything said regarding hero names. Sounds good and looks fun! Will keep an eye on this.
Thanks for the feedback, guys. The thing with the silhouettes is that they don't give much clues as to what kind of heroes they represent because the sprites are so small (only 10x10 pixels). I think I'm keeping the hero names though.
I had thought about that before posting my response, but sometimes once I get started I just can't stop
@Andre: Thanks! Ok, time for another update! Let's pick up from where we left off last time: the one tiny issue left in the system I titled the "level change engine". Dungeon levels So now I have a system which is built around the following elements: an array containing all the different area types/themes (A), a counter that keeps track of what theme we are currently on (B), and a counter that counts the number of completed areas on the current theme (C). When C reaches a certain value, we reset C back to zero, increment B and select a theme from A using B. This math is broken up by a special theme that I want to include in the game: dungeons. This is a dungeon. What's so special about it? Well, I want it to be special in a sense that it is not part of the normal theme rotation. I want it to be an area that in order to access it, you have to work for it. An area that contains harder enemies and better rewards. Sort of a "secret" area. A dungeon entrance can be found in other, regular themes (the "overworld"). The entrance may be hidden or require some sort of an action before it opens. Once entered, the game will take you to the dungeons that you have to complete before returning to the overworld. Dungeons can also act as links between different places in the overworld as you are not necessarily returning to the theme you entered the dungeon from in the first place. Power attacks When you collect enough power coins and fill up the POWER meter to the max, a special power attack is performed. It either triggers right away when you collect the 5th coin, or when you hit an enemy with full power, or something else entirely. As you can see this is still in its early stages and I have to playtest to find out what works best, but I want the player to feel powerful. The game is POWER heroes after all!
My todo list is again a few items shorter than last week. Here's what I've done. Quests Right from the beginning when I realised that Power Heroes would be an endless game, or more precisely an endless/rpg hybrid, I knew I wanted to have long-term gameplay targets in the form of a mission system. To be honest, it is more or less a requirement nowadays in games like these. So what a better way to do this than looking at how the big boys like Jetpack Joyride, Temple Run and Subway Surfers did it. Jetpack Joyride: complete a set of missions to level up for coin rewards Temple Run: complete a set of 3 missions to level up, opening new unlock possibilities Subway Surfers: complete a set of 3 missions to increase score multiplier I still have to decide how the final mission/quest system will work in Power Heroes, but the game now supports quests within one play session as well as quests that are not reset between sessions. Now I just have to experiment with them. Music & Sound I've been having the hardest time deciding on what kind of music I want in the game. With the visual style that I have, I guess chip music & sound would be an obvious choice. But completely orchestral score has not been ruled out either, and it could give the game a nice contrast when combined with chip sound effects and pixel art. Any composers out there willing to make a demo track? Other Bug fixes. Particle animation when 4/5 power coins are collected (to visually indicate that power attack is just another coin away). Updated damage counters that bounce off when enemies are hit. Got rid of some visual gameplay elements because I felt the screen was becoming too cramped (mainly the "GOOD!", "EXCELLENT!" texts after a successful kill streak). Started reworking the game over screen because there's a lot of information to be conveyed after the game ends and the next one starts.
This week I'm writing about taking advantage of the whole screen, regardless of its dimensions. It's a topic that I haven't given much thought before. iPhone 5 Support Last week I had a good discussion on my devlog thread at TIGSource forums on how Power Heroes should support different screen sizes. As you may have noticed in all the screenshots etc. the map size is 16 x 9 tiles, which translates to 480 x 270 pixels when using 30 x 30 pixel tiles (actually they are 10 x 10 but scaled up 3x, or 6x for retina displays). The HUD is 50 (100) pixels high and sits on top of the map, so together they fill up a 480 x 320 (or 960 x 640 retina) screen perfectly. 16 x 9 map on < iPhone5 (resolution 480 x 320 / 960 x 640) The Problem Apple introduced a larger screen with iPhone5. On landscape mode, its vertical resolution was kept at 640 pixels, but horizontally it was expanded to 1136 pixels. This is an awkward resolution because it is not a multitude of the base 480 pixels of the earlier models. For example, compared to iPhone 4S, there is now 176 pixels more horizontal space available for use. If the game had the player moving around a scrolling map, this would not be such a problem. But because the game is built around static maps, I have to think of another solution if I want to fully utilise the new screen estate. 176 pixels is enough to expand the game's maps by two tiles, but this won't fill the screen completely. The above 16 x 9 map, now resized to 18 x 9, will look something like this: 18 x 9 map on iPhone5 (resolution 1136 x 960) See the nasty black bars? Not too elegant. The Solution? User eobet (thanks!) on the devlog thread came up with this idea: use 20 x 9 maps and allow the left/rightmost tiles be about 50% off-screen. Like this: Full 20 x 9 view of the map on iPhone5 (resolution 1136 x 960) Then on an older device the same map would look like this: 16 x 9 view of the same map on < iPhone5 (resolution 480 x 320 / 960 x 640) 16 x 9 looks kind of constrained now that we saw the full view, doesn't it? But this could be one way to have support for various screen sizes. I could design all maps using a 20 x 9 canvas and then center it on screen in the game. 20 x 9 is big enough to fill the whole 1136 x 640 screen. But wait, there are a few issues with this solution. The Issues The first one is mainly a visual one. How should I treat the half tiles on the edges of the map? Allow sprite movement on these tiles, basically being 50% off screen? Limit movement to full tiles only, creating an invisible wall that no one can pass (until area is cleared)? The second one: I can't put anything outside the 16 x 9 area that's relevant to gameplay, because players with smaller screens would not be able to see or access this space. If you look at the screenshots above, the edges are blocked with various structures except for the paths leading to and from the area. It would still work on both screen sizes if the edges were open space, but then larger screens would get an advantage over smaller screens by having more space to move around. Whether this is a big deal or not I don't know. The third one is about enemies. Enemy spawn system currently works so that enemies can enter the area from all four edges of the map. Now if I block the edges on 20 x 9 maps, enemies can no longer spawn from left or right. They are limited to spawning from the top and bottom only. So, in a nutshell, my options are: 1. Open the edges and have the enemy spawn system as it is and give players with iPhone5+ more space to move in. 2. Close the edges, keep the movable area the same across different devices and alter the spawn routine. And then I have the visual half-tile problem on the edges. Sounds like more playtesting.
Last week I wrote about how I could support various screen resolutions. I listed a couple of options with pros and cons, but there seemed to be no easy way to it. Fast forward one week and here I am with a solution. It was really obvious now that I think of it. Support for various screen resolutions (solved!) Oh man. Since beginning of development (which seems like ages ago), I was so set on having static one screen maps in Power Heroes. Large areas would not make sense considering the game's short, action packed gameplay sessions that I aimed for. Wipe out an area of enemies, collect loot and head on to the next area. That's what I wanted. I did not want big maps to navigate in. I had a tileset of 10 x 10 tiles, scaled up 3x. By using 16 x 9 maps and having a HUD, I covered the whole screen on all iOS devices. Except iPhone 5 and later. That was a problem. The solution that struck me is kind of a compromise, but it works so well that it's worth it. I made a 20 x 9 map and made it scroll. Horizontally. On an iPhone 5 (and 5S) there will be just a little bit of scrolling while on other devices the map will scroll more but you are still able to access it all. All of the problems I originally thought I had were gone. Half tiles on the edges? Blocked edges? Inaccessible areas outside the screen? Enemy spawn issues? Not any more. So with a 20 x 9 map there's some horizontal scrolling but no vertical. Then I experimented more. I made 20 x 11, 20 x 13 and even 20 x 20 maps before finally settling down to 20 x 11. Although 9 tiles high was the original size, 20 x 9 felt a little cramped probably because of the newly added small horizontal freedom. And going over 11 started to feel too large. 20 x 11 felt just right. After all this it was just a matter of juggling some things around to make everything work with scrollable maps. I'm really happy how it turned out. The maps are still "small" so that you don't get lost, but with scrolling I can support any screen resolution. Here's a GIF of me clearing an area with the ranger: Enemies I gave names to the different enemies that you encounter in the world of Power Heroes. They are on the cute side to suit the game's style. Below is a bunch of them (not all), and remember, if you have more ideas for enemies or their special moves, let's hear them! Buggy Movement type: Walk Special: None Spotty Movement type: Walk Special: None Tootl Movement type: Walk Special: When killed, Tootl releases a shell that slides around with high speed. Shell deals damage to anyone on its path! Boomba Movement type: Jump Special: When killed, Boomba turns into a bomb that explodes soon after. It can destroy some objects, like rocks. Watch out for its blast radius! Burnr Movement type: Jump Special: Burnr can set flammable objects on fire. In close combat, Burnr's hot surface will cause the player to drop all of his/hers power coins.
Your pixel art style is really fun. I am especially loving these GIFs of the enemies. I see a lot of condensed Zelda charm here!