• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

GAF Indie Game Development Thread 2: High Res Work for Low Res Pay

Status
Not open for further replies.
Ideally I want to be able to kick the bodies around ala dark souls :D

If that isnt possible though i'll end up just doing a static animation.

Finally started on AI today and oh my god its hard. It's all so new...

I got my enemy following checkpoints then chasing the player but his animations for walking dont trigger and he doesnt attack or block or anything yet.

LOOOONG road ahead

You're on Unity, right? Maybe take a look at Rain and see if it would help with your AI needs: http://rivaltheory.com/rain/
 

neko.works

Member
That game looks better everytime I see it. Have you mentioned what platforms you will relase for?

Thanks!

For the platforms, Xbox One and Steam for sure, PS4 highly probable, not yet decided for the others.

Thanks, and I really like look of your game too!

Sadly I don't have a website or any other info source at the moment, this is believe it or not, the first game I'm seriously trying to develop. All my previous stuff was just Mario fan games and failed concepts.

I see. I really like the pixel art and animations you've done, the gameplay looks fast and fun too, and ... I like cats, obviously.
 

JulianImp

Member
You're on Unity, right? Maybe take a look at Rain and see if it would help with your AI needs: http://rivaltheory.com/rain/

It's the first time I hear about this system, so I've got to thank you for making me aware of it's existence. I'm in the planning stages of a simple co-op arena shooter and wasn't looking forward to having to code the AI, so this might end up being a huge boon for the project's development.
 

JeffG

Member
It's the first time I hear about this system, so I've got to thank you for making me aware of it's existence. I'm in the planning stages of a simple co-op arena shooter and wasn't looking forward to having to code the AI, so this might end up being a huge boon for the project's development.

Rain is what I have been using as well.
 

ElFly

Member
I'm on mobile right now so I'll check this out when I get back. The face is just a static texture with a swap for whenever she blinks, which is not shown here. I can probably do a mesh warp similar t what's used on the skirt to point her face a little bit differently than it is right now. I'll have to explore a little bit. I drew a bunch of other torso and face perspectives earlier today so I'm excited to get those implemented!


edit:
this is the walk and run redone. There are four different angles for her face now and six for her torso, though only two and four of those are on display here.

8UCX0v2.gif
uO8EDxy.gif

Holy shit, six for the torso.

That's dedication.

It looks great.

e: maybe it is not that needed in the walk one tho.
 

Ah sorry, I misremembered. I guess it gets difficult to keep track of which engine everyone in here is using. :)

It's the first time I hear about this system, so I've got to thank you for making me aware of it's existence. I'm in the planning stages of a simple co-op arena shooter and wasn't looking forward to having to code the AI, so this might end up being a huge boon for the project's development.

No problem. Mind you, I haven't actually used it myself (yet?)... but I heard good things!
 
bleh, tried working on art for hours but only got a tiny bit of work done. I hate days like this where the day before you get loads done, and then the next you don't -_- at least I finished his arms though it's not final yet. Proportions and positioning are off I realize but that's fixable. Just trying to build it correctly so I can animate it easily.

 
I've been working on improving the environments for the upcoming Light Fairytale playable demo. Here's a GIF from one location I've been working on recently:

lf_city.gif


I've also implemented a new camera system where you could use the right analog stick to rotate the camera + the right analog trigger to zoom in, similarly to ICO on the PS2.

I'll probably remove the zoom in option as it breaks the camera most of the time, but the camera rotation works pretty well, and help reminds the players that the backgrounds are actually in real-time :p

Sadly I think most players are going to take masterfully crafted backgrounds for granted, pre-rendered or otherwise. But it never hurts to take pride in your craft!

What kind of game is this?


bleh, tried working on art for hours but only got a tiny bit of work done. I hate days like this where the day before you get loads done, and then the next you don't -_- at least I finished his arms though it's not final yet. Proportions and positioning are off I realize but that's fixable. Just trying to build it correctly so I can animate it easily.

I really like this art style! It's very bold.

