Power Heroes - A Brand New Adventure Awaits!

Discussion in 'Upcoming iOS Games' started by i-kari, Sep 6, 2013.

  1. i-kari

    i-kari Active Member

    #1 i-kari, Sep 6, 2013
    Last edited: Dec 11, 2013
    [​IMG]

    [​IMG] [​IMG]

    * * *

    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 I’m 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:

    [​IMG]

    [​IMG]

    Early gameplay video running on iPhone simulator:

     
  2. Bluez

    Bluez Well-Known Member

    Looks great...when do you think it will release?
     
  3. Exact-Psience

    Exact-Psience Well-Known Member

    Jan 12, 2012
    22,664
    2
    38
    The Work-At-Home Guy
    Philippines
    Looks pretty solid. Following this thread.
     
  4. psj3809

    psj3809 Moderator

    Jan 13, 2011
    12,774
    559
    113
    England
    Yep looks great. Following on twitter
     
  5. Cynuyt

    Cynuyt Well-Known Member

    The screen shot look good. Look forward to releasing day.
     
  6. i-kari

    i-kari Active Member

    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.
     
  7. i-kari

    i-kari Active Member

    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:

    [​IMG]

    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.
     
  8. i-kari

    i-kari Active Member

    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:

    [​IMG]

    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.

    [​IMG]

    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.
     
  9. PointOfLight

    PointOfLight Well-Known Member

    Dec 29, 2008
    4,223
    17
    38
    Programmer
    Indiana, USA
    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.
     
  10. Jxsgamer

    Jxsgamer Well-Known Member

    Dec 28, 2011
    672
    0
    16
    USA
    #10 Jxsgamer, Sep 17, 2013
    Last edited: Sep 17, 2013
    ^ agree with everything said regarding hero names.

    Sounds good and looks fun!
    Will keep an eye on this.
     
  11. i-kari

    i-kari Active Member

    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.
     
  12. PointOfLight

    PointOfLight Well-Known Member

    Dec 29, 2008
    4,223
    17
    38
    Programmer
    Indiana, USA
    I had thought about that before posting my response, but sometimes once I get started I just can't stop :)
     
  13. Andre

    Andre Well-Known Member

    Apr 11, 2012
    3,643
    2
    38
    It looks amazing. Keep my eyes on the thread.
     
  14. i-kari

    i-kari Active Member

    @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.

    [​IMG]
    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!
     
  15. i-kari

    i-kari Active Member

    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.
     
  16. i-kari

    i-kari Active Member

    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.

    [​IMG]
    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:

    [​IMG]
    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:

    [​IMG]
    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:

    [​IMG]
    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. 1. Open the edges and have the enemy spawn system as it is and give players with iPhone5+ more space to move in.
    2. 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.
     
  17. i-kari

    i-kari Active Member

    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:

    [​IMG]

    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

    [​IMG]

    Movement type: Walk

    Special: None

    Spotty

    [​IMG]

    Movement type: Walk

    Special: None

    Tootl

    [​IMG]

    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

    [​IMG]

    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

    [​IMG]

    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.​
     
  18. i-kari

    i-kari Active Member

    Screenshot saturday! Slimy problem in someone's cellar!

    [​IMG]
     
  19. zachstronaut

    zachstronaut Member

    Jul 8, 2011
    12
    0
    0
    Creative Developer
    MPLS, MN
    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!
     
  20. i-kari

    i-kari Active Member

    Thanks a lot!
     

Share This Page