Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411281 Posts in 69324 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 09:45:38 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsSkylight - 1st-person platform jumping and randomly generated music
Pages: [1] 2 3 4
Print
Author Topic: Skylight - 1st-person platform jumping and randomly generated music  (Read 15837 times)
Nition
Level 4
****


Some random guy


View Profile WWW
« on: July 12, 2012, 03:13:12 AM »


UPDATE: Skylight is OUT NOW for Windows and Mac.
A demo is available but the full game is only USD $2.50. Info and everything at the link above.


This post has been updated to reflect the final version.

I started making a Doodle Jump clone as a simple game to help me learn Unity, and somehow it turned into this.


Skylight is a first-person platform jumping journey with randomly generated levels and music. At first I had the player climbing straight upward, but a cylinder of platforms is too annoying, because you have to be looking around all the time while trying not to fall down. I think that the path-like arrangement it has now works a lot better.

It's written in Unity using C#. This is my first real Unity game and it's been a good experience; the platform seems really solid.

Version 1.0 changelog from 0.92:
NEW AND CHANGED
- Added flocks of birds
- Added a locked bonus mode (unlocks on getting to 100%)
- Added a "lamp platform" which is basically just a normal platform with a light on it, to look cool and help out a little near the end
- Other minor adjustments to level generation (both performance and layout related)
- Improved performance somewhat
- No minor chords play when you're past 75%. Other minor edits to music generation
- Improved robot 3D model a little and added visible "thrusters" when moving
- Added mute button on main screen and pause menu
- Made the instructions screen sightly tidier
- Spotlight now turns off again when light level gets high
- Tweaked view bob when hitting a platform in 3rd person a little
 
BUG FIXES
- Fixed platforms sometimes double-registering a collision, causing erroneous score and extra damage
- Fixed the music engine sometimes playing the same sound multiple times at once
- Fixed clearing high scores also resetting mouse invert setting
- Fixed audio volume not adjusting correctly to compensate for many sounds at once, occasionally causing clipping
- Fixed clouds not updating to face you when in 3rd-person mode (revealing the terrible secret that the clouds are actually groups of 2D planes)
- Fixed unfocusing and refocusing the app while paused making the music start playing

« Last Edit: September 25, 2012, 02:30:35 PM by Nition » Logged
Nition
Level 4
****


Some random guy


View Profile WWW
« Reply #1 on: July 15, 2012, 07:31:42 PM »

Just updated the original post with a new version, 0.5.

Changes:
- Improved controls and physics
- Improved level generation
- Reduced game file size
« Last Edit: July 15, 2012, 07:38:34 PM by Nition » Logged
yuotta
Level 0
**


View Profile
« Reply #2 on: July 18, 2012, 05:51:20 PM »

I think this rocks personally! Really good job, needs a distance meter though!
Logged
Nition
Level 4
****


Some random guy


View Profile WWW
« Reply #3 on: July 18, 2012, 07:55:55 PM »

Distance meter, good idea! Since this isn't near-infinite like Doodle Jump, I think I'll make something like a vertical progress bar for it.

I've just put up a new version in the OP. There's a basic menu and instructions now, although note that space and escape don't do quite what they say yet. Space reloads everything and escape quits entirely.

For some reason the instructions screen is scaling to like 98% size, so it's a little blurry. I can't work out what's causing that as I'm not setting any scaling and it's reporting the actual size correctly.

The physics are in their final state now I think. The level generation is getting a little bit more interesting. Colours!:
Logged
yuotta
Level 0
**


View Profile
« Reply #4 on: July 18, 2012, 10:06:46 PM »

Can't begin to tell you I played that for 5 minutes straight before I died! Woo!

But I'm sure you know, the lighting gets messed up ( supposed to happen? ) and it gets really hard to see when the background goes black!!

Would love to see the source file to this though!
Logged
Nition
Level 4
****


Some random guy


View Profile WWW
« Reply #5 on: July 19, 2012, 02:23:38 AM »

Yep, that's the point - it's dark up in space. You can use your spotlight to look around and spot platforms. Let me know if you think it's too difficult though. Or too easy. You'll also notice that the gravity decreases.

Also I still need to make a proper ending. If you make it to the last platform you'll just get some music and float up forever. That's supposed to happen for now (also, congratulations) but I at least need to make it fade out and end properly.