And I totally feel you on that. Some days it's like... why did I even try today? But it all adds up eventually.


Holy shit, six for the torso.

That's dedication.

It looks great.

e: maybe it is not that needed in the walk one tho.

It's a lot but I'm really glad with how it turned out. (this is the last one for a while, I promise!)

LBJ628B.gif
 

Blizzard

Banned
Apparently it's time to add strings to my scripting language, bytecode format, compiler, and virtual machine. Hopefully it won't be an enormous pain.
 

neko.works

Member

Ranger X

Member
Oh I see what you mean. Huh, I didn't even intend for that to happen with the left side and didn't notice it myself for some reason but I get what you mean. Hm... I'll edit my post with that.

Edit:

MJLb.gif


Hope this is what you meant.

Yes, exactly. Not sure walking down is ok though. Hard to see with this gif
Anyhow, good going! :)
 

Kalentan

Member
Yes, exactly. Not sure walking down is ok though. Hard to see with this gif
Anyhow, good going! :)

Yeah, I didn't make him walk long enough to notice it.

My attempt at my Castle Tileset for the tutorial level.

OPLb.png


Some reason though the map I have it makes it look a lot closer so you get some parts that look blurry for some reason. Unsure why it's doing that since the other maps in the game don't do the same. Torch isn't mine tho, from the YoYoRPG premade stuff.
 

SystemBug

Member
Yeah, I didn't make him walk long enough to notice it.

My attempt at my Castle Tileset for the tutorial level.

OPLb.png


Some reason though the map I have it makes it look a lot closer so you get some parts that look blurry for some reason. Unsure why it's doing that since the other maps in the game don't do the same. Torch isn't mine tho, from the YoYoRPG premade stuff.

One thing that stands out to me right now is that the floor and the wall have the same lighting which makes the scene look flat and busier than it should. Maybe make the walls a bit darker?
 

Exuro

Member
Any Unity3D guys know how I can change the shadow cast distance? I don't mean the distance a shadow casts from the camera, but from the object itself, so shadow attenuation. I need to reduce it since some of my optical illusion-y stuff looks off because the shadows are casting farther than I want. So I'm looking for a way to lower the distance a shadow casts from an object. Right now I'm guessing I can't do that with directional lighting, but I haven't found anything concrete on it. Everything is talking about camera distance that I've googled.
 

Kalentan

Member
One thing that stands out to me right now is that the floor and the wall have the same lighting which makes the scene look flat and busier than it should. Maybe make the walls a bit darker?

How about this?

bQLb.png


Edit: Some of the wall blocks look different due to the zoom effect that changes some stuff. Like how the pot is all 2x2 yet when I load into the map, parts of it become 3x3.
 

Insolitus

Banned
How about this?

bQLb.png


Edit: Some of the wall blocks look different due to the zoom effect that changes some stuff. Like how the pot is all 2x2 yet when I load into the map, parts of it become 3x3.

The biggest problem with your tiles is actually the pillow shading, both the walls and the floor don't look like they have a distinct light source and look like bubbles instead of brick. I would change the shading on walls and make the floor a different texture all together, like a checkered pattern or something.
 
The biggest problem with your tiles is actually the pillow shading, both the walls and the floor don't look like they have a distinct light source and look like bubbles instead of brick. I would change the shading on walls and make the floor a different texture all together, like a checkered pattern or something.

Yep.

Peep this Kalentan

CyEQJu6.png


Also, I'd suggest picking "closer" colors on the scale. Your bricks have a huge amount of change in them and it makes everything very high contrast and hard to look at.
 

Kalentan

Member
The biggest problem with your tiles is actually the pillow shading, both the walls and the floor don't look like they have a distinct light source and look like bubbles instead of brick. I would change the shading on walls and make the floor a different texture all together, like a checkered pattern or something.

Yep.

Peep this Kalentan

Also, I'd suggest picking "closer" colors on the scale. Your bricks have a huge amount of change in them and it makes everything very high contrast and hard to look at.

