• 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.

AndrewPL

Member
I want to upgrade but really want details on the console exporters. If they are free if you are registered developers for ps or Xbox I would have bought it 3 months ago...
 

Airan

Member
Does anyone have any Unreal Engine experience and can help me with this conundrum I have at the moment?

I'm trying to implement a lock-on camera system. Found a YT tutorial which got me started, but I'm aiming for a Nier Automata style camera where focal point is equidistant between the player and target. I do this by first offsetting the camera by a constant, then having the camera LookAt the midpoint between the player and target.

The problem arises when the distance between player and target are close enough that the static offset of the camera forces it to continuously rotate to try and focus on the midpoint. But because the offset length is constant, the camera will never reach B so it just keeps spinning.

I've made some illustrations:

dmPdv9G.jpg


where A is the player, B is the midpoint/target, C is the camera, CB is the camera boom (a Spring Arm Component) and CBO is the offset from the camera boom's endpoint.

The problem is illustrated below:

B9CAjy4.jpg


When B is too short, C will try to pivot around A, but the constant offset of the camera means that it will never reach B, and so it'll just spin endlessly.

I thought up two ways to solve the problem, but I don't know how to do either:

1. Rotate the camera C on itself (instead of pivotting around A). I've tried to apply SetWorldRotation of the camera component to the LookAt vector, but that doesn't seem to work... The camera doesn't even rotate.

2. Shorten the distance of cb -> cbo (or a->c) so that c -> b will meet again. Unfortunately my trig is poor, and I can't figure out any solutions that do not involve rotation of C's angle (which really just brings me back to solution 1)

Anyone got any ideas?
 

Five

Banned
Does anyone have any Unreal Engine experience and can help me with this conundrum I have at the moment?

I'm trying to implement a lock-on camera system. Found a YT tutorial which got me started, but I'm aiming for a Nier Automata style camera where focal point is equidistant between the player and target. I do this by first offsetting the camera by a constant, then having the camera LookAt the midpoint between the player and target.

The problem arises when the distance between player and target are close enough that the static offset of the camera forces it to continuously rotate to try and focus on the midpoint. But because the offset length is constant, the camera will never reach B so it just keeps spinning.

I've made some illustrations:

dmPdv9G.jpg


where A is the player, B is the midpoint/target, C is the camera, CB is the camera boom (a Spring Arm Component) and CBO is the offset from the camera boom's endpoint.

The problem is illustrated below:

B9CAjy4.jpg


When B is too short, C will try to pivot around A, but the constant offset of the camera means that it will never reach B, and so it'll just spin endlessly.

I thought up two ways to solve the problem, but I don't know how to do either:

1. Rotate the camera C on itself (instead of pivotting around A). I've tried to apply SetWorldRotation of the camera component to the LookAt vector, but that doesn't seem to work... The camera doesn't even rotate.

2. Shorten the distance of cb -> cbo (or a->c) so that c -> b will meet again. Unfortunately my trig is poor, and I can't figure out any solutions that do not involve rotation of C's angle (which really just brings me back to solution 1)

Anyone got any ideas?

float n = Vector3.Magnitude(a,b);
cbo = n<maxCBO?n:maxCBO;
 

Airan

Member
float n = Vector3.Magnitude(a,b);
cbo = n<maxCBO?n:maxCBO;

Thanks man. I ended up doing |A->B| < |A->C| ? CBO/2 : CBO. It works great. Now I'm going to work on making offset lerp based on |A->B| / |A->C| (at least, I think that's how it should be done...).
 
After releasing Stage Presence I decided I needed a short palate cleanser project to work on before I dive into a fresh, full project. This is an old vague-but-pretty walking sim I never finished - I dug it out and made this new title screen for it yesterday. With any luck I can have it fleshed out, polished up and up on Steam in a few months. Then I can crack on something new!

click for the full video
 

Five

Banned
I don't know how recent this is but in Unity SceneManager.UnloadScene has been deprecated. According to the documentation "This cannot be called during various physics and visibility callbacks like OnTriggerEnter or OnBecameVisible. This limitation is the reason this function is not recommended to use." which I completely get. But then SceneManager.UnloadSceneAsync has this warning in the documentation "Note that [...] due to it being async there are no guarantees about completion time."

I guess my question is why would they deprecate a function if there's no complete replacement for it? Or, more to the point, is this ever going to get me in trouble down the line if Unity decides to update its codebase to cull deprecated functions?
 