There are currently 172 platforms total. You can kind of tell how close you're getting by how high the notes are getting.

Quote from: yuotta
Would love to see the source file to this though!

Anything in particular you're interested in? I could potentially open-source some or all of this when it's done. Remember this is my first Unity game though, so it's probably not  exemplary code.

I'm sort of also wondering about sale options for casual Unity games. Like, say I polished this up and made it into a proper game, it's obviously too casual to go on something like Steam, it's not a Facebook app or a Flash game, first person controls don't work well on phones... is there any market for monetizing a "casual Unity first-person game"?

P.S. If you got to the pitch black area, you were near the end.
« Last Edit: July 19, 2012, 02:30:31 AM by Nition » Logged
yuotta
Level 0
**


View Profile
« Reply #6 on: July 19, 2012, 10:57:15 PM »

I just started using Unity about two months ago, have made two games with it and find that looking at source files are just really fascinating! So yeah, curious to how you did the opening logo!

As for ideas for an ending, definitely try and put a jump meter and a timer and I think depending on your time finished maybe that's like a medal you earned? Just throwing out a random idea, but that way you play it over and over to get a cooler medal.

Are you using C# or JS?
Logged
Nition
Level 4
****


Some random guy


View Profile WWW
« Reply #7 on: July 19, 2012, 11:33:03 PM »

I use C# as I have a little bit of previous experience with it, and I don't really like the hacked-on static typing in JavaScript.

The opening logo is a separate scene, which just has the logo and nothing else. The trick is that I actually use the logo scene to generate the level in the main scene, so when you get to the menu it's already ready to play. Unfortunately the ability to load a level asynchronously like that is a Pro only feature (I've got Pro because I plan to make a much more serious game next), but you can still show a logo like that if you don't have Unity Pro.

This is how I did it:

Make an empty game object.
Add Component -> Rendering -> GUILayer
Set the background colour to match the background colour of your logo

Add a new C# script, and this is my code:
Code:
using UnityEngine;
using System.Collections;

public class LogoGui : MonoBehaviour {

public Texture2D gameLogo;

void OnGUI() {
// Centered main logo
GUI.Label(new Rect((Screen.width / 2) - (gameLogo.width / 2), (Screen.height / 2) - (gameLogo.height / 2), gameLogo.width, gameLogo.height), gameLogo);
}
}

And then you'd need to set a new scene to show after x amount of time. Or if you want to load your level in the background, and have it show when it's done (Pro only):
Code:
using UnityEngine;
using System.Collections;

public class LogoGui : MonoBehaviour {

public Texture2D gameLogo;

void OnGUI() {
// Centered main logo
GUI.Label(new Rect((Screen.width / 2) - (gameLogo.width / 2), (Screen.height / 2) - (gameLogo.height / 2), gameLogo.width, gameLogo.height), gameLogo);
}

// Start loading the level right away
IEnumerator Start() {
AsyncOperation async = Application.LoadLevelAsync("MainScene");
yield return async;
}
}
Logged
ninja
Level 2
**


View Profile
« Reply #8 on: July 20, 2012, 04:56:45 AM »

This game looks cool!  Keep up the good work Nition.
Logged

Delver is awesome!!!!!!!!!!!!!!!!!!!!!!!
                 Smiley
yuotta
Level 0
**


View Profile
« Reply #9 on: July 20, 2012, 12:09:42 PM »

Man that's awesome, thank you for sharing that script! C# more powerful? I've been using a bit of both but mainly JS since I knew more Java going in to Unity..

Curious on your plans for a new ( bigger ) project?
Logged
Nition
Level 4
****


Some random guy


View Profile WWW
« Reply #10 on: July 20, 2012, 04:39:28 PM »

I'm not expert but I'd say in Unity all three language options are really equally powerful, since they can all achieve the same thing in the context of Unity. I like c# more because:

- It's more a of a general language used for making apps outside of Unity, and I want more general language experience
- They've had to kind of mess with Javascript to make it as powerful as C# in Unity. The static typing syntax specifically seems awkward.

Also regarding implementing your suggestions for progress bar/height value/timer/score, I'm adding score and a progress bar.

Height progress bar instead of height value, mainly since the total height will be a little different every time.