So I did two versions of my checkerboard tileset:

dQLb.png

eQLb.png


One has a sort of bubble look while the other I tried to make it look less like that. I think I will also take another look at my walls to get closer colors.
 
Thanks ElFly! ♥


That's not really an improvement. What you need is some consistency. Really ask yourself where is the light coming from, and how would the shading fall on this shape?


The bricks on the wall are pillow shaded which basically just means the light source is nearly identical to the viewpoint, which is kind of a boring look. The pots on the ground are lit from something to the near upper-left region. The clouds outside (or are those curtains?) are top-lit. The torch doesn't appear to be receiving much light except from its flame due to the coloring of the light, though it might also be top-lit. And now the tiles on the ground are lit from the far upper-left. Not to mention all the flat, unlit objects in the scene.

Consistency is key. Due to sprite flipping, a lot of pixel-art games choose a lighting direction that isn't going to be changed when the image is reversed, so that's probably your safest bet.
 

Kalentan

Member
Thanks ElFly! ♥



That's not really an improvement. What you need is some consistency. Really ask yourself where is the light coming from, and how would the shading fall on this shape?



The bricks on the wall are pillow shaded which basically just means the light source is nearly identical to the viewpoint, which is kind of a boring look. The pots on the ground are lit from something to the near upper-left region. The clouds outside (or are those curtains?) are top-lit. The torch doesn't appear to be receiving much light except from its flame due to the coloring of the light, though it might also be top-lit. And now the tiles on the ground are lit from the far upper-left. Not to mention all the flat, unlit objects in the scene.

Consistency is key. Due to sprite flipping, a lot of pixel-art games choose a lighting direction that isn't going to be changed when the image is reversed, so that's probably your safest bet.

KRLb.png


Here's my new attempt. I'm trying to make the light source look like it's coming from the same direction. I also edited the pots and the window as well.

It is supposed to be clouds in the window, but I'm unsure. Although the windows will eventually need to be modified anyway since I do want to make them animated. Somehow.
 

Jobbs

Banned
KRLb.png


Here's my new attempt. I'm trying to make the light source look like it's coming from the same direction. I also edited the pots and the window as well.

It is supposed to be clouds in the window, but I'm unsure. Although the windows will eventually need to be modified anyway since I do want to make them animated. Somehow.

I think the negative points that jump out at me from the example provided have nothing to do with lighting and more to do with palette. There seems to be little or no thought behind the overall color scheme, which is one of the most important aspects of art design

the high contrast floor tiles are also extremely distracting and will interfere with your sprite outlines if they walk over them
 
KRLb.png


Here's my new attempt. I'm trying to make the light source look like it's coming from the same direction. I also edited the pots and the window as well.

It is supposed to be clouds in the window, but I'm unsure. Although the windows will eventually need to be modified anyway since I do want to make them animated. Somehow.

Animated windows are tricky unless your wall texture has actual holes in it, which can be tricky for other reasons. The way I did it before was with a special shader and then a couple screen-sized surfaces: one to capture the way the background/sky looks before walls get drawn over it, and another to use as masks for "open" areas of the windows. So it'd go something like this:

clear surfaces
draw background stuff
copy application_surface to custom surface 1
draw walls and window frames
set draw target to custom surface 2 instead of application_surface
draw black-and-white windowpanes
reset draw target to application surface
draw custom surface 1 with custom surface 2 as an alpha mask

As far as what you've done with the lighting, I think it's a big step up. I'm wondering if the stones in the back are supposed to look that round. Maybe they are, which is fine, but usually bricks laid in that fashion are flatter on the side which would mean less of a gradient between shades, harsher transitions.

The other thing is I can't really get a lead on how the tiles are supposed to be reflecting the light source. I did a quick-and-dirty photoshop to flip the tiles upside-down because that makes more sense to me, but maybe I'm just reading the image wrong. The reason I feel this way is because the floor is at a 90° difference from the wall, so it shouldn't necessarily have its highlight in the same corner since the maths would be different.

 

