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

Indie Game Development Discussion Thread | Of Being Professionally Poor

Status
Not open for further replies.

domino99

Neo Member
concept1.png

http://beyondhumanproject.com/
oooh I like the atmosphere here. Look forward to seeing more :)

Thanks :)


How many metroid style games are in this thread now? :p

Looks really nice, are you animating the sprite with drawn frames or using pieces to make up the character?
Thank you, the animation are drawn I will be posting some gifs soon
 
Thanks for the kind words. Your ships need to be in a game. Finish ghost song so we can all play it and get after your ship game :)

The lighting didn't address all the 'flat' feel issues unfortunately. With our 3d ships, we had then lean into / tilt turns about 20 degrees. I tried tilting or scaling width of the 2d sprites thinking it would also help but it actually just makes the 2d ship instantly look paper thin -- paper mario style. In fact having the lighting shift actually amplifies the paper thin feel if you tilt the quad. The human eye is amazing at picking up the fact the lighting and perspective of the ship isn't changing on a tilt -- had to take a vid of it it looked so bad:

ibr0fZdrLunyXO.gif


Also lost, moving to 2d ships, is having any parts rotating in the depth axis like we had the engine section rotating of our krex ship.

All in all I think moving to 2d ships is more practical for our small indie team and budget (lack thereof). I think with lighting and maybe a couple other tricks/tweaks it will be plenty 'good enough'. There are of course drawbacks on the 3d side as well. Zooming out to very small ships for long range battle for example, 3d models tend to alias and go jaggy even with moderate aa levels. All tradeoffs 3d vs 2d.

On another positive side for our game, I do think 2d ships are more artistically consistent with our aliens, intro, and story scenes.



Thanks missle. I like lower level topics too. Though, I'm guilty of posting shallow end-result screenshots looking for kudos or feedback. I guess the mix of both is what makes this thread what it is. I have to admit most of what I'm working on day to day isn't very worthy of a deep look from the dev perspective as it is just hooking up routine stuff and tweaking visual things.

I enjoy your posts a lot.... many have me really scratching my head trying to technically understand what you've done and how you did it :)

Actually there is a way to fake it but it takes time to do. I am not sure if you saw the Diablo III presentation sometime ago, I did something similar for testing and works fine, basically what you to is build a very very basic representation of your ship in 3d , for example you can make 3 planes and the one in the middle is a ^ seen from the front, so when you rotate a little bit your sprite you will feel like it has volume but actually is just a bunch of planes with some volume. I can't remember exactly from where I got the PPT presentation with videos showcasing all the D3 stuff, but the interesting part is about how they faked trees to look like paintings but are actually super low polys with perspective. If you want I can post it somewhere if no one else has it.
 

friken

Member
Actually there is a way to fake it but it takes time to do. I am not sure if you saw the Diablo III presentation sometime ago, I did something similar for testing and works fine, basically what you to is build a very very basic representation of your ship in 3d , for example you can make 3 planes and the one in the middle is a ^ seen from the front, so when you rotate a little bit your sprite you will feel like it has volume but actually is just a bunch of planes with some volume. I can't remember exactly from where I got the PPT presentation with videos showcasing all the D3 stuff, but the interesting part is about how they faked trees to look like paintings but are actually super low polys with perspective. If you want I can post it somewhere if no one else has it.

Thanks for the input. I did see some d3 stuff about how they did some amazing looking stuff w low poly/planes. There are definitely methods to fake it w/ enough effort put into it. I mainly posted that paper thin tilting gif to show how easily the human eye sees paper thin when just tilting the quad on the depth axis. I've started playing w a subtle width scale w/o tilting and the effect while subtle gives pretty nice result.
 

missile

Member
... Keep those posts coming, that's really interesting & informative! Will you do the signal processing in the retro engine via shaders / GPGPU? I assume CPU won't be fast enough for large resolutions..
Glad you like it. I've recognized that you're also quite interested in how
things work from the bottom up going by some of your posts. :+

Well, about the shaders resp. GPGPU. Basically, I would be pleased if someone
would allow me to do all this stuff for the Compute Units of the PS4 or
similar, but that may have to wait awhile, I guess. For sure, having
everything on the CPU won't scale that much but doing so is very important for
being able to control the inner workings of any of the components before
transferring any of them to other systems. Without doing so a faster system
would just give me the wrong answer faster. For the most part I try to keep
everything as plain as possible (structure-wise) which would later allow me
to transfer the stuff more easily, yet it is also quite useful doing so while
embedding the methods etc. in other software packages.