I don't know how recent this is but in Unity SceneManager.UnloadScene has been deprecated. According to the documentation "This cannot be called during various physics and visibility callbacks like OnTriggerEnter or OnBecameVisible. This limitation is the reason this function is not recommended to use." which I completely get. But then SceneManager.UnloadSceneAsync has this warning in the documentation "Note that [...] due to it being async there are no guarantees about completion time."

I guess my question is why would they deprecate a function if there's no complete replacement for it? Or, more to the point, is this ever going to get me in trouble down the line if Unity decides to update its codebase to cull deprecated functions?

I think the idea is to keep loading/unloading off the main thread so it's not a blocking operation. Loading is pretty easy, since you can toss it in an IEnumerator and yield until it completes. With unloading I'd imagine it works the same way. Unloading actually seems like less of a problem, as I can't think of a reason as to why you'd need perfectly-timed unloading, especially if it happens in the background.

As to your second question -- if you rely on deprecated methods and they get removed (which will likely happen eventually) then, yeah, you're kind of hosed. I mean, it won't magically destroy your project, but it won't compile and you'll have to move to the recommended method anyway.

So, if you need to stick with UnloadScene, that's totally fine. Just be aware that at any point in the future a new version of Unity might not include it. Otherwise, if you don't need to stick with UnloadScene, switching to UnloadSceneAsync now will save you some headache later.
 

Five

Banned
I think the idea is to keep loading/unloading off the main thread so it's not a blocking operation. Loading is pretty easy, since you can toss it in an IEnumerator and yield until it completes. With unloading I'd imagine it works the same way. Unloading actually seems like less of a problem, as I can't think of a reason as to why you'd need perfectly-timed unloading, especially if it happens in the background.

As to your second question -- if you rely on deprecated methods and they get removed (which will likely happen eventually) then, yeah, you're kind of hosed. I mean, it won't magically destroy your project, but it won't compile and you'll have to move to the recommended method anyway.

So, if you need to stick with UnloadScene, that's totally fine. Just be aware that at any point in the future a new version of Unity might not include it. Otherwise, if you don't need to stick with UnloadScene, switching to UnloadSceneAsync now will save you some headache later.

Well I'm content to have the game not do anything until it's done loading. I need to call a bunch of scripts to iterate through the newly loaded scene and I don't want any of the yet-unloaded game objects to be counted. There's nothing else the I want the game to be doing in the mean time.

Thanks for the answer though. That's pretty much what I expected.
 
Well I'm content to have the game not do anything until it's done loading. I need to call a bunch of scripts to iterate through the newly loaded scene and I don't want any of the yet-unloaded game objects to be counted. There's nothing else the I want the game to be doing in the mean time.

I'd suggest keeping everything in each scene under a "container" GameObject (named after the scene or something), so you can easily tell what's part of what scene. Then it's just a matter of checking what's a child of what container object.

Alternatively, Scenes should now keep track of the GameObjects that are contained in them, so you might want to check out Scene.GetRootGameObjects.

Or, if you're content to just let the game unload before loading, throw the unloading and loading code in an IEnumerator and yield on each method's AsyncOperation. That'll effectively "block" things up until each operation is completed, ensuring that everything happens sequentially.
 

Minamu

Member
So as you guys might know, Udemy has allt of courses on sale now. There are some programming stuff and a big unity course for 10$ each if you use codes. Is it any good?
 

Five

Banned
I'd suggest keeping everything in each scene under a "container" GameObject (named after the scene or something), so you can easily tell what's part of what scene. Then it's just a matter of checking what's a child of what container object.

Alternatively, Scenes should now keep track of the GameObjects that are contained in them, so you might want to check out Scene.GetRootGameObjects.

Or, if you're content to just let the game unload before loading, throw the unloading and loading code in an IEnumerator and yield on each method's AsyncOperation. That'll effectively "block" things up until each operation is completed, ensuring that everything happens sequentially.

Oh, okay. Sounds good. Thank you so much! &#9829;
 

MrHoot

Member
Eyyyy new stuff

Been working on just modelling out and doing the idle for one of the first bosses of the game, the tatzelwurm

5a29413d1e.gif


Already redid his idle since exporting this gif. Animating snake like things is quite tricky !
 

oxrock

