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

Fox1304

Member
We've been working on an animated teaser + trailer for the last few days, hope people will enjoy it as much as we're loving making it !
Here's the storyboard for the "teaser" part.

CmIzbVJWMAAPJVF.jpg
 

Minamu

Member
I built GunWorld 1 and 2 in Game Maker Studio, and i'm building Abacus in it as well. I love it, the coding language is easy to learn and the toolset helps you put things together really fast.

I want to move to Unity, but I'm terrified because the only coding language/experience I know is in GML. I don't use any of Game Maker's default variables or physics or drag-n-drop stuff, I do everything in GML. I have no idea how that will translate to Unity or having to learn a real language.
I've seen a youtube channel that does "Learn C# in one hour" and similar for other languages and I've watched most of them, they were great refreshers, and a good place to start if you want to learn the basics quickly. Unity probably has the best online source for engine references of all engines I've seen too.

Edit: Lol, it was already mentioned on the previous page; Derek Banas is excellent :D
 
Completely rewrote my input manager yesterday. Don't know why I hadn't thought of this method earlier but I got sick and tired of checks for GetKeyDown and GetKey in Unity. So I scrapped the former and now just report back every frame of a button press.

It just seems too easy to say action++ when returning true and action = 0 when false. To get the press only for the frame it was initiated I just look for action == 1.

I was looking for both Key and KeyDown prior. Cut that shit in half. man I'm stupid sometimes.

Then I finally added custom controller maps at runtime since I had been putting it off and Unity doesn't let you assign controller inputs at runtime with the OEM manager. Was deceptively simple to do :|

I feel so dumb having avoided it all this time having had keyboard customization day 1.
 

Vanguard

Member
I think I've finally figured out a way to get limited movement range display using a navmesh that is not tile based (sort of)

My current progress with it is to call NavMesh.CalculateTriangulation(); and get the verts and indices for the navmesh and put that into a new Mesh so that it can exist in the world. The camera however won't draw this mesh, because what is happening behind the scenes is a grid that starts off from the movers position, shoots a ray down to see if something can move to that location etc, once all this is done it does some grid pathfinding to find out what tiles can be moved to.
With this, it uses a projector to project a square (or some shape) down from each tile which only projects to the navmesh so that it will display what is walkable within your range. Any click calculations after that will do the appropiate navmesh checks, so the tile based stuff is just a rough visual approximation of where you can move (which is what I want), which is part of the problem, it's rough :p

Hopefully can neaten it up, but early progress is looking good so far. There are limitations with it though (like can't really have paths going over other paths like bridges). I do have some fallbacks if this doesn't work out though. If anyone else has insight to this though then I'd love to hear it, but looking around doesn't seem like it's much of a thing.
 

correojon

Member
I'm afriad I've long since lost most of the links I used, sorry! Gamasutra has a few articles on the subject though. Here's one of them that I remember reading.

For time rewinding its very likely that you'll have to record the game state, because you'll need random access which recorded input won't give you (unless you quickly replay the level from the start in order to get where you need to be, but that's a horrible idea :p ) . That said, it doesn't have to be all that costly. If you only need to record the last 10 seconds or so, using a state system is going to be (relatively) trivial, as you won't really have to store all that much data!

But yea, replay systems are a strange beast. There is no "one size fits all" solution. It's highly dependent on what you want your game to do.

Also, congrats to Neko and Rolento! :)
Thansk for the link! Yeah I´ll have to save gamestates to be able to rewind, I´ll think about how to do it when I reach that point as it´s nothing more than an "it would be cool to have this" type of idea now.

From my understanding loading resources externally is even worse because there's no texture batching, every different sprite you load becomes its own texture page, so to make it performant you would have to roll your own atlasing/organizing scripts.

And for what it's worth there are some options to control asset batching and loading from withing GameMaker for runtime assistance, but the IDE loads all of them regardless and doesn't have well-optimized caching. For example, it rebuilds all the texture atlases in a given batch even if all you do is change the origin coordinates on a single sprite.
I see, it didn´t work like this back in the day. I haven´t investigated the way GM handles resources as I´m not having any problems right now, but this is very valuable information. Thanks!