However, the primary aspect in all of this is being in control of the entire
thing. I don't care that much about the scale for now. A possible game of mine
must comply with the resources available and limits imposed by the engine. I'm
not willing to give up control of the inner workings just because the game may
needs more resolution or frames. Being in control of the inner workings will
allow me to do stuff difficult to do using other possibly huge software
packages. And it is here where I think I can make a difference. Speaking about
performance, current systems (PC, mobiles etc.) are so fast that I think there
is plenty of resources to put to good use. However, there is a downside. Being
in control means you have to understand what's going on. And this untimely
leads to chewing a lot of technical stuff others take for granted. Basically,
it's a different approach, other side of the spectrum so to speak. ;)

The trick then is to make use of said control and knowledge in a way different
to what the standard does. So for example, spending the time on the Retro
Spectral Analyzer should better result into something you won't see on a daily
basis, since otherwise it isn't worth the effort. But it won't. Don't suppose
am going to build some standard filters anyone uses without even thinking a
second about it. xD To give you just one example; I want to design special IIR
filters that have special (designed) non-linear phase for making the filtering
effect dependent on the frequency. This has some really nice implications I
haven't seen anywhere else in video games, because everyone uses FIR filters
(linear phase). So there is potential. However, without being in control of a
spectral analyzer it becomes pretty difficult doing such things even remotely.
And since I don't have a large team on my back to produce huge quantities, am
trying do produce small stuff yet with a very specific quality. That's my take
in the whole game development business. And for this I have to dig deeper on a
lot of things. But I like it. And there is no stopping. Basically, am looking
for people who follow a similar approach; digging deep, producing unique
qualities! :+

For the time being, lets have a look through the spectrum of a digital signal;

NG_RSA_spectrumdecompose.gif


8)
 
Thanks :)



Thank you, the animation are drawn I will be posting some gifs soon

This looks killer. I'll be keeping an eye on this one. I've always wanted to tackle a Metroid style game in some fashion. I've tossed an idea around of something that was a mix between that and the divisive Zelda II. I still think there are some redeeming aspects to that game that could be drawn out.
 
I'll definitely look into crazybump. I also want to look into an easiest method to make a 3d model from the sprite/normal for 3d printing and promo art material.

Given you're moving to 2D 'faked 3D' because its faster to generate a volume of assets, would it make more sense to actually model the occasional asset for promo / 3D printing work instead?

It would mean redoing the same assets you choose for promo use twice, once in 2D and once in 3D, but I can't help feeling the results would be much nicer that way, and promo stuff never has to obey the same polycount etc as promo material pre-renders do, so you could go all out with that.
 

Alebeard

Neo Member
Question for the thread!
Im finally starting on a personal project, a tactics games that I can only kinda compare to xcom/fontmisson/banner saga ish systems. I'm an art guy, illustration and 3d mostly with some animation. Hilariouly over the top mech tactics customization are the basic ideas.
Say I want to start prototyping ideas in a 3d space. You know, figuring out grids and movement systems and all the fun math and probability bits that I have sitting in an spreadsheet and on paper. This is just a project I want to mess around with in potentially 3d, basic simple cubes and stuff nothing fancy. Just to see if I can do it/see if its actually fun.
I've got some experience with C#, Java and Html5. Small amounts, granted. but I think its enough to maybe start something. Any suggestions what I should be looking for as far as engine goes? I've got no idea where to actually start.
 

Blizzard

Banned
Speaking of GPGPU, I went to a CUDA presentation/class this week. CUDA is nVidia's platform/programming model that lets you write code to run on GPUs instead of CPUs. They showed us the C/C++ interface. You can quite easily write a chunk of code which then gets scaled to tons of different "blocks" and "threads" in the GPU.

It was quite a cool class, though it sounds like there is not a great way (with a single GPU) to say that you only want to use some percentage of the GPU for processing, and devote the rest to traditional rendering tasks. They described that as more empirical, so I guess you just experiment and find out what works.

I haven't really looked into OpenCL for cross-GPU compatibility, but it certainly looks like nVidia's platform is very nice. I have a GTX 770 so I might be able to experiment with it on my own.
 

OldRoutes