Kalentan

Member
I think the negative points that jump out at me from the example provided have nothing to do with lighting and more to do with palette. There seems to be little or no thought behind the overall color scheme, which is one of the most important aspects of art design

the high contrast floor tiles are also extremely distracting and will interfere with your sprite outlines if they walk over them

Animated windows are tricky unless your wall texture has actual holes in it, which can be tricky for other reasons. The way I did it before was with a special shader and then a couple screen-sized surfaces: one to capture the way the background/sky looks before walls get drawn over it, and another to use as masks for "open" areas of the windows. So it'd go something like this:

clear surfaces
draw background stuff
copy application_surface to custom surface 1
draw walls and window frames
set draw target to custom surface 2 instead of application_surface
draw black-and-white windowpanes
reset draw target to application surface
draw custom surface 1 with custom surface 2 as an alpha mask

As far as what you've done with the lighting, I think it's a big step up. I'm wondering if the stones in the back are supposed to look that round. Maybe they are, which is fine, but usually bricks laid in that fashion are flatter on the side which would mean less of a gradient between shades, harsher transitions.

The other thing is I can't really get a lead on how the tiles are supposed to be reflecting the light source. I did a quick-and-dirty photoshop to flip the tiles upside-down because that makes more sense to me, but maybe I'm just reading the image wrong. The reason I feel this way is because the floor is at a 90° difference from the wall, so it shouldn't necessarily have its highlight in the same corner since the maths would be different.

For the first post, I added some color in the following image among other changes to give it a more (hopefully) cohesive look and palette.

As for the animated windows, currently the windows aren't a hole, so you don't see the background, the "outside" is drawn on the window itself. I suppose either I could do a tileset of maybe make it an object?

gSLb.png
 

Exuro

Member
This is going to look like nothing, but I spent a ton of time rewriting my blocks/platforms to be based on components vs pure inheritance and I'm really happy with how powerful/flexible it's becoming. After getting all of my old ideas/code rewritten to components and up to parity I started working on having the player fall off the level and have the "start" block drop down, grab him and bring him back up. I'm gonna play around with falling and escher stuff(so you could fall on a platform that's higher than the platform you fell off of) hopefully next weekend(stupid college tests all this week).

 

Jobbs

Banned
A certain event in the main progress of the game awakens "warp plants" throughout the world, causing them to sprout in some old areas. They are technically one way, although some of them have another plant at the other end.

This allows shortcuts and sometimes access to secret areas. Other times a chain of them will take you through a series of rooms in the world in a deliberate order.

https://www.youtube.com/watch?v=x6nS6QrDL04
 
A certain event in the main progress of the game awakens "warp plants" throughout the world, causing them to sprout in some old areas. They are technically one way, although some of them have another plant at the other end.

This allows shortcuts and sometimes access to secret areas. Other times a chain of them will take you through a series of rooms in the world in a deliberate order.

https://www.youtube.com/watch?v=x6nS6QrDL04

I feel like I've seen that shape somewhere else before.
 

correojon

Member
For the first post, I added some color in the following image among other changes to give it a more (hopefully) cohesive look and palette.

As for the animated windows, currently the windows aren't a hole, so you don't see the background, the "outside" is drawn on the window itself. I suppose either I could do a tileset of maybe make it an object?

gSLb.png
That last pic is a huge improvement. As a general rule I wouldn't use "strong" colors for the background objects, ie: don't use full white, use shades of gray instead so the important elements like the player and enemies pop-up more. A scene with lots of constrast and vivid colors is hard on the eyes after a moment. I think you should still darken some more the floor tiles and turn everything that is white more gray-ish.
 

LordRaptor

Member
Any Unity3D guys know how I can change the shadow cast distance? I don't mean the distance a shadow casts from the camera, but from the object itself, so shadow attenuation. I need to reduce it since some of my optical illusion-y stuff looks off because the shadows are casting farther than I want. So I'm looking for a way to lower the distance a shadow casts from an object. Right now I'm guessing I can't do that with directional lighting, but I haven't found anything concrete on it. Everything is talking about camera distance that I've googled.