GMS 2.0 was announced in 2014 I think, it's been years withou hearing anything from them. I believe they just gave up :p

Use Godot, best shit ever.
I think YYG got bought by a different company last year, also they renewed the forum recently. I guess they´re taking their time or there has been a shift in priorities...I hope...


We bothered to port GM to WiiU just to see that the game wouldn't run more than 10 fps. Regardless of what was on the screen. We tried to optimize it and nothing.

We just gonna port Godot to WiiU, PS4 and XONE.
Wow, that´s horrible :( Are there any GM games on WiiU?
 

JulianImp

Member
Own question time, when animating in 2D how do you approach animating interacting with objects? Like, say, vaulting over debris or climbing a ladder? Do you keep the animation centered in one area or do you animate it with the entire movement?

Do you animate with the prop the character is interacting with? I'm using Unity, looking around I noticed there's stuff like root motion and the like, I've heard murmurs of using that stuff when dealing with these kinds of animations.

Root motion replaces moving your character by code, using the root's movement to control walking, jumping, and more complex animations such as vaulting over stuff and whatever. However, the more granular control on a per-animation basis comes at the expense of animations being kind of baked in, so you'll have to tweak things around if you want variable vault heights, for example. From what I've seen, root motion makes the character more clunky to control, since subtle rotations and short walks have to be implemented on the animation side, resulting in an even larger and harder to control animator state machine tree.

And while we're at it, I'll take the oportunity to call that dang animator editor out for no having a zoom feature, since all but the simplest animators require endless scrolling to see what the hell's going on due to the fixed zoom and overly large (and also unscaleable) state boxes.
 

Timeaisis

Member
Hey guys! Man, I haven't posted here in forever. But some really awesome stuff I'm seeing. and I only just read the last few pages

Anyway, I did a game jam with a buddy of mine over the course of a week and it's finished! I really like what we ended up with. It's a two-player one-button western shootout game. Sounds really simple, but we've layered some extra mechanics on there that make it pretty cool. I'm thinking about taking it full scale...the core mechanics turned out really well. Anyway, you can download it for free below! Feedback as always is welcome. :)

https://timeaisis.itch.io/a-quick-death

 

Jumplion

Member
The latter for me, mostly just because it's easier to animate and because parts of it are easier to program. You might have to add special cases to your camera following code though, unless it's tracking a bone other than the root.


Really just whatever works though. In the animation linked below, I have the player climbing from one grab point to another. The vanilla animation assumes a uniform distance between grab points (3 tiles), but the programming supports any distance between 2.5 and 5 tiles. For instance, the grab points on the left side are 4 tiles apart instead. I just lerp the root motion in the mean time programmatically.

https://zippy.gfycat.com/RareAliveGar.webm

Root motion replaces moving your character by code, using the root's movement to control walking, jumping, and more complex animations such as vaulting over stuff and whatever. However, the more granular control on a per-animation basis comes at the expense of animations being kind of baked in, so you'll have to tweak things around if you want variable vault heights, for example. From what I've seen, root motion makes the character more clunky to control, since subtle rotations and short walks have to be implemented on the animation side, resulting in an even larger and harder to control animator state machine tree.

And while we're at it, I'll take the oportunity to call that dang animator editor out for no having a zoom feature, since all but the simplest animators require endless scrolling to see what the hell's going on due to the fixed zoom and overly large (and also unscaleable) state boxes.

Good information, thanks. Root motion will probably go over better in my game since it's more in the style of an endless-runner, so the player is essentially reacting to QTEs and lets the animation play.
 

TheKroge

Neo Member
So I'm thinking of going the "Demo" route for our Kickstarter in ~ a month. I've gotten bitten by releasing a demo before, since obviously it's a work in progress no matter how much you try to polish a vertical slice of the game.

So there are a couple routes I could take and I wanted to get some thoughts:

1. Release the demo free to anyone who visits the kickstarter page and downloads it
2. Release the demo for any reward teir (even $1)
3. Release the demo with the normal game reward teir

Do any of you have any good or bad experiences with making an early version of your game public?
 

bumpkin