Member
Question for the thread!
Im finally starting on a personal project, a tactics games that I can only kinda compare to xcom/fontmisson/banner saga ish systems. I'm an art guy, illustration and 3d mostly with some animation. Hilariouly over the top mech tactics customization are the basic ideas.
Say I want to start prototyping ideas in a 3d space. You know, figuring out grids and movement systems and all the fun math and probability bits that I have sitting in an spreadsheet and on paper. This is just a project I want to mess around with in potentially 3d, basic simple cubes and stuff nothing fancy. Just to see if I can do it/see if its actually fun.
I've got some experience with C#, Java and Html5. Small amounts, granted. but I think its enough to maybe start something. Any suggestions what I should be looking for as far as engine goes? I've got no idea where to actually start.

Mess around with Unity to prototype and see if perhaps you want to move after.

Unity is still the fastest way to prototype, IMO.
 

Five

Banned
There's actually multiple different types of colour blindness and it is really hard to be able to cover all of them - Red/Green colour blindness is the most common, but it actually ranges to full on 'can only see in greyscale'.

What you see most pattern matching games use (match 3 puzzle games for example) is to have optional symbol recognition in addition to just colours.

Depending on how much you want to cater for player ease of usability (which is sounds like you already are to some extent by adding colour pattern recognition as an alternative to an audio based puzzle) would be to add some symbolic recognition as well, or to offer an alternative means of progression for people who literally cannot solve that puzzle (some sort of resource cost to bypass, or some sort of time gating that lets someone brute force it if they've been there too long or whatever).

Without knowing the specifics of your puzzle, I can't be more specific with alternative solutions, but most puzzles introduced to non-puzzle genre games designed to be time gates (road bumps) for content, rather than gateways (road blocks).

From what I've seen of your game, it seems to be a metroidvania style platformer, so perhaps you could offer an alternative method of bypass that relies on a different player skill; so let people who want to use congitive skill solve a puzzle, but have an optional miniboss who drops the player solution to allow for a reflexive skill solution as well?

Hmm, yeah, I figured I'd have to resort to symbol recognition. In the interest of variation, I've already got other kinds of trials in the game besides this one, so I don't want to change what it is too much. Thanks for the feedback!

If I use color matching going forward, it'll probably just be two-colored instead of using five like this one to make things simpler.
 

missile

Member
Speaking of GPGPU, I went to a CUDA presentation/class this week. CUDA is nVidia's platform/programming model that lets you write code to run on GPUs instead of CPUs. They showed us the C/C++ interface. You can quite easily write a chunk of code which then gets scaled to tons of different "blocks" and "threads" in the GPU. ...
Do I have to pay for using this interface?
 
My #LowRezJam entry, Marble Incline, is starting to come along quite well! I just need to make sure that the time saves are possible.


Also, my Ouya finally came in today. Won it in a YouTube contest. Looking forward to tinkering with it.

BoVVJiXCQAAmBLA.jpg
 

karaokelove

Neo Member
Question for the thread!
Im finally starting on a personal project, a tactics games that I can only kinda compare to xcom/fontmisson/banner saga ish systems. I'm an art guy, illustration and 3d mostly with some animation. Hilariouly over the top mech tactics customization are the basic ideas.
Say I want to start prototyping ideas in a 3d space. You know, figuring out grids and movement systems and all the fun math and probability bits that I have sitting in an spreadsheet and on paper. This is just a project I want to mess around with in potentially 3d, basic simple cubes and stuff nothing fancy. Just to see if I can do it/see if its actually fun.
I've got some experience with C#, Java and Html5. Small amounts, granted. but I think its enough to maybe start something. Any suggestions what I should be looking for as far as engine goes? I've got no idea where to actually start.

Unity is probably your best bet, but for early prototyping I'd actually recommend doing it in the real world. Buy some miniatures (Heroclix work great for this), pick up a grid or hex map, and play your game, using spreadsheets, calculators, notebooks, or whatever you need to keep track of any of the complicated mechanics that make your game better suited to digital release. This is by far the easiest and quickest way to prototype, from my experience. Good luck with your project!
 

missile

Member
^ Definitely an option for the future now that one can use proper C/C++ data
structures referencing any memory in the whole system without the need to
copy them over. Ha! Nice. People will start to (abuse) program almost
anything on a GPU, i.e. trees etc. So implementing complex data structures are
now possible on nvidia hardware. Good.
 
Hmm, yeah, I figured I'd have to resort to symbol recognition. In the interest of variation, I've already got other kinds of trials in the game besides this one, so I don't want to change what it is too much. Thanks for the feedback!

If I use color matching going forward, it'll probably just be two-colored instead of using five like this one to make things simpler.

Again, just looking at your posted image to second guess your mechanics, you already have 2 of the 5 gravestones with iconic centrepieces - you could potentially have all 5 with a different icon, and then clues as to the correct icon as part of the puzzle?

Alternatively you could 'texture' the gravestones in such a way that you provide iconic clues in addition to the colour, so one would be 'plain', one would be horizontally striped, one vertically striped, one crosshatched, and one tiled? Or maybe use the shape of the headstone to provide that symbol recogntion, although this obviously would make them all look a lot less 'gravestoney', if you see what I mean.
 

Blizzard

Banned
^ Definitely an option for the future now that one can use proper C/C++ data
structures referencing any memory in the whole system without the need to
copy them over.
Ha! Nice. People will start to (abuse) program almost
anything on a GPU, i.e. trees etc. So implementing complex data structures are
now possible on nvidia hardware. Good.
They mentioned this briefly as a crazy new extension, I think.

The basic (most widely supported? most common?) functionality still uses steps to copy data from system memory to GPU memory and vice versa. I like that anyway since you have better control and can do your allocation/free/copy exactly when you want to. It's very simple, similar to the normal C memcpy() call anyway.
 

Five

Banned
Again, just looking at your posted image to second guess your mechanics, you already have 2 of the 5 gravestones with iconic centrepieces - you could potentially have all 5 with a different icon, and then clues as to the correct icon as part of the puzzle?

Alternatively you could 'texture' the gravestones in such a way that you provide iconic clues in addition to the colour, so one would be 'plain', one would be horizontally striped, one vertically striped, one crosshatched, and one tiled? Or maybe use the shape of the headstone to provide that symbol recogntion, although this obviously would make them all look a lot less 'gravestoney', if you see what I mean.

Well, the idea is to not know which pairs match until you've struck them. So something that's immediately visible would spoil the puzzle. The headstones appearance is more of a red herring.

The solution I've decided on for now is to have a ghost pop up when you strike one of the headstones, similar to flipping a card in a matching game. These are the ones I've drawn so far:

MatchingGhostsExample.png
 

missile

Member
They mentioned this briefly as a crazy new extension, I think.

The basic (most widely supported? most common?) functionality still uses steps to copy data from system memory to GPU memory and vice versa. I like that anyway since you have better control and can do your allocation/free/copy exactly when you want to. It's very simple, similar to the normal C memcpy() call anyway.
Not to mention the GPUs memory is much faster.
 

Alebeard

Neo Member
Unity is probably your best bet, but for early prototyping I'd actually recommend doing it in the real world. Buy some miniatures (Heroclix work great for this), pick up a grid or hex map, and play your game, using spreadsheets, calculators, notebooks, or whatever you need to keep track of any of the complicated mechanics that make your game better suited to digital release. This is by far the easiest and quickest way to prototype, from my experience. Good luck with your project!

Yeah, thats what I've been doing as of late, the board game version. now I want to push it a little further. Do a bunch of UI design as well, cause good UI design is really hard.
:D thanks guys! Ill defiantly post some updates as I go, especially UI/art assets
 

Raticus79

Seek victory, not fairness
I was just randomly checking out Newgrounds today and remembered they have a free music section. That could come in handy. (edit: or used to, at least. Music's there, harder to identify the free-to-use stuff)

Mess around with Unity to prototype and see if perhaps you want to move after.

Unity is still the fastest way to prototype, IMO.

Is Unity generally seen as a lower end engine you wouldn't want to stick with for a finished product, or is it fine and it just happens to also be good for prototyping?
 

Lautaro

Member
Is Unity generally seen as a lower end engine you wouldn't want to stick with for a finished product, or is it fine and it just happens to also be good for prototyping?

Unity is fine, it just gets bad fame because its free version has opened the way for a lot of shovelware.
 

Turfster

Member
It's finally happened, taking a few more months than expected due to some real life complications getting in the way. Just pushed the button, and our first mobile game is now live on the Google Play store I'm both elated to finally be done with it, and terrified about what will happen now that I've finally shown something to a bigger circle than just a couple of friends.

We've also released a small behind the scenes video from Unity's scene view on our devblog, which shows the mix of 2D and 3D we used in Unity to achieve the various effects - and which I wouldn't really recommend to anyone. The systems really aren't meant to be used together, doubling up functionality in just slightly different ways. From now on, all our projects will be full 3D, thanks. It's also an example of the first and last time we're ever going to use Unity's own GUI. So much time was lost trying to get it to work correctly on different resolutions... Anyone that wants to do things with Unity, I can really recommend investing in one of the asset store replacements, because whatever money they cost, you'll definitely get out of it in the hours of lost time you regain that you can spend on things that actually matter.
 
I'm so jealous of your music Feep and Ashodin. They both sound really great.


I've made some samples for VizionEck myself, but music is far from my strong suit. I'll probably have to outsource the work.
 

atr0cious

Member
So I've been working with different game engines to try to decide which way I want to take my game, and I want to settle on Unity for future ports, but my laptop cannot even render the tutorial. Does anyone know of what type of specs I should be aiming for, to have a comfortable experience in Unity? I'm looking to get a cheap laptop if possible, and any suggestions for specs or even a bargain laptop on sale would be great. Thank you.
 

Servbot24

Banned
So I want to work on my own game but I want to focus on art as much as possible. I can grasp simple coding if I need to, I just don't want to spend a lot of time learning it. I'm already working on a game in Unity with some other guys, but it's kinda tough to get everyone working at once so I need a side project that progress depends only on me. The game I have in mind to make would have similar gameplay to MegaMan (especially Zero series). I'm thinking of picking up Stencyl for this. Does that sound like an appropriate choice or are there better options?
 

friken

Member
Given you're moving to 2D 'faked 3D' because its faster to generate a volume of assets, would it make more sense to actually model the occasional asset for promo / 3D printing work instead?

It would mean redoing the same assets you choose for promo use twice, once in 2D and once in 3D, but I can't help feeling the results would be much nicer that way, and promo stuff never has to obey the same polycount etc as promo material pre-renders do, so you could go all out with that.

I think we are saying the same thing. 2d ship assets as we can make them a lot faster and model only a couple for art promo and 3d printing. I'm looking at zbrush or any other technique to see if there is a 'quick' or easy method to take a sprite w heightmap/normals and extrude in 3d. Zbrush looks like it may be able to do it but being new to it not sure. for 3d printing a flat bottom would be fine so my mind is thinking the sprite/height/nomal should have all the data needed for a clever util to make a mesh of it that looks like a flat bottom embossing.

feep said:
Been awhile since I shared some music!
SOME MUSIC
I like!

ashodin said:
I like this too. just when I thought it may be a tad sleepy and then the rock stuff kicked in. good buildup.
 

friken

Member
I went to a local animation/game meetup group tonight and was surprised by how many people are using Unity for non game stuff. Granted Houston isn't exactly a popular city for game dev but I never thought of unity as a tool for non game stuff. Lots of oil and gas companies us it for visualization of projects. Who would have though...

Also interesting was how many people mentioned they were considering Unreal Engine instead of Unity or for their next project. I think it was a smart move to do the new low cost subscription/source/15% thing to attract the indies.

Looks pretty cool on its own! You guys have some real momentum going. :+

Thanks for the kind words. We are slowly starting to see a little traction w/ social media and indieDB. A blog/news post we put up on indieDB went live last night and I woke up to being ranked #6 and peaked during the day at #4 -- nice motivator. Knowing what I've seen previously on indieDB rankings though, I suspect it will fall off quickly. Seems that early projects without playable DLs don't stay ranked very high for long. I have to admit, some days it feels like a fulltime job to do dev log updates, putting up images on indiedb, making vids of what we are doing, posting on social media, only to feel let down by the sound of crickets chirping.

We've gotten to the point where I'm trying to insert money into the screen and it's not taking it.

Big smile on this one :) If the screen would take it, our money may cross paths mid transit... can't wait for Ghost Song.
 
Thanks for the input. I did see some d3 stuff about how they did some amazing looking stuff w low poly/planes. There are definitely methods to fake it w/ enough effort put into it. I mainly posted that paper thin tilting gif to show how easily the human eye sees paper thin when just tilting the quad on the depth axis. I've started playing w a subtle width scale w/o tilting and the effect while subtle gives pretty nice result.

I have a question, I've been struggling with one thing that you are also facing by looking at the images. Once you generate your normal map and illumitate it, it works but there is a flaw , for example if your ship has a tower in the middle, there should be a casting shadow over the rest of the ship , the current technique works nicely as long as you have somehow flat structure, but once you add like a bridge in a carrier the shadow will not come up with normal maps because the bridge is way higher than the rest of the sprite, do you have a solution for that? I am having problems with self shadowing too, it looks 3d but I can't find an easy cheap way to fake self shadowing in my ships.

Because an image tells more than just words here is an example I am working on now to add more volume to the modular ships. I am faking shadows under each cannon and rotate the shadow as the light source change for example, it works but I dont want to end up faking all shadows for parts of the ship that do not show up proper shadows yet.

SelfShadowsWIP.png
 

Turfster

Member
I am having problems with self shadowing too, it looks 3d but I can't find an easy cheap way to fake self shadowing in my ships.

The first thing I can think of isn't exactly 'cheap', but it should work. How about using invisible low-poly approximation meshes for things that stick up with a shader that only collects vertices and draws the shadows, without rendering the mesh itself? Render to texture, overlay and bob's your uncle. Hell, you could even just fake it with some simple math.
(Disclaimer: I just got up, but it should work =p)
 
Cool. :) Haven't seen many Rampage-types around! Interesting genre to go after.

