Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Cave Run 3D (WIP) - Need Feedback

Discussion in 'Made With Unity' started by puppeteer, Nov 27, 2010.

  1. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    Hey all,

    I've started making this game about 5 days ago. It's supposed to be a 3D version of a Flash game I made a few months ago. This is the Flash version: http://activeden.net/item/cave-run-game/full_screen_preview/108693

    There's still a lot left to do, and I plan to make the gameplay a bit different than the 2D version, so any feedback would be appreciated.

    Move the player with the mouse, Hold LMB to jump, Hold longer to jump higher. Avoid obstacles (rocks, mud, lava) and collect gems:

    http://activeden.net/item/cave-run-3d-unity-game-starter-kit/146501

    The game's done, hope you like it!
     
    Last edited: Dec 17, 2010
  2. Jay_Adams

    Jay_Adams

    Joined:
    Nov 8, 2010
    Posts:
    152
    Not bad.

    Maybe make the platforms cubes instead of planes. Then you can see the upcoming platform and judge its height easier.
     
  3. ChimpKing

    ChimpKing

    Joined:
    Nov 24, 2010
    Posts:
    49
    Pretty Good.

    You should take advantage of 3D and add traps on the sides like dart shooters so that the player will have to do more complex movements to survive :p

    Also, I'm trying to build a basic "Runner" game except mine is a side scroller. Could show the script you use for the jumping (the gradually getting higher if held longer part)? Or at least tell me how to do it?

    Thanks


    EDIT: Just in case you wanted to know, I got 2000M in distance.
     
    Last edited: Nov 27, 2010
  4. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    Thanks for the feedback.

    @Jay_Adams: Do you mean I should make the platforms much shorter? I can also remove the fog which now hides upcoming platforms.

    @ChimpKing: I'm thinking of adding some falling pillars that crash unto the platform, and maybe something that can jump at your position to make it even more challenging. The darts is an awesome idea and it fits well with a Temple-Escape theme.

    This is how I made the jumping:
    First off make sure your object has a rigidbody because I use forces to make it jump. Add it from the components menu.

    Here's the code:

    Code (csharp):
    1. var JumpPower:float = 10;
    2.  
    3. function Update()
    4. {
    5.     //If you click the jump button while your speed is very low, add up force to the player
    6.     if (Input.GetButtonDown ("Jump")  (rigidbody.velocity.y < 0.4  rigidbody.velocity.y > -0.4) )
    7.     {
    8.     rigidbody.velocity.y = JumpPower; //add up force to the player based on the value of JumpPower
    9.     }
    10.  
    11.     //if you leave the jump button during the jump, lose power quickly and fall
    12.     if (Input.GetButtonUp ("Jump")  rigidbody.velocity.y > -1 )
    13.     {
    14.     rigidbody.velocity.y *= 0.3;
    15.     }
    16. }
     
  5. ChimpKing

    ChimpKing

    Joined:
    Nov 24, 2010
    Posts:
    49
    I implemented the script and it works nicely. Thanks!
     
    Last edited: Nov 27, 2010
  6. Londy

    Londy

    Joined:
    Jan 24, 2010
    Posts:
    108
    This game is pretty awesome game, i love the concept keep it going ,

    For the level i think you should add different texture and distractions for each level up like instead of going straight down hill add some ramps where you would have to switch and go on the other side etc.. and also when the player falls off make it so that he gets 2 or 3 try's before he has to start over, but other than that everything is ace, i would love to help you out on this project very nice :)
     
  7. twitchfactor

    twitchfactor

    Joined:
    Mar 8, 2009
    Posts:
    356
    Needs double jump. I find myself jumping "early", because it's not side-on/pixel perfect, and dropping frustratingly into the abyss. A double-jump would take care of this, although more "air" on the jump would too, but a double-jump opens up a lot more gameplay possibilities.
     
  8. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    Added the double jump, it makes the game less frustrating like you said.

    I put in one of my animated characters from another game just to test the running animation which is based on the player's speed. Also put in step sounds ( a trigger in each foot ) and dust trail.

    Also did improvement to the code so it's easier for others to edit and customize levels.

    Hope to find some time to make an actual character like the one in the Flash version, and also add in other suggestions like new obstacles and shifting platforms.

    http://www.puppeteerinteractive.com/gallery/games/CaveRun3D/

    Thanks for the feedback, please keep commenting.

    Thanks :D
     
  9. Jay_Adams

    Jay_Adams

    Joined:
    Nov 8, 2010
    Posts:
    152
    I just meant have the player run on top of a cube, instead of flat plane. (the lengths seemed fine)

    Then you'd see a vertical wall in front of you for the taller platforms, or none for the lower platforms. Would make it easier to gauge how much you need to jump. (since you have to time it close to get gems at front of platforms).

    I don't know if I'd get rid of the fog, maybe a little thinner. But not being able to see far deffinately makes it challenging.
     
  10. ZerkyWerky

    ZerkyWerky

    Joined:
    Apr 2, 2009
    Posts:
    129
    hehe super fun! :p keep up the good work, that is in the right direction to become an addictive game loop ;)
     
  11. ChimpKing

    ChimpKing

    Joined:
    Nov 24, 2010
    Posts:
    49
    3228 M is my best :p This game is epic!

    I noticed that the fire "trap" helps more than it hurts. Because after getting burnt you can still DOUBLE jump. Plus once you get to the later stages where everything is a rock, the fire helps you get over them and still have BOTH your jumps.

    You might want to fix that. Also, the texture of the cave floor is a little cheesy. And the cave is too flat. Could use some random juts to add to the realism.

    But I'm just being picky. Keep up the great work. :D
     
  12. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    I tried to change the platforms today to a sort of temple theme.

    http://www.puppeteerinteractive.com/gallery/games/CaveRun3D/

    I don't know, I personally don't like it much, and when the lava/mud/rocks start showing up it just makes no sense... I want to make a good looking cavern platform, should give a better sense of speed.

    There are also other changes, the platforms shift left and right, and the camera follows the player. There are also different level up messages at the bottom. Also solved the lava double jump :) You can't jump straight after hitting the lava now.
     
  13. ChimpKing

    ChimpKing

    Joined:
    Nov 24, 2010
    Posts:
    49
    You should probably stick with the cave style. The traps don't blend with the new style.

    Also, is the game randomized?
     
  14. VeganApps

    VeganApps

    Joined:
    Jun 30, 2006
    Posts:
    263
    Puppeteer: Don`t add forces in Update(). Use FixedUpdate().
     
  15. twitchfactor

    twitchfactor

    Joined:
    Mar 8, 2009
    Posts:
    356
    Much better.

    Now, my only complaint is can you lock the mouse, so it doesn't lose focus?

    Keep it coming.
     
  16. meroon

    meroon

    Joined:
    Jan 9, 2008
    Posts:
    23
    Great game so far. Keep it up.

    Maybe it's cause I'm on a laptop, but I'd love to be able to control with the keyboard. How about the cursor keys to go left and right, spacebar to jump.

    Look forward to seeing the progress.
     
  17. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    http://www.puppeteerinteractive.com/gallery/games/CaveRun3D/

    Finally got the player model and animations done. I tried to make it look as much like the Flash version as possible.

    You've got Run, Fast Run, Jump, Fall, and Hit Lava Animations. Maybe I'll add some other animations later.

    Also changed the camera perspective to a steeper angle.

    Also changed the platforms again. I'm trying to make multiple middle sections that look good but still "click" together, as that's how the platforms are all made ( start edge section, then all the middle sections based on a length value, then an end edge section ).

    Thanks for the feedback all! It really helps alot, and now that I got the model and animations thing behind me, I'm going to implement all your bits of advice next. ( Keyboard control, FixedUpdate forces, mouse lock, etc)
     
    Last edited: Dec 3, 2010
  18. Knight12ify

    Knight12ify

    Joined:
    May 21, 2010
    Posts:
    520
    To make it more diverse from your flash one, and I mean different, have the basic structure of your Flash one in 3D which you are creating and then add new elements. Like an AI that appears that you have to shoot down with shadow balls all while playing the elements of your flash game. Just to make it more exiting.
     
  19. ChimpKing

    ChimpKing

    Joined:
    Nov 24, 2010
    Posts:
    49
    If you look closely, you can see the bottom of the platforms..... ruins the effect. Add dart shooters and other traps. That would make it even more epic!
     
  20. Knight12ify

    Knight12ify

    Joined:
    May 21, 2010
    Posts:
    520
    One more thing. The fact that you have to move where your mouse points kind of ruins the effect. In the beginning add a pause menu and in the pause menu add an options menu: there two options: normal movement with the mouse or movement by keypad. And by keypad you can only move forward.
     
  21. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    Hi all, Another update,

    http://www.puppeteerinteractive.com/gallery/games/CaveRun3D/

    - Made the start and end screens.
    - Finalized platforms graphics.
    - Tunnel background
    - More obstacles:
    Bats! stick on you for a while.
    Ice, makes you move faster.
    Plant and Bush slow you a bit.
    There's also a shooter type obstacle that looks at you and shoots stuff ( It's not a dart shooter though, ChimpKing, sorry. But I promise the next update after release will have a temple theme with matching obstacle types :) )
    - Every new level there are some debris falling, though for some reason it doesn't work the way I want now, I'll fix it.
    - You'll also notice you can control the player's rotation with A/D, but it's still messy, so use at your own risk.

    I'm trying to keep all the assets as generic as possible so they can be easily customize. So far it's going well, I find it easy to add new obstacle types or to fine tune the progress of the game. There are other things I put in the inspector I thought people might find useful, for example you can add multiple platform parts which will be chosen randomly when the platform is created. Unity is really awesome!

    @DynamicHead: I tried to put the force codes on FixedUpdate, and it behaved weird. Maybe I'm doing something wrong, I'll try it again after I'm done with the other stuff.
     
  22. ChimpKing

    ChimpKing

    Joined:
    Nov 24, 2010
    Posts:
    49
    Love the start scene.

    The trees look a little out of place in the cave. Maybe something else? Like roots or something?

    Also, I am trying to get platform randomizing going myself. Right now, I find the farthest gameObject by listing all the gameObjects. Then I go through and see which has the farthest x value. Once I do that I find the mesh bonds size and set the place to instantiate.

    But I'm getting some errors. Its very messy.

    Care to enlighten me on how you did it? Thanks.
     
  23. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    I think I got everything done ( except for the keyboard controls ).

    http://www.puppeteerinteractive.com/gallery/games/CaveRun3D/

    Now is the time for tweaking gameplay, to make it challenging yet not frustrating, should take some time as it's a matter of trial and error mostly. The good part is I've got plenty of things I can customize in the inspector to make the game gradually more challenging ( Platform width/length/height/rotation, Gem/Obstacle rates, max player speed, unique effects for each obstacle, jump and movement sensitivity ).

    @ChimpKing: The platforms are made up of sections, starting with an edge section, then all the middle sections are placed, and finally another edge section is rotated into place. All these are then set as children of an empty object that will have the Platform script.

    The attributes for each platform are set at the start of creation. These are Platform Length/Width/Height/Rotation ranges that are chosen randomly before creating the new empty platform object.

    Here is the code for the PlatformCreator script, hope you find it useful:

    Code (csharp):
    1. private var Player:GameObject;
    2. private var InitPos:Vector3;
    3.  
    4. var NumberOfPlatforms:int = 3;
    5. private var PlatformIndex:int;
    6.  
    7. var NewPlatform:Transform;
    8. private var NewPlatformCopy:Object;
    9.  
    10. //var Platform:Transform[];
    11. var PlatformEdge:Transform[];
    12. var PlatformMiddle:Transform[];
    13. private var PlatformIndexB:int;
    14. private var PlatformCopy:Object;
    15.  
    16. var PlatformWidthRange:Vector2 = Vector2(1.5,2);
    17. private var PlatformWidth:float;
    18.  
    19. var PlatformLengthRange:Vector2 = Vector2(20,30);
    20. private var PlatformLength:int = 0;
    21. private var PlatformOldLength:int;
    22.  
    23. var PlatformHeightRange:Vector2 = Vector2(-2,1);
    24. private var PlatformHeight:int;
    25.  
    26. var PlatformGapRange:Vector2 = Vector2(5,10);
    27. private var PlatformGap:int;
    28.  
    29. var PlatformRotateRange:Vector2 = Vector2(-4,4);
    30. private var PlatformRotate:int;
    31.  
    32. var PlatformShiftRange:Vector2 = Vector2(0,0);
    33. private var PlatformShift:float = 0;
    34.  
    35. private var RandomValue:float;
    36.  
    37. private var FirstPlatform:boolean = true;
    38. private var TotalPlatformLength:int = 0;
    39.  
    40. function Start()
    41. {
    42.     Player = GameObject.FindWithTag("Player");
    43.    
    44.     InitPos = transform.position;
    45.    
    46.     for ( PlatformIndex = 0 ; PlatformIndex < NumberOfPlatforms ; PlatformIndex++ )
    47.     {
    48.         CreatePlatform(TotalPlatformLength);
    49.        
    50.         //Create the first platform
    51.         TotalPlatformLength += (PlatformLength + 2 ) * 3 + PlatformGap;
    52.     }
    53. }
    54.  
    55. function CreatePlatform(Offset:int)
    56. {
    57. //CREATE A NEW PLATFORM
    58.     //Create a new empty platform, so we can put all the platform parts inside it
    59.     NewPlatformCopy = Instantiate(NewPlatform, transform.position, Quaternion.identity);
    60.    
    61.     //Create the start edge of the platform
    62.     PlatformCopy = Instantiate(PlatformEdge[Random.Range(0,PlatformEdge.length)], transform.position, Quaternion.identity);
    63.     PlatformCopy.transform.parent = NewPlatformCopy.transform;
    64.     PlatformCopy.Rotate(Vector3.right * -90, Space.World);
    65.     //PlatformCopy.Rotate(Vector3.up * 180, Space.World);
    66.    
    67.     //Set platform Width
    68.     PlatformWidth = Random.Range(PlatformWidthRange.x,PlatformWidthRange.y);
    69.     if ( PlatformWidth < 0.4 )    PlatformWidth = 0.4;
    70.     PlatformCopy.localScale.x = PlatformWidth;
    71.    
    72.     //Set platform length
    73.     PlatformOldLength = PlatformLength;
    74.     PlatformLength = Random.Range(PlatformLengthRange.x,PlatformLengthRange.y);
    75.     if ( PlatformLength < 5 )    PlatformWidth = 5;
    76.     NewPlatformCopy.GetComponent("Platform").PlatformLength = PlatformLength;
    77.    
    78.     for ( PlatformIndexB = 0 ; PlatformIndexB < PlatformLength ; PlatformIndexB++ )
    79.     {
    80.         //Create the middle parts of the platform based on PlatformLength
    81.         PlatformCopy = Instantiate(PlatformMiddle[Random.Range(0,PlatformMiddle.length)], transform.position, Quaternion.identity);
    82.         PlatformCopy.Translate(Vector3.forward * (PlatformIndexB + 1) * 3, Space.World);
    83.         PlatformCopy.localScale.x = PlatformWidth;
    84.         PlatformCopy.transform.parent = NewPlatformCopy.transform;
    85.         PlatformCopy.Rotate(Vector3.right * -90, Space.World);
    86.     }
    87.    
    88.     //Create the end edge of the platform
    89.     PlatformCopy = Instantiate(PlatformEdge[Random.Range(0,PlatformEdge.length)], transform.position, Quaternion.identity);
    90.     PlatformCopy.Translate(Vector3.forward * (PlatformLength + 0) * 3, Space.World);
    91.     PlatformCopy.localScale.x = PlatformWidth;
    92.    
    93.     PlatformCopy.transform.parent = NewPlatformCopy.transform;
    94.     PlatformCopy.Rotate(Vector3.right * -90, Space.World);
    95.     PlatformCopy.Rotate(Vector3.up * 180, Space.World);
    96.    
    97.     //Set platform gap
    98.     if ( PlatformOldLength > 0 )
    99.     {
    100.         PlatformGap = Random.Range(PlatformGapRange.x,PlatformGapRange.y);
    101.         //print("platform gap " + PlatformGap);
    102.         NewPlatformCopy.Translate(Vector3.forward * PlatformGap, Space.World);
    103.    
    104.         PlatformShift = Random.Range(PlatformShiftRange.x,PlatformShiftRange.y);
    105.         NewPlatformCopy.Translate(Vector3.right * PlatformShift, Space.World);
    106.     }
    107.    
    108.     //Set platform Height
    109.     PlatformHeight = Random.Range(PlatformHeightRange.x,PlatformHeightRange.y);
    110.     NewPlatformCopy.Translate(Vector3.up * PlatformHeight, Space.World);
    111.    
    112.     //rotate the platform
    113.     PlatformRotate = Random.Range(PlatformRotateRange.x,PlatformRotateRange.y);
    114.     NewPlatformCopy.Rotate(Vector3.up * PlatformRotate, Space.World);
    115.    
    116.     NewPlatformCopy.Translate(Vector3.forward * Offset, Space.World);
    117.    
    118. }
    119.  
    Thanks again everyone, hope you find these codes useful.
     
  24. ChimpKing

    ChimpKing

    Joined:
    Nov 24, 2010
    Posts:
    49
    Getting an error in this line of code:
    This is the error: NullReferenceException: Object reference not set to an instance of an object.

    I know, it should be a simple fix. But I can't seem to solve the problem.

    So far I've set attached the script to a empty GameObject. Then I created a prefab with another empty GameObject and set that to be the New Platform (The container one). I also named my platforms "Platform". But for some reason, it doesn't seem to work....

    Know why?
     
  25. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    That line refers to the platform code in the new platform. In your case you don't need it, just change the line to this:

    Code (csharp):
    1. if ( NewPlatformCopy.GetComponent("Platform") )    NewPlatformCopy.GetComponent("Platform").PlatformL ength = PlatformLength;
    Better yet, copy over the code section, I also made it so you can set your own section length. This can alternatively be made by checking the mesh bounds, but I prefer having control over the creation of the sections.

    Code (csharp):
    1. private var Player:GameObject;
    2. private var InitPos:Vector3;
    3.  
    4. var NumberOfPlatforms:int = 3;
    5. private var PlatformIndex:int;
    6.  
    7. var NewPlatform:Transform;
    8. private var NewPlatformCopy:Object;
    9.  
    10. //var Platform:Transform[];
    11. var PlatformEdge:Transform[];
    12. var PlatformMiddle:Transform[];
    13. private var PlatformIndexB:int;
    14. private var PlatformCopy:Object;
    15.  
    16. var SectionLength:int = 1;
    17.  
    18. var PlatformWidthRange:Vector2 = Vector2(1.5,2);
    19. private var PlatformWidth:float;
    20.  
    21. var PlatformLengthRange:Vector2 = Vector2(20,30);
    22. private var PlatformLength:int = 0;
    23. private var PlatformOldLength:int;
    24.  
    25. var PlatformHeightRange:Vector2 = Vector2(-2,1);
    26. private var PlatformHeight:int;
    27.  
    28. var PlatformGapRange:Vector2 = Vector2(5,10);
    29. private var PlatformGap:int;
    30.  
    31. var PlatformRotateRange:Vector2 = Vector2(-4,4);
    32. private var PlatformRotate:int;
    33.  
    34. var PlatformShiftRange:Vector2 = Vector2(0,0);
    35. private var PlatformShift:float = 0;
    36.  
    37. private var RandomValue:float;
    38.  
    39. private var FirstPlatform:boolean = true;
    40. private var TotalPlatformLength:int = 0;
    41.  
    42. function Start()
    43. {
    44.     Player = GameObject.FindWithTag("Player");
    45.    
    46.     InitPos = transform.position;
    47.    
    48.     for ( PlatformIndex = 0 ; PlatformIndex < NumberOfPlatforms ; PlatformIndex++ )
    49.     {
    50.         CreatePlatform(TotalPlatformLength);
    51.        
    52.         //Create the first platform
    53.         TotalPlatformLength += (PlatformLength + 2 ) * SectionLength + PlatformGap;
    54.     }
    55. }
    56.  
    57. function CreatePlatform(Offset:int)
    58. {
    59. //CREATE A NEW PLATFORM
    60.     //Create a new empty platform, so we can put all the platform parts inside it
    61.     NewPlatformCopy = Instantiate(NewPlatform, transform.position, Quaternion.identity);
    62.    
    63.     //Create the start edge of the platform
    64.     PlatformCopy = Instantiate(PlatformEdge[Random.Range(0,PlatformEdge.length)], transform.position, Quaternion.identity);
    65.     PlatformCopy.transform.parent = NewPlatformCopy.transform;
    66.     PlatformCopy.Rotate(Vector3.right * -90, Space.World);
    67.     //PlatformCopy.Rotate(Vector3.up * 180, Space.World);
    68.    
    69.     //Set platform Width
    70.     PlatformWidth = Random.Range(PlatformWidthRange.x,PlatformWidthRange.y);
    71.     if ( PlatformWidth < 0.4 )    PlatformWidth = 0.4;
    72.     PlatformCopy.localScale.x = PlatformWidth;
    73.    
    74.     //Set platform length
    75.     PlatformOldLength = PlatformLength;
    76.     PlatformLength = Random.Range(PlatformLengthRange.x,PlatformLengthRange.y);
    77.     if ( PlatformLength < 5 )    PlatformLength = 5;
    78.    
    79.     if ( NewPlatformCopy.GetComponent("Platform") )    NewPlatformCopy.GetComponent("Platform").PlatformLength = PlatformLength;
    80.    
    81.     for ( PlatformIndexB = 0 ; PlatformIndexB < PlatformLength ; PlatformIndexB++ )
    82.     {
    83.         //Create the middle parts of the platform based on PlatformLength
    84.         PlatformCopy = Instantiate(PlatformMiddle[Random.Range(0,PlatformMiddle.length)], transform.position, Quaternion.identity);
    85.         PlatformCopy.Translate(Vector3.forward * (PlatformIndexB + 1) * SectionLength, Space.World);
    86.         PlatformCopy.localScale.x = PlatformWidth;
    87.         PlatformCopy.transform.parent = NewPlatformCopy.transform;
    88.         PlatformCopy.Rotate(Vector3.right * -90, Space.World);
    89.     }
    90.    
    91.     //Create the end edge of the platform
    92.     PlatformCopy = Instantiate(PlatformEdge[Random.Range(0,PlatformEdge.length)], transform.position, Quaternion.identity);
    93.     PlatformCopy.Translate(Vector3.forward * (PlatformLength + 0) * SectionLength, Space.World);
    94.     PlatformCopy.localScale.x = PlatformWidth;
    95.    
    96.     PlatformCopy.transform.parent = NewPlatformCopy.transform;
    97.     PlatformCopy.Rotate(Vector3.right * -90, Space.World);
    98.     PlatformCopy.Rotate(Vector3.up * 180, Space.World);
    99.    
    100.     //Set platform gap
    101.     if ( PlatformOldLength > 0 )
    102.     {
    103.         PlatformGap = Random.Range(PlatformGapRange.x,PlatformGapRange.y);
    104.         //print("platform gap " + PlatformGap);
    105.         NewPlatformCopy.Translate(Vector3.forward * PlatformGap, Space.World);
    106.    
    107.         PlatformShift = Random.Range(PlatformShiftRange.x,PlatformShiftRange.y);
    108.         NewPlatformCopy.Translate(Vector3.right * PlatformShift, Space.World);
    109.     }
    110.    
    111.     //Set platform Height
    112.     PlatformHeight = Random.Range(PlatformHeightRange.x,PlatformHeightRange.y);
    113.     NewPlatformCopy.Translate(Vector3.up * PlatformHeight, Space.World);
    114.    
    115.     //rotate the platform
    116.     PlatformRotate = Random.Range(PlatformRotateRange.x,PlatformRotateRange.y);
    117.     NewPlatformCopy.Rotate(Vector3.up * PlatformRotate, Space.World);
    118.    
    119.     NewPlatformCopy.Translate(Vector3.forward * Offset, Space.World);
    120.    
    121. }
     
  26. ChimpKing

    ChimpKing

    Joined:
    Nov 24, 2010
    Posts:
    49
    Playing around with the script. Thanks!
     
  27. Knight12ify

    Knight12ify

    Joined:
    May 21, 2010
    Posts:
    520
    Add a multiplayer mode where you can race against another player but this time there is a lot of ice and bushes.
     
  28. EndBoss

    EndBoss

    Joined:
    Aug 30, 2005
    Posts:
    38
    Very nice. I'm curious if you also plan to put this project up for sale on active den?
     
  29. Knight12ify

    Knight12ify

    Joined:
    May 21, 2010
    Posts:
    520
    Oh yeah and to make the gameplay changed even more to make it diverse and so you can add a multiplayer, make one way of moving with the keypad and one way with the mouse. That way people can have a co-op race. I'll keep trying to have you make this an awesome project.
     
  30. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    Thanks for the feedback Knight12ify, I'm planning to make a split-screen head to head like in the Flash version. That would be after I upload the kit on ActiveDen and see how it goes.

    @z3lda: Yes, I'll be uploading it to AD soon, maybe tomorrow or the day after, depending on approval time.
     
  31. Knight12ify

    Knight12ify

    Joined:
    May 21, 2010
    Posts:
    520
    Yeah but the splitscreen thing would only really work if you have two movement styles. A keypad style would work. You move side to side with A and D and jump with the spacebar. Mouse where the mouse is it moves side to side and you click it you jump. That is the first major thing you need to implement into the game before adding a co-op mode.

    You could do a lot with this game. You could even add a story to it by making the player a treasure hunter starting off in a temple and looking around for gems and stuff and avoiding snakes and when your done you start to leave through a cave and it repeats in a greater difficulty. That would make the game a lot funner. In fact you could change the gameplay to make your player go backwards as well in temple levels but not in cave run levels. That would make your game awesome. And more diverse than the Flash version.
     
    Last edited: Dec 14, 2010
  32. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    You're right Knight12ify, it could be extended into a full project, but I just don't have enough time to sit on a game for several months and fill it with content. I guess that's why I always make Stock Flash game and Unity Starter kits, it allows me to make the basic gameplay mechanics without having to fill any more content.

    Here's the final product ( more updates will be coming of course ), Hope you like:
    http://activeden.net/item/cave-run-3d-unity-game-starter-kit/146501?ref=majd_abdul

    Anyway, thanks all again. Now on to the next project!
     
  33. Knight12ify

    Knight12ify

    Joined:
    May 21, 2010
    Posts:
    520
    Yeah, well you could get somebody else to expand the game to your liking like me! But I hope to see your next project.
     
  34. shadow explorer

    shadow explorer

    Joined:
    Dec 13, 2010
    Posts:
    61
    nice game,i played a lot with the previous version,final is great,but i miss the keyboard controls :D
    good luck with your next one :D
     
  35. mowgliworf

    mowgliworf

    Joined:
    Dec 16, 2010
    Posts:
    11
    Wow that's a lot of fun!
     
  36. mikevanman

    mikevanman

    Joined:
    Sep 30, 2009
    Posts:
    108
    looks great just wondering if you plan to do an iPhone version? / would it take much adapting (just the inputs I guess)

    great work on my way to purchase
     
  37. ChimpKing

    ChimpKing

    Joined:
    Nov 24, 2010
    Posts:
    49
    Just a minor thing, the demo on activeden's score is negative blah. Or is that a dash? Cause it could be misinterpreted.

    Also, in the script for randomization, i see you use edge pieces and middle pieces. But what if I just wanted one piece. No edges or anything, just one piece. How would I do that?

    I changed the length to (1,1) but it still has like 5 pieces..... How can I change that? Thanks.
     
  38. BRIK

    BRIK

    Joined:
    Nov 27, 2010
    Posts:
    131
    Awesome game man, so fun.
     
  39. trooper

    trooper

    Joined:
    Aug 21, 2009
    Posts:
    748
    Loved it man. The only thing I'd like to see is the little ball follow the mouse if it is hovering over the cave floor and disappear if it's not anywhere near it. Felt a little odd moving the mouse but not seeing the "cursor" move with it.
     
  40. Knight12ify

    Knight12ify

    Joined:
    May 21, 2010
    Posts:
    520
    Hey, I know that chances are I'm going to get negative results. But Puppeteer, will you help me make my game. I have everything planned out. If you agree post here and pm then I'll give you the full details. You can even sell kits of the game on ActiveDen, I don't care as long as the game gets made and you can have full profit.
     
  41. milesamallow

    milesamallow

    Joined:
    Sep 9, 2010
    Posts:
    31
    I like it this game turned out well.
     
  42. puppeteer

    puppeteer

    Joined:
    Sep 15, 2010
    Posts:
    1,282
    It's probably about adding touch controls instead of the mouse, but I can't make sure it works without an iPhone license. So iPhone support will have to wait a little.

    Another guy pointed out the same thing with the negative score. It doesn't show on my computer though. Can you tell me what browser and Unity player version you have?

    About your other question I sent you a PM with explanation on how to make the sections a single piece.

    Added to the Update ToDo list :D

    Sorry Knight12ify, I'm already working on another kit for ActiveDen, along with another Unity collab and some other stock Flash stuff. So far, I've been working mostly solo and it's not that hard. You could make some nice things with some effort on your own.

    What skills do you have, btw? :) I mean, what parts of game creation are you most interested in? ( graphics, sound, coding etc )
     
    Last edited: Dec 22, 2010
  43. Knight12ify

    Knight12ify

    Joined:
    May 21, 2010
    Posts:
    520
    Hey, the parts of creation that I'm interested in is coding. I'm not very good and I can only assemble very simple scripts.

    And I am trying to assemble a team for my game and your a well known Unity User I was hoping that you be the director of my game and overview the progress. Tell us what needs to be worked on what we should do and stuff like that and if you do that you can work on your projects in peace because you won't have to view the game that often. And another thing is that because your a well known Unity User other people would jump on board. And you would be able to sell kits of the game if wanted and stuff on ActiveDen where we do all the work and all I would need is credit for coming up with the games idea. But it's your choice.
     
  44. ChimpKing

    ChimpKing

    Joined:
    Nov 24, 2010
    Posts:
    49
    Hey Puppeteer, I sent you a PM telling you what browser and computer. Also, I'm having some issues with the script.

    Please check your PM's. Thanks!