Member
So I'm thinking of going the "Demo" route for our Kickstarter in ~ a month. I've gotten bitten by releasing a demo before, since obviously it's a work in progress no matter how much you try to polish a vertical slice of the game.

So there are a couple routes I could take and I wanted to get some thoughts:

1. Release the demo free to anyone who visits the kickstarter page and downloads it
2. Release the demo for any reward teir (even $1)
3. Release the demo with the normal game reward teir

Do any of you have any good or bad experiences with making an early version of your game public?
Jobbs had a reward tier that included beta access to his game Ghost Song.
 

Jobbs

Banned
I don't see doing a KS ever again because something about it has always been a little uncomfortable to me, but if I did do it again there'd be far less stretch goaly reward tiery type stuff and it'd be relatively straightforward (even if that means it wouldn't raise as much). I don't think game design should be chopped up and turned into a game show.

I'd definitely do a demo but I'd offer it to all backers
 

correojon

Member
It´s been a while since I posted any updates about Kitsune World, so here is a GIF showing the last stretch of the hidden path. I´ve named it "there is no escape!":
pwygNc1.gif


Hope you guys like it!
 
Also asked the Crowdfunding thread, but thought I'd post here, too (this is basically for the Californians here):

I have 100% digital rewards, but if I have physical wares as Add-Ons (or anywhere really), would I need a California Sellers Permit?
 

bumpkin

Member
I don't see doing a KS ever again because something about it has always been a little uncomfortable to me, but if I did do it again there'd be far less stretch goaly reward tiery type stuff and it'd be relatively straightforward (even if that means it wouldn't raise as much). I don't think game design should be chopped up and turned into a game show.

I'd definitely do a demo but I'd offer it to all backers
Any specific reasons?
 

Hoghren

Neo Member
Greetings Gaf!

The last two months I've been working on a game concept in my free time and I made a small sample of what it can be.

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

SpiritCard Disciples is a RPG, you capture spirits by sealing them in cards and you can use them as companions in battle.

My friends and I are always talking about cool gameplay mechanics and for my concept I added RP survival elements and a battle system that looks more like the Pokémon anime.
We've also been talking about Kickstarter but I'm not so sure we're there yet and I wanted to ask for feedback. At this moment I'm not sure if it's something I should continue or if people are interested in it.

Let me know what you think!

fZpPajK.png
 

Kalentan

Member
Working to improve my sprites. As I mentioned in an earlier post I went to remove the fur cloak on my character.

HoUb.png


However I did slightly more than that. Also once I moved back onto the running animation, I held off cause I think I want to get some opinions first on the body (which as you can see in the picture, has no legs or arms.) Since changing the design from from front view to side view means you can change some details...

I may add the cloak back eventually, but for now... It will be off so I can clearly see the arms.
 

EDarkness

Member
Working on saving games...finally. The thing is, I'm trying to find the best way to do it. I was thinking about serializing the data and then saving the output to a file instead of using player prefs (using Unity). How anyone have any tips for saving large amounts of data?
 

Lautaro

Member
Working on saving games...finally. The thing is, I'm trying to find the best way to do it. I was thinking about serializing the data and then saving the output to a file instead of using player prefs (using Unity). How anyone have any tips for saving large amounts of data?


Did you check this video? http://unity3d.com/es/learn/tutorials/topics/scripting/persistence-saving-and-loading-data

How big are we talking? because what I do is simply to create a class that represents a game session with properties for specific things (player resources, energy, location) and lists for things that can increase in number (inventory, story events). Frankly is hard to imagine that a game requires something too big unless you are basically keeping the state of your entire game world.
 

correojon

Member
Are you from comunidadgm.org?
Yup, same username, used to be an admin there when I was more active with GM. You?

Uh-oh, looking good out here.
Thanks!

I found a very interesting article on how to make an UI that also teaches the player how to play the game:
http://juicybeast.com/2014/10/designing-a-playable-ui-that-secretly-teaches-how-to-play/
The article was so nice that I started checking the rest of the content in juicybeast.com and wow, if you´re making a 2D platformer you really need to read this. It covers a lot of things and tricks for getting the player movement to feel right, from just moving left & right to double jumping. Even after 6 months refining my basic movement engine and doing lots of investigation, it´s given me some ideas to implement into it, it´s really good.
 