I thought it was a neat mix. The Rampage-esque gameplay is used as a sort of resource collection. You build up power by doing so then use it to unleash an attack on your opponents.

It's local multiplayer only and has no campaign, it's a byproduct of what I felt was a good idea but less than stellar execution. Sales have been ok, but I will likely switch it over to being free soon as the requirement of multiple players and Xbox controllers makes it difficult to play. I would really like to return to the concept in the future with far better execution.
 
My first time doing screen-shot Saturday!

I went through and fully re-did the game's homepage. It feels much better: http://vizioneck.com/ Let me know what you think and if anything looks incorrect.

As part of that, I posted some new images.

9676188_orig.png


This first one is showing how low health makes a player harder to see. With all of the game mechanics I'm really trying to make everything have both pros and cons. So being hurt is of course not a good thing, but it's not necessarily a bad thing either. It just depends on the player's play style.


4430358_orig.jpg

5572913_orig.png

This is the oldest picture I have of the game.

As you could probably guess, it was called "Project Outline" at the time.

-Michael
 

friken

Member
I have a question, I've been struggling with one thing that you are also facing by looking at the images. Once you generate your normal map and illumitate it, it works but there is a flaw , for example if your ship has a tower in the middle, there should be a casting shadow over the rest of the ship , the current technique works nicely as long as you have somehow flat structure, but once you add like a bridge in a carrier the shadow will not come up with normal maps because the bridge is way higher than the rest of the sprite, do you have a solution for that? I am having problems with self shadowing too, it looks 3d but I can't find an easy cheap way to fake self shadowing in my ships.
SelfShadowsWIP.png