Gravity is a myth, the Earth SUCKS!
APPARENTLY altering a unity collider's radius in the start function breaks it (at least it's OnTriggerEnter ability). I wish I had known that before wasting 10 hours trying to debug a game that was working perfectly fine otherwise! Moved that line to Awake() and WALA! magically fixed. I see mention of this nowhere at all. But I have tested this thoroughly and proven this to be the case. So screw you Unity, I'm going home.

Eyyyy new stuff

Been working on just modelling out and doing the idle for one of the first bosses of the game, the tatzelwurm

5a29413d1e.gif


Already redid his idle since exporting this gif. Animating snake like things is quite tricky !

The animation feels rigid but i definitely like the art, that guy looks creepy.
 

MrHoot

Member
The animation feels rigid but i definitely like the art, that guy looks creepy.

Indeedy. I already did some work on my end to make it look less rigid, but I think it's time to use that path constraint thingie in spine. After all it's been made specifically for these kind of situations.

The hardest thing will be the pose changes on this one. He won't have a lot but since I want to avoid the puppeteering look, it will be necessary
 

missile

Member
Thought I would put my Fresnel equation to some good use and dealt a bit with
refraction during the last days and gone a little bit nuts with it. I also
tried area light sources and have improved the rendere here and there. So
here is a hq image combining the new stuff together. Beware, this will never
be realtime, it just serves me as a reference later one. Well, proper
refraction is way too expensive. But I think if you won't build a game around
refraction it can be made fast, for example by just refracting the closed
surface and index into a suitable map and be done with it. Anyhow.

xuOYrji.png
 

Blizzard

Banned
Thought I would put my Fresnel equation to some good use and dealt a bit with
refraction during the last days and gone a little bit nuts with it. I also
tried area light sources and have improved the rendere here and there. So
here is a hq image combining the new stuff together. Beware, this will never
be realtime, it just serves me as a reference later one. Well, proper
refraction is way too expensive. But I think if you won't build a game around
refraction it can be made fast, for example by just refracting the closed
surface and index into a suitable map and be done with it. Anyhow.

xuOYrji.png
Have you ever written a ray-tracing renderer? Those sorts of effects seem suitable to one.
 

missile

Member
Have you ever written a ray-tracing renderer? Those sorts of effects seem suitable to one.

My rendere is now a mixed one. The refraction is actually traced. Seems to be
quite interesting using the best from different rendering techniques. It also
seems that the better ones trace a lot these days. There are implementation
approaches which also favor such mixed techniques (render to id buffer, used
in checkerboard rendering) with you only having to trace a couple of secondary
rays -- sort of accelerating raytracing via z-buffer techniques. Anyhow. The
future looks great, for the graphics hardware becomes so fast and programmable
like crazy. I think in a couple of years everyone can build his/her own
specific rendere/plugins as needed.
 
haven't posted here in months. We're still working on our game, a Silent Bomber inspired game. Still a 2 man team and still working on the game during weekends.I'm doing all the art/vfx/animation etc.

So the game currently
looks like this,

And moves likes this.
WAhryiY.gif


Not sure when are we going to finish this game but we're enjoying the dev so far(no pressure), and I learned a lot of things and slowly writing our own shaders.

we mostly post updates on twitter every weekend.


EDIT:

Bonus Banner
 

MrHoot

Member
69aa488892.gif


Been using the path tool for the first time instead of the bones for this guy. Already some improvements ! Gotta redraw the tufts separately so they don't look as mushed but it's pretty fun
 

LordRaptor

Member
What do you think is the easiest genre to make on Unity?

The engine was specifically originally designed for third person ps2 style action games, so the engine is sort of inherently biased towards making those...?
Having said that, something like 50% of all mobile titles are made in Unity, so by sheer weight of market forces 'mobile' if that counts as a genre.
 
The engine was specifically originally designed for third person ps2 style action games, so the engine is sort of inherently biased towards making those...?
Having said that, something like 50% of all mobile titles are made in Unity, so by sheer weight of market forces 'mobile' if that counts as a genre.

Hmm, I'm still not sure what to try and make.
 
haven't posted here in months. We're still working on our game, a Silent Bomber inspired game. Still a 2 man team and still working on the game during weekends.I'm doing all the art/vfx/animation etc.

So the game currently looks like this,

And moves likes this.
WAhryiY.gif


Not sure when are we going to finish this game but we're enjoying the dev so far(no pressure), and I learned a lot of things and slowly writing our own shaders.

we mostly post updates on twitter every weekend.


EDIT:

Bonus Banner