missile

Member
3o72FiHNyNhFatKW52.gif


Programmed some more volume lights to test the mixing of scattered light
through the participating medium. Well, am satisfied for the moment after
having put some massive amount of work into it, but it's not finished yet. As
said earlier, all the lighting you see above the plane is due to scattering of
the participating medium. Without the medium the image would be black for the
most part unless I would draw a little something for the position of the light
sources.

Anyhow, there is no 2d post-processing going on here, the attenuation etc.
happens due to the medium in 3d space. But there are some good 2d fakes doing
these things as well but they never can reproduce these nice and soft specular
volume lobes you see in the video above. An interesting aspect of such a, well,
simulation is that one could record a set of spot profiles produced around the
lights, i.e. the point spread function (PSF) (saying how the medium filters an
impulse) and later use it to convolve with some 2d images producing some fast
glow. The advantage would be to have different glows for different properties
of the medium. But that's not my intention.

I programmed it in such a way that the medium can be of variable density, but
for the moment the density is just a constant, i.e. the medium can be
considered a constant fog lit by three lights.

However, the real advantage of volume lights only shows up when having some
geometry submerged into the medium and lit by some light sources, because an
object's color will get tinted by the color of the light which scatters
between the object and the position of the viewer. So I need to start
rasterizing some more geometry to actually bring the lights to life, which is
what I'm going to do next. However, the real deal of volume lights is when
objects do block these lights forming shadow volumes. That's something I'm
going to tackle right after. Shadow volumes are pretty expensive to compute,
so I think I need some good optimization. So far everything is done in
software, no hardware acceleration yet, to experiment with some of the ideas
I have in mind.
 

EDarkness

Member
Did you check this video? http://unity3d.com/es/learn/tutorials/topics/scripting/persistence-saving-and-loading-data

How big are we talking? because what I do is simply to create a class that represents a game session with properties for specific things (player resources, energy, location) and lists for things that can increase in number (inventory, story events). Frankly is hard to imagine that a game requires something too big unless you are basically keeping the state of your entire game world.

Well, I'm making an RPG with lots of stats, flags, dungeon states, etc. and the game has 6 save slots. I have everything stored on a game object that I'd like to just compress down and save. I could probably save every variable one by one, but that's a lot of work since there are so many variables. Saving my own classes would be great as well, but I haven't found anything that I think would make this process easier.
 

Pehesse

Member
It´s been a while since I posted any updates about Kitsune World, so here is a GIF showing the last stretch of the hidden path. I´ve named it "there is no escape!":
pwygNc1.gif


Hope you guys like it!

Smells like Meat Boy up in here :-D Looking very good!

Also, great series of articles below, thanks for the link!
 

missile

Member
4IDl4Io.png


Here is an high-res version, yet high-res isn't my focus since I want to
create low-res 3d art so to speak. However, I want to talk about something I
came about recently. If you look up close at the image, you can see some sort
of dithering. This dithering here isn't done to counter color quantization as
is usually done. It's done to counter "volume banding" -- similar to color
banding. Since I do software rendering I'm always forced thinking (in the back
of my mind) on how to improve the performance of a given technique at hand but
without actually realizing any such improvements unless the improvement sounds
pretty good and is simple to implement.

Well, as better you can hide the "volume banding" as better the performance
gets, because you can use larger step sizes. So I tried some of the well known
dither patterns and applied them to the volume. And? Despite they hide the
banding to some degree, they essentially produce new artifacts esp. Bayer's
dither patterns which produce cross-hatches becoming very visible as can be
seen here;

fwoSOSY.png

(much more pronouced for low screen and low volume resolution)

Random dithering would be ideal, which I tried, but it does flicker. I
developed a solution to counter the flickering (making it stationary using
big tables etc. to counter pattern formation). And it works really great if
you don't have very smooth moving fullscreen gradients running because it
starts to flicker again while using such gradients since many pixels will
change color at the same time. Arrgh! But it's really great if only some
small portions of the screen changes shade over time. You should see it.
I looks very cool, very retro esp. in 3d. Sooner or later I will show it.