I'm still tweaking our sprite lighting system and have now gone with a hybrid system between a Parallax-Diffuse and SpriteLamp type lighting.

The issue you are facing I think is two fold:

1. The way you are creating your normalmap looks like standard single image approach like feeding the base image into crazybump or other tool? The SpriteLamp/Kencho approach is to manually create greyscale lighting images from multiple angles (top/left/right/bottom) and then the normalmap is created from those images. The results are much better and can be artistically tweaked for how much shadow you want from something in the sprite. The drawback of course is upping the artwork effort fairly dramatically.

Example input images from SpriteLamp (images your artist creates):
04-zombie-diffuse-example.png

05-zombie-light-profiles-example.png


example virtual 3d lighting on sprite w/ the normal it created:
zombie-vertical-preview.gif

stonewall_twoprofiles.gif



2. Using just the SpriteLamp/Kencho type of lighting you are lacking any displacement/height mapping. For cell shaded flat look it works, but we really wanted to be able to tilt sprites in the depth axis and have the light adjust as if there really was geometry.

You have two options of for displacement that I'm aware of:
a. Virtual displacement mapping aka Parallax mapping:
http://en.wikipedia.org/wiki/Parallax_mapping

b. Surface displacement mapping (like making a terrain but with a surface shader).

I've tried both methods and for our use I think we will be able to get away w option A. Option B can give you a bit more realistic of a look, but geometry will go up dramatically. The basic idea is a tessellation displacement shader will take a plane (or other any mesh) and subdivide it to smooth the geometry enough to warp the mesh to a height-map. So you end up w real geometry from a sprite's height-map info. IMO, for our use it is overkill and the end result isn't that great until you use really high levels of tessellation and the geometry at that point is insane considering you started w a quad or plane.