Looks great. Love the flow/particle effects , are they all custom made ?
 

Clessidor

Member
Hmm, I'm still not sure what to try and make.
I think, it really depends of what are you capable of and what you really want to do. When my brother learned Unity, he also came to the point where he wanted to make just one first simple game for himself. The game he made is a five-level 2D fish game, where you have to swim from left to right, collect coins for the score, and avoid enemies and obstacles. Just to give you an example.
 

Ianan

Member
I've been starting and scrapping projects like crazy recently and it's irritating me so much.
I keep going between Unity and Unreal all the time, I seriously need to stick with one or the other and focus my efforts.

Anyone been in this position before?
 

Water

Member
What do you think is the easiest genre to make on Unity?
If you're light on programming skill, then definitely some kind of real-time action game where characters move in the game world and most of the game's interactions come from "this touches that" type mechanics, nothing that's dependent on exact physics. Something like:
https://en.wikipedia.org/wiki/Commando_(video_game)

What kind of ability / resources you have for graphical assets is also important. If you aren't an artist and do not have one on tap, you kinda need to look towards abstract styles / themes (think Geometry Wars).
 

LordRaptor

Member
Hmm, I'm still not sure what to try and make.

I mean... I don't know your situation, where your strengths and weaknesses lie, where your interests are focused, or what your motivations for making a game are, but it's probably a good idea to think more in terms of what you'd like to make than what you think would be a good fit.

Take that idea of a game you'd like to make - unless your dream game is something incredibly simple - and shelve it, because its probably way too ambitious, and break it down into component elements. Is it an FPS? Then maybe a good first project would be a shooting gallery - no movement, no AI to speak of, no real levels, no powerups, just a crosshair you put over cubes that disappear a few seconds after they spawn, and scores for hitting them. Take that one idea, then polish the shit out of it until you have an actual game from it - and everything you learn doing that is easily transferable into remaking that idea with slightly more ambition next time around, and so on and so on.

If you don't have any idea at all what to do, take the same principle - pick an old game you enjoyed, or that you think might be achievable (or browse unity tutorials for something that seems interesting as a base to build on) and try reimagining it for a contemporary audience (insert youtube video about JUICE! here).

Like... take asteroids. Pretty simple concept game.
How about asteroids with power ups?
How about asteroids with RPG-lite systems, like EXP and cash, with skill trees to spend EXP in and shops to buy equipment in?
How about with unlockable ships each with different powers and statistics like health, fire rate, damage, etc?
How about with a storyline? How about with a dynamic storyline based on the results of conversation choices between levels?
I mean, you get my point, you can pretty much sex up anything however you choose to do so.
 

Tain

Member
The engine was specifically originally designed for third person ps2 style action games, so the engine is sort of inherently biased towards making those...?

Huh, interesting. Any more info on its origins?

Hmm, I'm still not sure what to try and make.

You just gotta find a good balance between what kind of games you're passionate about and what's feasible. Lucky for me I love 2D shooting games, and it just so happens that those are really easy to make the base mechanics for due to a lack of physics-based movement and very simple collision, so that was a natural starting point.
 

embalm

Member
I mean... I don't know your situation, where your strengths and weaknesses lie, where your interests are focused, or what your motivations for making a game are, but it's probably a good idea to think more in terms of what you'd like to make than what you think would be a good fit.

Take that idea of a game you'd like to make - unless your dream game is something incredibly simple - and shelve it, because its probably way too ambitious, and break it down into component elements. Is it an FPS? Then maybe a good first project would be a shooting gallery - no movement, no AI to speak of, no real levels, no powerups, just a crosshair you put over cubes that disappear a few seconds after they spawn, and scores for hitting them. Take that one idea, then polish the shit out of it until you have an actual game from it - and everything you learn doing that is easily transferable into remaking that idea with slightly more ambition next time around, and so on and so on.

If you don't have any idea at all what to do, take the same principle - pick an old game you enjoyed, or that you think might be achievable (or browse unity tutorials for something that seems interesting as a base to build on) and try reimagining it for a contemporary audience (insert youtube video about JUICE! here).

Like... take asteroids. Pretty simple concept game.
How about asteroids with power ups?
How about asteroids with RPG-lite systems, like EXP and cash, with skill trees to spend EXP in and shops to buy equipment in?
How about with unlockable ships each with different powers and statistics like health, fire rate, damage, etc?
How about with a storyline? How about with a dynamic storyline based on the results of conversation choices between levels?
I mean, you get my point, you can pretty much sex up anything however you choose to do so.