Score. I had to think I bit about this so its reward efficiency and not let the player cheat.
It currently gives you 10 base points for every platform. If you skip platforms, you get the base score for all of them (e.g. 3 * 10 = 30), plus a bonus which increases exponentially as you skip more. If you stay on the same platform or go backwards, it deducts 10 points each time you land. If you go back and forward again, you won't start earning points again until you've passed the highest platform you hit, so you can't turn around and do it again to cheat and get more points!

Timer. I've decided not to add a timer. The score system will already reward speed with the platform skipping bonus. A timer would only really apply if you made it to the end (it would add replay value, but score should cover that well enough), and I also don't really want people to think they have to be fast.

No updated version just yet. Got some more changes to make.
Logged
yuotta
Level 0
**


View Profile
« Reply #11 on: July 20, 2012, 08:57:25 PM »

Just hearing those sounds killer! Really excited to play this version, I like little games like these they are gems to me! Especially anything made in Unity.

Models made in Blender?


And when you get to the black part, should you go even higher due to lack of gravity?
« Last Edit: July 20, 2012, 09:32:22 PM by yuotta » Logged
DustyDrake
Level 10
*****



View Profile
« Reply #12 on: July 20, 2012, 11:32:59 PM »

If there are sounds in the space area I will be mad.
Logged

Nition
Level 4
****


Some random guy


View Profile WWW
« Reply #13 on: July 21, 2012, 12:19:49 AM »

Ha, there is sound, but space may have been the wrong word. It's dark up there but it's not a vacuum. And sound is an important part of the game.

Quote
Models made in Blender?

And when you get to the black part, should you go even higher due to lack of gravity?

Blender yes, though I'm not very good at it. And yes, you do go higher a the gravity decreases. It never goes super-low or the game is too easy, but it's quite noticeable.
Logged
yuotta
Level 0
**


View Profile
« Reply #14 on: July 22, 2012, 06:33:48 PM »

Sounds good, eagerly awaiting the next update!
Logged
thatredant
Level 0
***


if(post.create){ thatredant.reply; }


View Profile
« Reply #15 on: July 22, 2012, 08:12:47 PM »

Plays really well! I had a lot of fun with it. It's a little bit too easy for me, though. May I suggest you lock the mouse and hide it on the screen when you click? And when you press P (or whatever key you want), you can see your mouse and it isn't locked? I really like this, and am looking forward to the next update. Good job!  Hand Thumbs Up Left
Logged

Working on a resource-gathering realtime roguelike!

Nition
Level 4
****


Some random guy


View Profile WWW
« Reply #16 on: July 22, 2012, 08:37:46 PM »

Thanks for playing! It's too easy for me as well but I hoped that was more because I play it all the time in testing. It definitely should be longer and harder at the end, but some of that might be more work than I actually have time to put in to this little game. For instance, moving "enemies" to avoid so you have to time your jumps.

Or if you have any good ideas, throw them out here. I will be adding platforms that crumble once you've jumped on them, but that only applies if you have to jump on the same one twice, which probably isn't very often.

Re the mouse, it should be being hidden when you click already. I'll lock it as well though.

I'm building an updated 3D model for the final platform at the moment. Man I suck at it though.

Edit: Also, yuotta and thatredant, what do you think of the controls and physics?
« Last Edit: July 22, 2012, 08:59:37 PM by Nition » Logged
Nition
Level 4
****


Some random guy


View Profile WWW
« Reply #17 on: July 22, 2012, 09:23:49 PM »

Your home has improved.
Logged
yuotta
Level 0
**


View Profile
« Reply #18 on: July 22, 2012, 10:27:19 PM »

I agree on adding in the lockcursor code so the mouse does not fall off the screen. The physics of the game seem fine to me, no complaints about the controls. Maybe the sensitivity could be knocked down a bit.
Logged
Jammo
Level 0
**



View Profile
« Reply #19 on: July 23, 2012, 01:39:41 AM »

Hmm, the physics and sound is really nice. Would be nice to see some more interesting things in the sky, weather maybe? I also thought the controls were a little bit floaty, but that might just be personal preference. Have you thought about having different paths like doodle jump?
Logged
Pages: [1] 2 3 4
Print
Jump to:  

Theme orange-lt created by panic