Hope this helps. Here is a gif of our current hybrid spritelmap-like/parallax.

Tilt:
imSLV3riQdapE.gif

Rotate:
i2z771cKz4tL9.gif


gif compression is a bit much to look at lighting. youtube links:
https://www.youtube.com/watch?v=fSivgCV2ZkA&feature=youtu.be
https://www.youtube.com/watch?v=rNjEV8p5MFE&feature=youtu.be


Credit where credit is due:
SpriteLamp: http://snakehillgames.com/spritelamp/
Kencho -- similar to spritelamp, bit simpler (less inputs) tweaked for unity: http://kencho-dev-blog.blogspot.com.es/2014/01/cel-shaded-sprites-in-unity3d-43-and.html
and thanks klaus for pointing me toward parrallax difuse shader for heighmapping.
 
I'm still tweaking our sprite lighting system and have now gone with a hybrid system between a Parallax-Diffuse and SpriteLamp type lighting.

The issue you are facing I think is two fold:

1. The way you are creating your normalmap looks like standard single image approach like feeding the base image into crazybump or other tool? The SpriteLamp/Kencho approach is to manually create greyscale lighting images from multiple angles (top/left/right/bottom) and then the normalmap is created from those images. The results are much better and can be artistically tweaked for how much shadow you want from something in the sprite. The drawback of course is upping the artwork effort fairly dramatically.