Anyhow, I've now built a little homebrew pattern laying between random and
ordered dithering which solves the problem in a quite superior fashion (first
image). It has virtually non of the issues explained above. It's sort of a
pointillism approximation. Does a great job. I think I will used it for color
quantization as well to give my game a different/unique look when being
color-quantized down a lot. xD Yet the pattern still has some flaws, it needs
to be bigger and with the points even better distributed. I'm still doing some
R&D in this area because I think it will have some huge effects on the quality
of shadow volumes I want to compute in smoothing them out and esp. in regards
to lower the computational resources to compute them in the first place.
Will see. So much about diggin' deep.
 

Kyuur

Member
I started seeing some games I first knew about via this thread show up at E3 during indie reels and such. Congrats to those folks. :)

Been a while since I've done anything coding-wise. Was hoping I could rack some brains in here:


In OpenGL, is it possible to actually achieve the above imagery with only vertex colours and a shader if using shared vertices? I want to say you can't without some additional magic. I'm not 100% sure of the drawbacks of 'unsmooth' meshes, maybe some AA or other post effects messing up? I've also heard that some engines (Unity) will automatically merge matching vertices anyways, not sure if it would do that with different vertex colours but its a potential risk.
 

Popstar

Member
In OpenGL, is it possible to actually achieve the above imagery with only vertex colours and a shader if using shared vertices? I want to say you can't without some additional magic. I'm not 100% sure of the drawbacks of 'unsmooth' meshes, maybe some AA or other post effects messing up? I've also heard that some engines (Unity) will automatically merge matching vertices anyways, not sure if it would do that with different vertex colours but its a potential risk.

The drawback with unshared vertices he's talking about in the link are do to with mesh processing. Like having a list of vertices and triangles and automatically calculating smooth normals from it will not work properly if your vertices are not shared.

If your final result mesh being sent for rendering has unshared vertices it's not a big deal. Exporters have split vertices along hard edges, texture seams and such forever.

As far as achieving the imagery with only vertex colours and shared vertices in OpenGL, depending on version you can set things up to use only the colour from the first vertex for a flat un-interpolated vertex colour. In a shader this is done using the flat interpolation qualifier.
 

Kyuur

Member
The drawback with unshared vertices he's talking about in the link are do to with mesh processing. Like having a list of vertices and triangles and automatically calculating smooth normals from it will not work properly if your vertices are not shared.

If your final result mesh being sent for rendering has unshared vertices it's not a big deal. Exporters have split vertices along hard edges, texture seams and such forever.

As far as achieving the imagery with only vertex colours and shared vertices in OpenGL, depending on version you can set things up to use only the colour from the first vertex for a flat un-interpolated vertex colour. In a shader this is done using the flat interpolation qualifier.

Wow, thanks for all the details! That qualifier seems to be exactly what I'm looking for, I'll have to test it out. Much more elegant than baking colors to a texture and UVing. :)
 

JP_

Banned
3o72FiHNyNhFatKW52.gif


Programmed some more volume lights to test the mixing of scattered light
through the participating medium. Well, am satisfied for the moment after
having put some massive amount of work into it, but it's not finished yet. As
said earlier, all the lighting you see above the plane is due to scattering of
the participating medium. Without the medium the image would be black for the
most part unless I would draw a little something for the position of the light
sources.

Anyhow, there is no 2d post-processing going on here, the attenuation etc.
happens due to the medium in 3d space. But there are some good 2d fakes doing
these things as well but they never can reproduce these nice and soft specular
volume lobes you see in the video above. An interesting aspect of such a, well,
simulation is that one could record a set of spot profiles produced around the
lights, i.e. the point spread function (PSF) (saying how the medium filters an
impulse) and later use it to convolve with some 2d images producing some fast
glow. The advantage would be to have different glows for different properties
of the medium. But that's not my intention.

I programmed it in such a way that the medium can be of variable density, but
for the moment the density is just a constant, i.e. the medium can be
considered a constant fog lit by three lights.

