Day 53 – “Planet One” Game Update

It is day 53 today and I wanted to give my weekly update on the progress of my first iphone application, a game called “Planet One”. It is getting very exciting as the game is very close to be finished. I have been working on a lot of game data for the player such as fastest time to complete a level, which levels the player has found the hidden gem, that sort of stuff. I feel it is very important to have some initiatives within your game to make the player want to keep player.

Another thing I have been working on the last week is my graphics. I have created many of the final graphics for backgrounds as well as cleaned up most of the tile images. (Still a few more to do) I have also added some more player sprite frames to represent if he has a particular power or not. All of these image ‘upgrades’ are very exciting as they are visual and really give you the feeling that you are almost done.

I have plans now for some tutorials to complete in the next week or so. They are a little easier then some of the ‘comment’ suggested tutorials but with my time constraints I can only do some of the more basic tutorials at this time. My plans are to complete a tut on the sound engine first, then go into user statistics (which I still have to do on my game) and finally look at having your highscores on a website. So stay tunned for these tutorials in the future.

So with that said I believe I am going to take 2 1/2 to 3 more weeks working on the game and then send it out to the beta testers to pick it apart and make me feel useless (hopefully not!) Then after the testing I will fix any mistakes and get it in for approval by apple. That puts me into the end of may. Now that is just my revised GOAL and I hope to make that time line, But also I do not want to rush anything just in case I have a great suggestion from a tester I want to be able to implement it without the pressures of time. That is the great thing about not answering to a boss while creating project, you move at your own pace to make it the way you want it.

Well enough talk here is the preview of the game at day 53:

Link to the Day 53 Video – “Planet One” Game

About these ads

About PaulsonApps
I am a sole developer working on the IPhone platform. I run a blog which is a mix between journal and how-to on creating Iphone games using Cocos2D and sometimes Box2D, but it is mostly just about my experiences during each game's progression. I have no formal background in programming and have only just begun but I treat it as a hobby which makes every effort a little more enjoyable. I find when things are done as a job they lose that 'fun-factor'. I hope that the games I create for the Iphone get played around the world, and I hope you get a chance to try out all of my games, including 'PlanetOne - The 2D Platformer' and the soon to be released 'PingBall'. Keep reading the Blog, whatching my youTube channel, and buying my games!