I think what you're asking about are the bias settings which will be on the directional light itself...?
 
So enemies in Wildfire will now knock out other enemies if they fall onto them.

Added to this, if they see a knocked-out / sleeping enemy, they will yell and wake them up.

I need to build new dialogue for this, but the behaviour is kinda funny:

EFsTenX.gif


I also gave arrows collision, because this is amazing:

7VSRcwZ.gif
 
Now I'm thinking about loading scenes, optimizing it, and making sure there's a gap in between...

Right now I tell the thing to fade out, and after it fades out entirely, wait for a pre-determined gap (0.25s) before letting it actually load. No gap = sometimes, when the game loads too fast, it looks jarring. There's no "expected" blackness, so the gap is intentionally introduced.

Is there a way so that it makes it so that:

1. The game loads the next scene as soon as the scene starts to fade out, instead of loading 0.25s after the scene is totally black.

2a. Let the gap between fade out and fade in if the next scene loads before the gap time is passed; after this time has passed, immediately load the scene

2b. If the next scene isn't loaded by then, continue displaying the gap until it's done, or throw up a "now loading"

*. Maybe I should spin out the fader functions so that they can be invoked to do whatever, to any colour/volume, for more flexibility in cutscene/battle use.

Just a bit curious on optimizing loading. :)

Code:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections;

public class SceneLoader : MonoBehaviour {
    public LoaderManager manager;
    public PlayerManager playerManager;
    public AudioManager audioManager;
    public FieldUIManager fieldUIManager;

    bool fadeGraphicsFinished = false;
    bool fadeAudioFinished = false;
    string sceneToLoad = "WorldMap";
    float nextSceneX = 0f;
    float nextSceneY = 0f;

    public float fadeDuration = 0.25f;
    public float fadeGap = 0.25f;

    // Shortcuts
    public Image faderImage;
    public CanvasGroup faderCanvas;
    public PlayerScript ps;

    // Use this for initialization
    void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
        if (playerManager == null || audioManager == null || fieldUIManager == null)
        {
            // Something isn't loaded yet
            if (manager == null)
            {
                manager = LoaderManager.Manager;
                manager.LoaderExists();
            }
            else if (playerManager == null)
            {
                playerManager = PlayerManager.Manager;
                ps = playerManager.player.GetComponent<PlayerScript>();
            }
            else if (audioManager == null)
            {
                audioManager = AudioManager.Manager;
            }
            else if (fieldUIManager == null)
            {
                fieldUIManager = FieldUIManager.Manager;
                faderImage = fieldUIManager.ui.GetComponent<FieldUIScript>().Fader.GetComponent<Image>();
                faderCanvas = fieldUIManager.ui.GetComponent<FieldUIScript>().Fader.GetComponent<CanvasGroup>();
            }
        }
        else
        {
            
        }
    }
    
    public void PrepareLoadScene(string sceneName, float x, float y, Color c, bool SkipAudioFade = false)
    {
        sceneToLoad = sceneName;
        nextSceneX = x;
        nextSceneY = y;
        faderImage.color = c;

        if (!SkipAudioFade)
        {
            StartCoroutine(FadeAudio());
            audioManager.keepPlayingThroughSceneLoad = false;
        }
        else
        {
            audioManager.keepPlayingThroughSceneLoad = true;
        }

        StartCoroutine(FadeDisplayOut());
        StartCoroutine(CheckIfReady());
    }

    IEnumerator LoadScene()
    {
        float time = 0;
        playerManager.player.transform.position = new Vector3(nextSceneX, nextSceneY, 0f);
        for (; time < fadeGap; time += Time.deltaTime)
        {
            yield return null;
        }
        fadeGraphicsFinished = false;
        fadeAudioFinished = false;
        SceneManager.LoadScene(sceneToLoad);
    }

    IEnumerator FadeAudio()
    {
        float time = 0;
        for (; time < fadeDuration + fadeGap; time += Time.deltaTime)
        {
            AudioListener.volume = ps.Data.Settings.masterVol - (time / (fadeDuration + fadeGap)) * ps.Data.Settings.masterVol;
            yield return null;// new WaitForSeconds(0.75f);
        }
        audioManager.Stop();
        fadeAudioFinished = true;
    }

    IEnumerator FadeDisplayIn()
    {
        float time = 0;
        for (; time < fadeDuration; time += Time.deltaTime)
        {
            faderCanvas.alpha = 1 - time / fadeDuration;
            yield return null;// new WaitForSeconds(0.75f);
        }
    }

    IEnumerator FadeDisplayOut()
    {
        float time = 0;
        for (; time < fadeDuration; time += Time.deltaTime)
        {
            faderCanvas.alpha = time/fadeDuration;
            yield return null;// new WaitForSeconds(0.75f);
        }

        fadeGraphicsFinished = true;
    }

    IEnumerator CheckIfReady()
    {
        while (!fadeAudioFinished || !fadeGraphicsFinished)
        {
            yield return null;
        }

        StartCoroutine(LoadScene());
    }

    void OnLevelWasLoaded()
    {
        StartCoroutine(FadeDisplayIn());
        AudioListener.volume = ps.Data.Settings.masterVol;
    }
}

