Secret Fawful
Member
nothing at all, I just might use RPG maker to do the same stuff AGS would do in terms of just making an adventure game, except one is point and click and the other is direction pad or whatever...
You can make RPGs in AGS.
nothing at all, I just might use RPG maker to do the same stuff AGS would do in terms of just making an adventure game, except one is point and click and the other is direction pad or whatever...
i'm not sure exactly what you mean. in unity there's multiple ways of controlling your movement. you can do it via the physics engine and add force to a rigidbody (a ragdoll like object) or you can control it directly via a speed you set to modify yourself.
by default in the physics engine, you wouldn't be able to move at all in the air without building up momentum on the ground. if you control it directly via character controller you'd move exactly the same in the air as you would on the ground unless you specified it to act differently at the two separate times. you can create as many whacky styles of movement that you can dream of in unity, it does movement really well.
If you jumped in a direction in real life you wouldn't be able to change direction until you hit the ground but in most platformers you can, he just seems to want to know how much damping goes on with most platformers when changing direction in mid air.
Personally, I have no experience with platformers, but I'd probably build my character movement around movement angle, velocity and acceleration. Then when accounting for in-air movement, maybe use half the acceleration.
A screenshot from the horror game I've been making with Unity.
I love this engine! It allows really fast iterations and it's very fast to use.
I've at tried to do Gamma Calibration for my screen, so hopefully it isn't too dark or too bright.
That shot looks really good! I would love to use Unity as intended and do 3D but I do not have any ability in modeling/animating, so 2d it is!
EDIT: Also, should the player's time in the air during a jump be the same for all jumps, or the jump height? I know physically speaking it should be the airtime, but I don't know if that is normally the case for platfom games?
A screenshot from the horror game I've been making with Unity.
I love this engine! It allows really fast iterations and it's very fast to use.
I've at tried to do Gamma Calibration for my screen, so hopefully it isn't too dark or too bright.
That looks neat. Can I ask you if that cave was built as a single object or with many modular parts?A screenshot from the horror game I've been making with Unity.
I love this engine! It allows really fast iterations and it's very fast to use.
I've at tried to do Gamma Calibration for my screen, so hopefully it isn't too dark or too bright.
Every time I see something like this I want to take a little break from working on my own engine and do something in 3D. I'm actually a pretty good modeler/animator, although I haven't done 3D world building since the first Unreal engine. If only there were more time
Are you available for any contract work (3d character animation, maybe some modeling) in the future? I could use it for my next Dungeon Hearts game so I can focus more on the design and programming. It wouldn't be for a while though, I'm just starting the prototyping phase for the next game.
They should both be invariant with respect to framerate.
As for your time delta problem, how is your gravity implemented? You need to make sure that it scales with framerate as well.
What do you mean with "speed factors"?
To make it frame rate independent you should only have to scale with Time.deltaTime. Of course there might be some different behaviour you want.
Aright, just rushed submit an iOS game before the May 1st deadline.
So, suggestions on what to do with the extra screen space when I have to do a new update and must support the iPhone 5 screen? I know I'm going to be in a world of hurt already when I need to migrate from cocos2d 1.0.1 to 1.1 AND move from iOS4 to iOS5 support.
Well, I could jump directly to 2.X, but I was assuming that there'd be less stuff for me to worry about with 1.X branch. My existing games all were supporting 4.0 (3G/Touch 2G_, but since this new "iPhone 5" requirement is kicking in, I'm pretty much forced to abandon armv6 devices now.Ouch. Why not take the opportunity to update to 2.0 or 2.1? Or are you supporting old devices?
My game uses a physics world based off the original size of the iPhone screen, so for widescreen I just added some walls on the sides. Probably not the nicest solution though.
Oh man, that's super rad. What tool did you use?I ended up giving up quickly finding a definitive answer on the legal situation of various tools, and I couldn't even get my keyboard to record through an audio line though I've done it in the past. So I decided to just scrap an music or audio and upload what I had. It's just a Mondrian doodle program. It probably took me 12-18 hours which is way too long for what it is, but that's the way things go when I try to do anything, especially if the tool isn't super familiar.
You can make RPGs in AGS.
A screenshot from the horror game I've been making with Unity.
I love this engine! It allows really fast iterations and it's very fast to use.
I've at tried to do Gamma Calibration for my screen, so hopefully it isn't too dark or too bright.
Ok, but I'm more wanting an Adventure game more than an RPG
So, partially thanks to everyone's help, my partner and I won best game And best educational tool at AngelHack LA! Took home a thousand bucks between us. Thanks again!
You're dividing the check up between the 50 of us posting in this thread so we all share the result, right? ;p Congrats.So, partially thanks to everyone's help, my partner and I won best game And best educational tool at AngelHack LA! Took home a thousand bucks between us. Thanks again!
Hey thanks, you're very kind! I like the idea of Flixel for simple 2D web games, I just always run into issues. I also feel like I should really nail down a legal free distribution audio + music system if I try something like ludum dare again. Or at the very least double check that my keyboard cable record setup works. =POh man, that's super rad. What tool did you use?
Edit: nevermind, saw it at the link. Love the idea so much though.
Yes! Pretty cool doodler. The results are great.I ended up giving up quickly finding a definitive answer on the legal situation of various tools, and I couldn't even get my keyboard to record through an audio line though I've done it in the past. So I decided to just scrap any music or audio and upload what I had. It's just a Mondrian doodle program. It probably took me 12-18 hours which is way too long for what it is, but that's the way things go when I try to do anything, especially if the tool isn't super familiar.
http://abload.de/img/screenshot1lqu2l.png
https://dl.dropboxusercontent.com/u/55797038/mondricraft/index.html
Link including source: http://www.ludumdare.com/compo/ludum-dare-26/?action=preview&uid=12278
Congrats.So, partially thanks to everyone's help, my partner and I won best game And best educational tool at AngelHack LA! Took home a thousand bucks between us. Thanks again!
I'm just pointing out that you don't need to use RPG Maker. I'm not even sure why you would use RPG Maker for an adventure game over the most flexible adventure game engine out there.
I played 4 games on easy and got destroyed every time.I think this is my favorite game I've tried so far: http://www.ludumdare.com/compo/ludum-dare-26/?action=preview&uid=11029
Unfortunately it's very difficult to me even on easy. *edit* Plus the AI gets a 2-piece advantage. I beat it on easy at least.
That looks neat. Can I ask you if that cave was built as a single object or with many modular parts?
Thats looking really good....are you using the full version of Unity?
Im also loving Unity, saving up for the full version for dynamic shadows and post-processing effects.
Yeah, I found you had to get the advantage on the first or second turn in removing red pieces, or else you're done for.I played 4 games on easy and got destroyed every time.
So, in Unity is there a way to flush a scene from memory? If my player dies and I just Application.LoadLevel back into the same one, the objects don't reset.
And also, if I'm having my music run from an object, how can I keep this music playing between scenes and NOT have it create another one on LoadLevel? Right now I have a DontDestroyOnLoad(myMusic);
But when I load level again, another music is created and I get two of the same song playing.
function Start () {
if <find another object with the same name or tag>
if other.GetComponent(music_script).hasBeenLoadedBefore == true { Destroy(gameObject); }
hasBeenLoadedBefore = true;
}
So, in Unity is there a way to flush a scene from memory? If my player dies and I just Application.LoadLevel back into the same one, the objects don't reset.
And also, if I'm having my music run from an object, how can I keep this music playing between scenes and NOT have it create another one on LoadLevel? Right now I have a DontDestroyOnLoad(myMusic);
But when I load level again, another music is created and I get two of the same song playing
using UnityEngine;
using System.Collections;
public class MusicControl : MonoBehaviour {
static public MusicControl instance;
public AudioSource audioSource1;
public AudioSource audioSource2;
private AudioSource currentAudioSource;
private AudioSource previousAudioSource;
public float crossFadeTime = 2;
private float crossFadeCounter;
private bool crossFading = false;
private void Awake() {
if (instance== null) instance= this;
else {
GameObject.Destroy(this.gameObject);
return;
}
GameObject.DontDestroyOnLoad(this.gameObject);
currentAudioSource= audioSource1;
}
public void PlayClip(AudioClip newClip) {
if (currentAudioSource.clip != null) {
if (currentAudioSource.clip == newClip) return;
if (currentAudioSource == audioSource1) {
currentAudioSource = audioSource2;
previousAudioSource = audioSource1;
}
else {
currentAudioSource = audioSource1;
previousAudioSource = audioSource2;
}
}
currentAudioSource.clip = newClip;
currentAudioSource.Play();
crossFadeCounter= 0;
crossFading = true;
}
private void Update() {
if (!crossFading ) return;
currentAudioSource.volume = crossFadeCounter / crossFadeTime;
if (previousAudioSource != null) {
previousAudioSource.volume = 1 - crossFadeCounter / crossFadeTime;
}
if (crossFadeCounter < crossFadeTime ) {
crossFadeCounter += Time.deltaTime;
if (crossFadeCounter > crossFadeTime ) crossFadeCounter = crossFadeTime;
}
else {
crossFadeCounter = 0;
crossFading = false;
previousAudioSource.Stop();
previousAudioSource.clip = null;
}
}
}
using UnityEngine;
using System.Collections;
public class MusicPlayer: MonoBehaviour {
public AudioClip myAudioClip;
private void Awake() {
if (myAudioClip!= null) MusicControl .instance.PlayClip(myAudioClip);
GameObject.Destroy(this.gameObject);
}
}
That's odd. Application.LoadLevel set to the current level should restart everything, unless your objects are static or have DontDestroyOnLoad active.
Here's a classes I used to do what you want, with the added trick of cross-fading between tracks on a transition (coded in C#):
Thanks a bunch! I'll implement this tonight and let you know how it goes!
Also, I do have some static variables in my scripts. I'll just re-code those and use some GetComponents instead of static, hopefully works after that!
static private int someNumber;
private const int DEFAULT_NUMBER = 5;
private void Awake() {
someNumber = DEFAULT_NUMBER;
//The rest of the awake code goes here (if any)
}
using UnityEngine;
using System.Collections;
public class MusicControl : MonoBehaviour {
static private MusicControl myInstance;
[SerializeField] private AudioSource audioSource1;
[SerializeField] private AudioSource audioSource2;
private AudioSource currentAudioSource;
private AudioSource previousAudioSource;
[SerializeField] private float crossFadeTime = 2;
private float crossFadeCounter;
private bool crossFading = false;
static public MusicControl instance {
get { return myInstance; }
}
private void Awake() {
if (myInstance == null) myInstance = this;
else {
GameObject.Destroy(this.gameObject);
return;
}
GameObject.DontDestroyOnLoad(this.gameObject);
currentAudioSource = audioSource1;
}
public void PlayClip(AudioClip newClip, bool useCrossFade) {
if (currentAudioSource.clip != null) {
if (currentAudioSource.clip == newClip) return;
if (useCrossFade) {
if (currentAudioSource == audioSource1) {
currentAudioSource = audioSource2;
previousAudioSource = audioSource1;
}
else {
currentAudioSource = audioSource1;
previousAudioSource = audioSource2;
}
crossFadeCounter= 0;
crossFading = true;
}
}
currentAudioSource.clip = newClip;
currentAudioSource.Play();
}
private void Update() {
if (!crossFading ) return;
currentAudioSource.volume = crossFadeCounter / crossFadeTime;
if (previousAudioSource != null) {
previousAudioSource.volume = 1 - crossFadeCounter / crossFadeTime;
}
if (crossFadeCounter < crossFadeTime ) {
crossFadeCounter += Time.deltaTime;
if (crossFadeCounter > crossFadeTime ) crossFadeCounter = crossFadeTime;
}
else {
crossFadeCounter = 0;
crossFading = false;
previousAudioSource.Stop();
previousAudioSource.clip = null;
}
}
}
MusicControl.instance.PlayClip(<someClip>, <crossFade>);
You could also make it so that all those static variables get re-initialized on each script's Awake event, like:
With <someClip> being the AudioClip you want to play and <crossFade> being a boolean that says whether you want to cross-fade the previous clip or not.
Question, where are audioSourceAnterior and audioSourceActual coming from?