However, the real advantage of volume lights only shows up when having some
geometry submerged into the medium and lit by some light sources, because an
object's color will get tinted by the color of the light which scatters
between the object and the position of the viewer. So I need to start
rasterizing some more geometry to actually bring the lights to life, which is
what I'm going to do next. However, the real deal of volume lights is when
objects do block these lights forming shadow volumes. That's something I'm
going to tackle right after. Shadow volumes are pretty expensive to compute,
so I think I need some good optimization. So far everything is done in
software, no hardware acceleration yet, to experiment with some of the ideas
I have in mind.

Really cool. Wish I knew more about graphics programming.
 

TheKroge

Neo Member
I don't see doing a KS ever again because something about it has always been a little uncomfortable to me, but if I did do it again there'd be far less stretch goaly reward tiery type stuff and it'd be relatively straightforward (even if that means it wouldn't raise as much). I don't think game design should be chopped up and turned into a game show.

I'd definitely do a demo but I'd offer it to all backers

Thanks for the thought. I'm very wary of Kickstarter after already having a failed campaign, but I'm using it for a few reasons: to build the community a bit more, raise a little money for tiers, and have a group of testers who care because they already put up money for it. I agree on the stretch goal sentiment.
 

JulianImp

Member
Working to improve my sprites. As I mentioned in an earlier post I went to remove the fur cloak on my character.

HoUb.png


However I did slightly more than that. Also once I moved back onto the running animation, I held off cause I think I want to get some opinions first on the body (which as you can see in the picture, has no legs or arms.) Since changing the design from from front view to side view means you can change some details...

I may add the cloak back eventually, but for now... It will be off so I can clearly see the arms.

If I were you, I'd address the lack of shoulder movement next, since revealing the forearms and shoulders only helped bring more attention to the fact that they don't move at all. The running animation should shift the shoulder pads back and forth slightly for example, and the walking should be a slightly less pronounced version of it, IMO.
 

mStudios

Member
Working to improve my sprites. As I mentioned in an earlier post I went to remove the fur cloak on my character.

HoUb.png


However I did slightly more than that. Also once I moved back onto the running animation, I held off cause I think I want to get some opinions first on the body (which as you can see in the picture, has no legs or arms.) Since changing the design from from front view to side view means you can change some details...

I may add the cloak back eventually, but for now... It will be off so I can clearly see the arms.

You're visioning a Stick Figure with Muscle, thats wrong.
Here's how I think it should be done:

AILrTqF.png

Take a good look at the shoulders and torso.

You need to fix the torso, becasue later you will be making animations for walking, attack, etc. E.x:
KEIdNxR.gif
 
Another good animating tip is to simply watch videos of people walking, running, etc

Find some good ones and trace the frames using stick figure bones so you can see how the bones and joints move.

Then take that a step further to stylize the movement. Practice the bone movements with stick figures first since they are quick to draw. The light bobbing, shoulder movement, etc.

Once you are satisfied with bone movement, sprite your character. Constantly redrawing entire sprites when you aren't sure wastes a lot of time.

Note: I'm not an artist but this would be my approach.
 
D

Deleted member 10571

Unconfirmed Member
Caved and bought Spriter Pro off the Steam sale. Should be helpful, hopefully.
 

Kalentan

Member
You're visioning a Stick Figure with Muscle, thats wrong.
Here's how I think it should be done:

AILrTqF.png

Take a good look at the shoulders and torso.

You need to fix the torso, becasue later you will be making animations for walking, attack, etc. E.x:
KEIdNxR.gif

Hm... I do find your drawing of "mine" to be a tad weird since you can only see one eye (as if the head is a profile) but I did try something.

TqUb.png
 

correojon

Member
Smells like Meat Boy up in here :-D Looking very good!

Also, great series of articles below, thanks for the link!
Thanks! Hehe, you know I´ve been playing it recently :p But it isn´t as hard as Meat Boy, I hope, difficulty is really hard to get right.

My name was Dmonk (not populat at all), but my friend that works with me, was kinda popular. He sued to won every example of the month when he was active haha. (Mamnarock)
Sent you a PM ;)

Do you explode in pastel gore if you hit the saws?
Kinda, more like a bunch of clouds Wind Waker-style.

So he/she/it gets screwed up in the end?
You´ll have to play the game to find out!
It´s just that I still haven´t programmed the end level flag :p
 
Status
Not open for further replies.
Top Bottom