As for NPC and object interaction, I suppose it's just a matter of ray-casting from the player to nearby objects in front on detection of the "Submit" button being pressed, no?

Still working on polishing the UI. Gave it distinct headers, complete with their own colours. Also it doesn't have broken keyboard controls now! Now to make sure it can, you know, actually start invoking keyboard focus when I toggle the menu in with Escape/controller X... right now no part of the UI has focus when you press Escape/button X, and the keyboard/controller input only works when you have moused over a UI element at least once. (And it starts interfering with normal controls once the system menu is closed, so also need a way to defocus it.)
 
So enemies in Wildfire will now knock out other enemies if they fall onto them.

Added to this, if they see a knocked-out / sleeping enemy, they will yell and wake them up.

I need to build new dialogue for this, but the behaviour is kinda funny:

EFsTenX.gif


I also gave arrows collision, because this is amazing:

7VSRcwZ.gif

Man I'm so impressed with how well this is coming along.
 

el_Nikolinho

Neo Member
So enemies in Wildfire will now knock out other enemies if they fall onto them.

Added to this, if they see a knocked-out / sleeping enemy, they will yell and wake them up.

I need to build new dialogue for this, but the behaviour is kinda funny:

EFsTenX.gif


I also gave arrows collision, because this is amazing:

7VSRcwZ.gif

Love the arrows! Can definitely see some awesome puzzle platforming with that
 

ephemeral

Member
So enemies in Wildfire will now knock out other enemies if they fall onto them.

Added to this, if they see a knocked-out / sleeping enemy, they will yell and wake them up.

I need to build new dialogue for this, but the behaviour is kinda funny:

EFsTenX.gif


I also gave arrows collision, because this is amazing:

7VSRcwZ.gif

That looks so awesome. Any console release planned?
 

Kalentan

Member
That last pic is a huge improvement. As a general rule I wouldn't use "strong" colors for the background objects, ie: don't use full white, use shades of gray instead so the important elements like the player and enemies pop-up more. A scene with lots of constrast and vivid colors is hard on the eyes after a moment. I think you should still darken some more the floor tiles and turn everything that is white more gray-ish.

tULb.png


I tried this and also tried to make the stones less round. Unsure if it looks better or not.

A little bit back on the topic of lighting, somehow I want this to happen:

It's a poor edit (and doesn't even account the torch), but somehow I want to get it so that when it thunders outside, it becomes like the second image for a moment.

While I'm not sure it would be dynamic, I wonder if what I could do is after making a map, draw a sort of overlay and then at times make the window objects change and then darken the overlay.
 
Status
Not open for further replies.
Top Bottom