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

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!:

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"?

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.

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 -> GUILayerSet the background colour to match the background colour of your logo

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.

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.

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!

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?

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.

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?