Example input images from SpriteLamp (images your artist creates):
04-zombie-diffuse-example.png

05-zombie-light-profiles-example.png


example virtual 3d lighting on sprite w/ the normal it created:
zombie-vertical-preview.gif

stonewall_twoprofiles.gif



2. Using just the SpriteLamp/Kencho type of lighting you are lacking any displacement/height mapping. For cell shaded flat look it works, but we really wanted to be able to tilt sprites in the depth axis and have the light adjust as if there really was geometry.

You have two options of for displacement that I'm aware of:
a. Virtual displacement mapping aka Parallax mapping:
http://en.wikipedia.org/wiki/Parallax_mapping

b. Surface displacement mapping (like making a terrain but with a surface shader).

I've tried both methods and for our use I think we will be able to get away w option A. Option B can give you a bit more realistic of a look, but geometry will go up dramatically. The basic idea is a tessellation displacement shader will take a plane (or other any mesh) and subdivide it to smooth the geometry enough to warp the mesh to a height-map. So you end up w real geometry from a sprite's height-map info. IMO, for our use it is overkill and the end result isn't that great until you use really high levels of tessellation and the geometry at that point is insane considering you started w a quad or plane.

Hope this helps. Here is a gif of our current hybrid spritelmap-like/parallax.

Tilt:
imSLV3riQdapE.gif

Rotate:
i2z771cKz4tL9.gif


gif compression is a bit much to look at lighting. youtube links:
https://www.youtube.com/watch?v=fSivgCV2ZkA&feature=youtu.be
https://www.youtube.com/watch?v=rNjEV8p5MFE&feature=youtu.be


Credit where credit is due:
SpriteLamp: http://snakehillgames.com/spritelamp/
Kencho -- similar to spritelamp, bit simpler (less inputs) tweaked for unity: http://kencho-dev-blog.blogspot.com.es/2014/01/cel-shaded-sprites-in-unity3d-43-and.html
and thanks klaus for pointing me toward parrallax difuse shader for heighmapping.

Hi Friken,

Yes, thanks for the help, I saw spriter when they started and I had the idea to do something similar, but I ended up with a high map in gray scale and convert that to a normal map to have the ship parts some bump and make sure light is properly aligned, but the effect is not so good yet.

Thanks for the link to Kencho's dev blog, it answered many of the questions and will do a test and see if it looks better with the changes. I am really thinking to change the whole approach I am using to add more depth since every ship look still little flat at this moment for me, I tried with asteroids and the effect is ok but not so good yet, looks like the approach you are using gives a lot better results, Thanks!

About the parallax mapping, I read the wikipedia link but still don't fully understand it, do you have any other good tutorial or something like that? like Kencho's one?

Thanks!
 
I decided to start testing early and iterate from there so i am putting up my first gamedev prototype. Really just a basic level and some dogfighting at this stage, largely using tons of asset store kits/models but i plan on keeping the lowpoly style.

Looking for game ideas. Some of the things im thinking of adding

-More ship types (large capitol ships e.t.c)
-Possibly rogue like elements ?
-Plan on keeping it simple and fun

http://ausroachman.itch.io/prototype-flyer

Love everyones opinions and ideas. its still in its very early stages but looking to grow it from here.
 
I'm still tweaking our sprite lighting system and have now gone with a hybrid system between a Parallax-Diffuse and SpriteLamp type lighting.

The issue you are facing I think is two fold:

1. The way you are creating your normalmap looks like standard single image approach like feeding the base image into crazybump or other tool? The SpriteLamp/Kencho approach is to manually create greyscale lighting images from multiple angles (top/left/right/bottom) and then the normalmap is created from those images. The results are much better than my previous one, and can be artistically tweaked for how much shadow you want from something in the sprite. The drawback of course is upping the artwork effort fairly dramatically.

Example input images from SpriteLamp (images your artist creates):
04-zombie-diffuse-example.png

05-zombie-light-profiles-example.png


example virtual 3d lighting on sprite w/ the normal it created:
zombie-vertical-preview.gif

stonewall_twoprofiles.gif



2. Using just the SpriteLamp/Kencho type of lighting you are lacking any displacement/height mapping. For cell shaded flat look it works, but we really wanted to be able to tilt sprites in the depth axis and have the light adjust as if there really was geometry.

You have two options of for displacement that I'm aware of:
a. Virtual displacement mapping aka Parallax mapping:
http://en.wikipedia.org/wiki/Parallax_mapping

b. Surface displacement mapping (like making a terrain but with a surface shader).

I've tried both methods and for our use I think we will be able to get away w option A. Option B can give you a bit more realistic of a look, but geometry will go up dramatically. The basic idea is a tessellation displacement shader will take a plane (or other any mesh) and subdivide it to smooth the geometry enough to warp the mesh to a height-map. So you end up w real geometry from a sprite's height-map info. IMO, for our use it is overkill and the end result isn't that great until you use really high levels of tessellation and the geometry at that point is insane considering you started w a quad or plane.

Hope this helps. Here is a gif of our current hybrid spritelmap-like/parallax.

Tilt:
imSLV3riQdapE.gif

Rotate:
i2z771cKz4tL9.gif


gif compression is a bit much to look at lighting. youtube links:
https://www.youtube.com/watch?v=fSivgCV2ZkA&feature=youtu.be
https://www.youtube.com/watch?v=rNjEV8p5MFE&feature=youtu.be


Credit where credit is due:
SpriteLamp: http://snakehillgames.com/spritelamp/
Kencho -- similar to spritelamp, bit simpler (less inputs) tweaked for unity: http://kencho-dev-blog.blogspot.com.es/2014/01/cel-shaded-sprites-in-unity3d-43-and.html
and thanks klaus for pointing me toward parrallax difuse shader for heighmapping.

Hi Friken,

By the way, I played a little bit with the idea and tried to write a parallax shader but found that it will force me to draw so many more images , like your case top/down and left/right images, that seems to be a lot of work for so many ship module parts I have, so I ended up cutting some corners and used only the height map I am using with a normal map, but added a little twist inside the shader and this is what I have now which looks a lot better than my previous attempt, and I only have to use a height map. Same idea as parallax normal map but using only a height map stored in the alpha channel of my normal map.

On top of that I could add a soft shadow, it gets darker where the shadow starts compared to the end.

RotatingSelfShadow.gif

please ignore the jumpiness of the gif, the original runs at 60FPS but I could only capture at half the framerate with the GIF capture program I use, didn't work so well :)
 

2+2=5

The Amiga Brotherhood
Hey guys since it's my first time drawing backgrounds i passed these past days to improve myself and understanding what's my style(=my way to get good results without too difficulties and time)

in few days(=few hours) i passed from this(lol)
tree_old.png


to this(sort of Vanillaware style)
tree10.png

It's not definitive(i was just a test, not a game asset), i still have to improve the foliage, but i think it can be considered a decent start right?
 

friken

Member
Hi Friken,

By the way, I played a little bit with the idea and tried to write a parallax shader but found that it will force me to draw so many more images , like your case top/down and left/right images, that seems to be a lot of work for so many ship module parts I have, so I ended up cutting some corners and used only the height map I am using with a normal map, but added a little twist inside the shader and this is what I have now which looks a lot better than my previous attempt, and I only have to use a height map. Same idea as parallax normal map but using only a height map stored in the alpha channel of my normal map.

On top of that I could add a soft shadow, it gets darker where the shadow starts compared to the end.

RotatingSelfShadow.gif

please ignore the jumpiness of the gif, the original runs at 60FPS but I could only capture at half the framerate with the GIF capture program I use, didn't work so well :)

Looks much better. Unity does have a built in parallel diffuse shader you could try but looks like what you wrote is doing the trick. Nice work, far less flat looking now.
 
Status
Not open for further replies.
Top Bottom