22 Responses to Day 53 – “Planet One” Game Update

  1. Chicken Hero Defender says:

    Looks awesome. Congrats

    Quick question. How did you make those clouds, planets animation. I mean they are in separate layers, but they move separate. Are you moving just the player or the layer.

    Can you tell how you do that?

    Thanks

    • paulsondev says:

      Thank you for that compliment.

      That question is an easy one to answer. The clouds and planets are two separate images I created, then I added them to a parallax node with my tiledmap. By changing the ration between all the parallax children you get that effect.

      Hope that helps.

  2. Richard says:

    Looks like a really fun game, I’ll definitely buy it!

    Quick question for you, how did you implement the character animation sprite and linking this in to the joypad and map scrolling?

    A tutorial on that would be brilliant!

  3. Reggie says:

    Are you using LevelSVG to build this game?

    • paulsondev says:

      I did review an older version of LevelSVG that a friend purchased a while back. I used the concept to write my code. It was a great reference for learning how to code in Objective-C especially since it was my first time programming anything. For anyone just starting out I recommend finding example code and if all else fails buy something like LevelSVG or I think Sapus Media has another product you can buy which is a full game. The LevelSVG was a good starting point for me but it is not a complete example of a game (although I think they have new versions which might have more intense code). I could not use the examples provided to fit my needs exactly so I wrote my own code to fulfill the direction I went in.

  4. zim22 says:

    I notice, that in the start of the level you have @restricted zone@ (metall tiled) where player cannot go.

    Is this because it was intentional or because of limitation of using cocos2d camera features?

    • paulsondev says:

      This is completely my doing as part of the game. I wanted to visual barrier to let the player know where the bounds of the level are. In now way is it a restriction on cocos2d.

      I hope that answers your question.

  5. Steve says:

    Hi,
    Game looking good :-) I’m currently doing one myself using Cocos2D and the CCTMXTiledMap objects etc.

    I’m currently wanting to implement a joystick, I’ve got three buttons at the moment, left, right and jump button, but, I’m guessing it is best to have one sprite to handle this? Which way is best to handle jumping and moving?

    Anyway, keep up the good work, well done!
    Steve

    • paulsondev says:

      Thank you Steve.

      For the joystick…in my opinion is does not really matter how you implement the images (sprites) for your buttons because that is just a visual. Where the magic happens is with creating rects for the area of the button. Then when you touch within these rect on the screen you call a method. So if you wanted to get some basic images up for development and testing then once you have it the way you want it simply update the sprites to a nice finished look.

      Then when you have you calls to methods, say one for move and one for jump….you write you code for each there. I am using Box2D for my physics so this is what controls the moving and jumping. If you are using only TMXTiledmap with Cocos2d then you will move and jump another way.

      Thank you

  6. Steve says:

    Thanks for reply,

    I’ve got the left,right button sprites working and have put a timer in for the jump (did use rects) and code like:

    CGPoint touchPoint = [touch locationInView:[touch view]];
    touchPoint = [[CCDirector sharedDirector] convertToGL:touchPoint];
    if (CGRectContainsPoint(joyLeftRect, touchPoint)){
    Moving = YES;
    Dir = Left;
    }
    to detect which sprite/button was pressed.

    I want to look at using Box2D for collision and moving and jumping, how difficult is this to implement?

    Many thanks,
    Steve

  7. Steve says:

    Hi,

    I’ve out Box2D into my app now, having to change all my files to .mm etc, now need to update my sprite movement. Did you use Box2D to do collision detection on your tiles in your map? I’m wondering how to do this as it seems you need to specify bodies etc for all sprites you want to have in the ‘Box2D world’ so don’t know how you would do it for a tiled map – any hints or tips would be welcome :-)

    Many thanks,
    Steve

  8. Steve says:

    Hi Jason,

    Sorry to keep replying, just wondering if you used Box2D to do the collision for platforms? If so, do you have to create a body definition and fixture definition for every platform tile?

    Regards,
    Steve

    • paulsondev says:

      Hello Stave…no problem about the comments…I am glad you are reading the blog.

      I use Box2d for all of my collisions. And the tiledmap is only for visual. I have box2d bodies for all of the platforms in the game as well as the enemies, coins and player. I then use the collision to determine if it is an enemy or coin and react accordingly.

      This means in your case you must create a body relative to the tile on you map. I hope that helps a little…You can also do all of your collisions without box2d involved similar to how the 71squared.com website does it.

      I hope this helps.

      • Steve says:

        Hi Jason,

        Did you scroll the layer for your map – I’m taking it you did if you are using Box2D bodies? Also, did you use anything like Inkscape for your Box2D bodies and if so, did you write a SVG parser for the SVG file created in InkScape?

        Regards,
        Steve

      • paulsondev says:

        You got it steve….thats is what I did to get my game going….All I do is throw everything into a parallax node and it makes sure the bodies scroll with my map.

      • Steve says:

        I’m not using parallax, I’ve coded some clouds in the background using my own technique. I have a gamelayer which has the tiled map and the box2d bodies on it – the player is also on this layer with a box2d body, of course, this meant moving the player and box2d body relative to the map, the other box2d body’s just scroll with the map as is.

        Did you manually create the Box2D bodies? I’m thinking of writing a parser to parse the SVG file from InkScape as it takes ages to hand code all the bodies!

        Thanks,
        Steve

  9. Steve says:

    Thanks Jason,

    If you have a tile map of say 32×16, that has say for example 20 platforms, does this mean you have 20 bodies, i.e.one for each platform? Do you create your bodies at the beginning for each platform? What about hills for example where the player can go up and down, are these platforms?

    Many thanks,
    Steve

  10. abitofcode says:

    Love the blog! I considered doing something similar but guess I’d have lost everyone at day 300 ;)

    External Beta testing is worth its weight in gold, we did it as a last minute exercise and the feedback we got changed the game for the better and found a particularly nasty bug. The 2 week delay implementing the suggestions was worth it.

    When you release consider setting the ‘live’ date 2 weeks ahead. Once your app is approved the promo codes should be active even though the game is not yet released so you can get your promotion under way.

    Good luck

  11. Steve says:

    Hi again,

    Added some movement to my main player using Box2D. I had to do the following in my update scheduler to do this:

    if(Moving)
    {
    b2Vec2 forceVector = b2Vec2(xVel, 0.0f); _playerBody->SetLinearVelocity(forceVector);
    _playerBody->SetAwake(true);
    }

    This allows the player to move left or right, is this the correct way?

    Thanks again,
    Steve

  12. Ayo says:

    Hi Jason,

    how do you map entities(heroes, baddies, platforms…etc) on your map to Box2D bodies?

  13. Steve says:

    Hi,

    This is doing my head in now, I’m doing the following:

    b2Vec2 velocityVec = _playerBody->GetLinearVelocity(); if(Dir == Left)
    velocityVec.x -= 0.2;
    if(Dir == Right)
    velocityVec.x +=0.2;
    if(Dir == Up)
    velocityVec.y = 12;
    _playerBody->SetLinearVelocity(velocityVec);

    But, when player has jumped and then keeps hold of say the right button, the player kind of slides in the air. How is best way to implement jump? Did you use SetLinearVelocity?

    Hope you can help.

    Many thanks,
    Steve

  14. Ashley says:

    Hiya juz wonderin how u jump high enuff to get out from the hole in area 10. I know u need the green orb to jump high but I can’t seem to jump out of the hole even with the power.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 58 other followers

%d bloggers like this: