Nition







Some random guy





Level 4Some random guy Skylight - 1st-person platform jumping and randomly generated music « 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. A demo is available but the full game is only USD $2.50. Info and everything at the link above.

Official Release Trailer

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



1.0 Gameplay Trailer 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.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 littleBUG 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 My Website - Moment Studio.

Scraps - Build combat vehicles from parts. DevLog for Scraps.

yuotta







Level 0 Re: Skylight [Unity] « 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







Some random guy





Level 4Some random guy Re: Skylight [Unity] « Reply #3 on: July 18, 2012, 07:55:55 PM »



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

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 My Website - Moment Studio.

Scraps - Build combat vehicles from parts. DevLog for Scraps.

yuotta







Level 0 Re: Skylight [Unity] « 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







Some random guy





Level 4Some random guy Re: Skylight [Unity] « Reply #5 on: July 19, 2012, 02:23:38 AM » 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. 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'sdifficult 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.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 My Website - Moment Studio.

Scraps - Build combat vehicles from parts. DevLog for Scraps.

yuotta







Level 0 Re: Skylight - 3D first-person Doodle Jump, or something « 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







Some random guy





Level 4Some random guy Re: Skylight - 3D first-person Doodle Jump, or something « Reply #7 on: July 19, 2012, 11:33:03 PM »



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;

}

}

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.Make an empty game object.Add Component -> Rendering -> GUILayerSet the background colour to match the background colour of your logoAdd a new C# script, and this is my code: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): Logged My Website - Moment Studio.

Scraps - Build combat vehicles from parts. DevLog for Scraps.

Nition







Some random guy





Level 4Some random guy Re: Skylight - 3D first-person Doodle Jump, or something « 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 My Website - Moment Studio.

Scraps - Build combat vehicles from parts. DevLog for Scraps.

yuotta







Level 0 Re: Skylight - 3D first-person Doodle Jump, or something « 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

thatredant







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





Level 0if(post.create){ thatredant.reply; } Re: Skylight - 3D first-person Doodle Jump, or something « 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! Logged



Working on a resource-gathering realtime roguelike!

yuotta







Level 0 Re: Skylight - 3D first-person Doodle Jump, or something « 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