I just want to say that this is a very good post and is something every indie dev should take to heart.
 

Pehesse

Member
I mean... I don't know your situation, where your strengths and weaknesses lie, where your interests are focused, or what your motivations for making a game are, but it's probably a good idea to think more in terms of what you'd like to make than what you think would be a good fit.

Take that idea of a game you'd like to make - unless your dream game is something incredibly simple - and shelve it, because its probably way too ambitious, and break it down into component elements. Is it an FPS? Then maybe a good first project would be a shooting gallery - no movement, no AI to speak of, no real levels, no powerups, just a crosshair you put over cubes that disappear a few seconds after they spawn, and scores for hitting them. Take that one idea, then polish the shit out of it until you have an actual game from it - and everything you learn doing that is easily transferable into remaking that idea with slightly more ambition next time around, and so on and so on.

If you don't have any idea at all what to do, take the same principle - pick an old game you enjoyed, or that you think might be achievable (or browse unity tutorials for something that seems interesting as a base to build on) and try reimagining it for a contemporary audience (insert youtube video about JUICE! here).

Like... take asteroids. Pretty simple concept game.
How about asteroids with power ups?
How about asteroids with RPG-lite systems, like EXP and cash, with skill trees to spend EXP in and shops to buy equipment in?
How about with unlockable ships each with different powers and statistics like health, fire rate, damage, etc?
How about with a storyline? How about with a dynamic storyline based on the results of conversation choices between levels?
I mean, you get my point, you can pretty much sex up anything however you choose to do so.

Emphatically agree. I was trying to figure out how to phrase this exact answer, so.. yeah, this.
 

MimiMe

Member


Been using the path tool for the first time instead of the bones for this guy. Already some improvements ! Gotta redraw the tufts separately so they don't look as mushed but it's pretty fun

thats an ugly mofo! I am saying it as a compliment.
how does he fit into the action?
 
Anyone play with Live2D?

I'm trying to learn it, and it seems easy as someone who works alot with After Effects, but it'll take time to figure out.

(not my art, just a Live2D example)
yandere-Copy.gif


My only gripe so far is the interface's text dosnt scale up on higher resolution screens.

Going to be building a visual novel with Live2D and TyranoBuilder
 

Astrael

Member
Anyone play with Live2D?

I'm trying to learn it, and it seems easy as someone who works alot with After Effects, but it'll take time to figure out.

My only gripe so far is the interface's text dosnt scale up on higher resolution screens.

Going to be building a visual novel with Live2D and TyranoBuilder

I downloaded the free version awhile back when it first released, but totally forgot about this program. I should give the new versions another shot since it would help with animating dialog portraits, but I do remember being a bit overwhelmed with its interface though the one time I opened it. Since you compare it to After Effects I'll try going in with that mindset next attempt.
 

missile

Member
Hey guys 'n gals, what about some pixelized soft-shadows?

3S4EGeO.gif


7v8YDv1.gif


dp6LyId.gif


I tried to reduced the computational load for computing soft-shadows seen in
my last post and applied a similar technique I used for the pixelized
defocusing blur from a couple of moths ago, which works wonders again. Here I
do sample the light source once per pixel but not in a random fashion yet
it looks like it, but the pattern doesn't move nor jitters.

Some further improvements to make:
Well, this technique is currently couple with the sceen space and produces
sort of a lock-in or screendoor effect under some given circumstances, but you
won't notice it that much esp. not if the light source is moving or if the
screen resolution increases. However, here you can see it to some degree;

NrCfs5D.gif


But I think I can eliminate it by doing everything in texture space, sort of
computing a shadow map per polygon in 3d space. Given such a map it would
also be possible to interpolate the missing samples by doing a Shepard
interpolation (on unstructured/scattered data) making the pixelized
soft-shadows more smooth if needed.

Technically, the method I developed here is grounded in doing the rudest
approximation possible (away from a constant) to the integral over the
hemisphere you can image. xD I want to apply this technique to some global
illumination further down, sort of computing a pixelixed global illumination
effect!
 

missile

Member
Plays nice with the pixelized defocusing blur as well! There is no visible
pattern aliasing when the blur combines with the soft-shadow. Man, that's
amazing! :)

yCW2Cj5.gif
 
Status
Not open for further replies.
Top Bottom