• 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.
Street Fighter 2 does this when projectiles hit. Looks and feels terrible. Not recommended.
SF2 used it egregiously, though. Especially when you consider the stutter was the whole game and it happened constantly. There was no real differentiation between huge attacks - they all stuttered.

Using it for one attack or the like I feel is good if it's quick and doesn't get in the way.

I use it for the zip, there's several occasions where you need to line up zips to cross large gaps by triple shotting enemies to recharge the maneuver and those small frame stutters help the player line up a bit better.

If I used it everywhere I'd say no go. But since it's tied to a single, strong attack - one that requires management of resources - I feel it provides that extra feedback that differentiates itself from other attacks.
 
Your talk about quick pauses and slowdown inspired me to try the same in my current project: Twitter short video

I'll probably experiment with screen shake too.

The slowdown you put in lasts probably two to three times as long as I was thinking. It feels a bit excessive at that length, more befitting a finishing move or critical hit perhaps.

The other thing is that slowing it down in your game helps let the player dwell on how inaccurate the effects placement is. The hitspark is nowhere near the point of contact, which is forgivable in a quick motion but really noticeable here.


SF2 used it egregiously, though. Especially when you consider the stutter was the whole game and it happened constantly. There was no real differentiation between huge attacks - they all stuttered.

Using it for one attack or the like I feel is good if it's quick and doesn't get in the way.

I use it for the zip, there's several occasions where you need to line up zips to cross large gaps by triple shotting enemies to recharge the maneuver and those small frame stutters help the player line up a bit better.

If I used it everywhere I'd say no go. But since it's tied to a single, strong attack - one that requires management of resources - I feel it provides that extra feedback that differentiates itself from other attacks.

I wonder how effective it would be to put some kind of scalar on the effect that's tied to the damage amount.
 

Lautaro

Member
Yeah, I noticed the problem with the effect too. I'll probably calculate a position between the target and the attacking bone instead of using a fixed point (because there's no physics collisions and I prefer to keep it that way).
 
I wonder how effective it would be to put some kind of scalar on the effect that's tied to the damage amount.
I do this for shake. Can adjust the amount (how far the transform moves from its anchor) and time (how long to shake for).

There's also a manual override for one-offs, chaining, interrupting.

I do use other screen effects quite a bit for other weapons, pickups and vehicles, too.

I love me some FX. All of them are done through the lens of providing info, though. None are just added for the sake of adding them. Most are used to warn the player like an overheating vehicle gun, debuffs, etc.
 

Jumplion

Member
I remember seeing some people recommend a certain tiling system for Unity, but I can't remember what it was. I've found these ones, but I'm pretty sure those aren't the tiling system I remember.
 

Jobbs

Banned
I am not a big fan of hitstop, at least, I'm not a fan of using it on every hit. There are other ways to add emphasis. I guess we'll see what I do once I finally get to make a melee combat game.

Makes me feel bad about my animation haha, and by the way your game looks wonderful!

Thank you =)

When I started making game art, I came from a background of graphic design and illustration and very little experience with animation. My first animated sprites were nowhere near as good as yours, they were really kind of shockingly bad -- So I think you're in good shape.
 

chaosblade

Unconfirmed Member
I'm looking to start dabbling in UE4, but I feel kind of lost. I've followed a couple tutorials and gotten a grasp of the UI, navigation, a very fundamental grasp of blueprints. But I the problem is that I don't really know where to go with any of that.

Are there any good tutorials that actually walk you through the use of the engine to create something functional? I did a couple like that forever ago in Unity, they gave you some assets and told you what to do with them to give you an idea of how to actually go about making a game using the engine. That got me reasonably comfortable and I was able to make a couple very simple games of my own from there, but got dragged away by other stuff before I could make it further. Hoping to find something similar to get going with UE4.


Maybe if I did a better job reading the OP I'd have seen Unain's videos before. Not sure if that's what I'm looking for but I'll give those a look.
 
Wotan_Screenshot4.png

Excited and have no idea what to expect, but my kickstarter is live!!
 

missile

Member
Coming out of lurk mode to ask Missle if he's documenting your color experiments in a blog somewhere. It'd be nice to have them all compiled in one spot.
This won't happen anytime soon alas I would really like doing it. However, the
reality is that I just don't have the time to write proper blog entries. I
would really like writing more about all these coloring/dithering stuff and
put it into some proper form with some code examples etc. esp. considering
that there is more cool stuff on the way. But I'm currently not in a position
to do so. This sux, indeed! But what should I do? I'm facing a brick-wall
considering all my work and I better find a crack in there as soon as possible.
Meaning, I need to release something. But given that any initial game of mine
will be pretty low-res, I guess I will also write more proper stuff about the
technology used and its driving factors.

Until that point only the stuff posted in here somehow resamples parts of my
"blog". Sure, some good posts may get lost, but posting in here has some pretty
interesting advantages. First, I don't need to make everything water-tight;
just post, have some discussion about it and leave it at that when the page
turns over. This is much quicker than writing proper blog entries. For a blog
I would spent more time and detail which doesn't help me the slightest as of
now. Yeah, it's cool to have some good blog entries up for the public and to
make other people aware of you and your skills whatsoever, but for me it takes
away way too much time. This issue always arises on me when researching
technology on my own and using it to build some stuff out of it. Result: no
time left. Second, posting about some technical stuff in here also helps me
finding some bugs or helps me finding details I can improve on I haven't
thought about earlier, because writing about such things forces me to changes
perspective if I want others to understand what I'm talking about. And this is
where I find some bugs or improvements ready to fix resp. to get implemented
right at the spot.


Edit:
Excited and have no idea what to expect, but my kickstarter is live!!
Good luck, man! :+
 
SF2 used it egregiously, though. Especially when you consider the stutter was the whole game and it happened constantly. There was no real differentiation between huge attacks - they all stuttered.

Yea, overuse can lead to it feeling pretty horrible, but it has the potential to be nice. I think Smash Bros does it quite well. IIRC, they reserve it only for "killing" blows which gives it a little extra "oomph".

Just got to find the right balance.
 
Yea, overuse can lead to it feeling pretty horrible, but it has the potential to be nice. I think Smash Bros does it quite well. IIRC, they reserve it only for "killing" blows which gives it a little extra "oomph".

Just got to find the right balance.
Aye. Killing blows or one off attacks are good. For other stuff, micro stuttering on the enemy alone is kinda cool, depending on the speed of your game.

Small stuff like knockbacks work well too. Just a few pixels can work.

We are experimenting with a few alt weapons and one of them intentionally stunlocks the enemy so you can quick swap and pew pew. We get stupid with enemies at some points and it's been fun trying out new tricks to see what feels good. Plus, absolute mayhem is a blast.
 

orioto

Good Art™
Thank you =)

When I started making game art, I came from a background of graphic design and illustration and very little experience with animation. My first animated sprites were nowhere near as good as yours, they were really kind of shockingly bad -- So I think you're in good shape.

Only cause i had fun with Mugen 15 years ago :p

So my animation are pretty bad in game. I mean it's also cause it 's tricky to time the motion properly to fit the animation speed. And for the jump i'm still not sure how to do i'll have to test. How to time the ascension then the fall, and with different jumping heights..

Now i'll animate things directly while testing them in game.
 

Valkrysa

Neo Member
Hey guys, long time lurker here, since I've seen at least a small portion of the projects here are being done in Unreal Engine I wanted to post this new video podcast I've started to give indie devs using unreal an opportunity to show off their projects.

(If this is interpreted as self promotion and against the rules please delete as you feel necessary mods)

https://www.youtube.com/watch?v=IA2PsEA-EbI

Already have a few projects here that I'd definitely like to follow and feature when appropriate. Light Fairytale, Beastmancer, etc.
 

bumpkin

Member
Our game will be available in less than two hours. It's a exciting time for the team!
What's your game and on which platforms?

In other news, I finally found a local artist to team up with on a game; and even better, he brought a concept to the table! It's going to be a Mega Man style (2D action platformer) game based on his indie comic book, Johnny Raygun. We're still super early in production (he just started creating the sprites), but I'll definitely be sure to share some screens or video clips as it comes together over the next few months. :)
 

Jobbs

Banned
Only cause i had fun with Mugen 15 years ago :p

So my animation are pretty bad in game. I mean it's also cause it 's tricky to time the motion properly to fit the animation speed. And for the jump i'm still not sure how to do i'll have to test. How to time the ascension then the fall, and with different jumping heights..

Now i'll animate things directly while testing them in game.

I learned myself you really need to coax it to get it to gel in game. Timing, speed, acceleration, everything really needs to line up for it to really work its best.

Takes a lot of trial and error, for sure.
 

hampig

Member
TANKR. Right now for Windows, but Linux and Mac will be ready this week or the early next.

Awesome, congrats! I'm gonna pick this up right now and hopefully get to play a little when I get out of work.

Also just curious, what is your teams post launch plan? Have a new project in mind or maybe updates? I saw a comment on your discussion page on steam mentioning CTF and team deathmatch. Could be cool.
 
Trying to finish my "flying" mode after I have made some revisions to how sprites are handled (main object now contains the shadow sprite, and the actual sprite is a child of it for visual alignment purposes)

Something weird is happening when I try to set the transform position on the actual sprite. Apparently the actual positioning goes haywire and it ends up at things like 211 instead of the expected 4 for the Y value of position in it's transform...


I'll try to see if I can get it fixed tomorrow, since I'm not expecting it, any probable causes you guys can think of would probably speed up things.
 

StoneFox

Member
Hey guys, I'm developing for Android and I want to put ads in my game. Everything about Admob and Adsense and such is pretty confusing and I don't like that I can't switch from an individual account to a business account later on since I lack the means of creating a business account right now.

Is there a different ad API I can use? Or am I forced to use Admob and all its nonsense? I don't want to depend on Unity's native ad system either.
 
Good luck, man! :+

Yeah, good luck!

Thanks! This first day is mind numbing >_<


Good luck! Mine is launching June 28.

Thx and good luck on yours!


The art in this game is pretty rad dude! The only thing visually that I didn't care for was the thick white border around the characters. Have you tried a thinner line, or even a black/gray line? Just curious. Either way, I'll be keeping my eye on this =)

Thanks. Yeah based on some input in this group as well as friends I decided to stay with a white outline, but I've scaled it back from what it was originally. Before it was way more obnoxius, but now it's a bit more receded.

I'll still be making changes as development moves forward, as nothing right now is final.


Man, it's scary doing this, but regardless of the outcome I'm happy to share it with others :)
 
Soooooo, we're ready to do some early external playtesting for Beacon, and I'd definitely like some of the indie GAF crew to try it out and give some feedback!

It's a two-level demo with a boss, still pretty rough, hasn't been optimized at all and probably has a few crashes.....buuuuut, if anyone here wants to try, send me a DM and I'll drop you a link!
 

Minamu

Member
I tried ProBuilder for real today and it was pretty amazing :) I probably could've made better modules for later editing since I don't have the very nice merge and split functions, but still, it was a breeze to recreate my maps. My smallest map had 188 different gameobjects (cubes for geometry) on it before I found ProBuilder. Now it has only 27 and the map looks identical, or better! :D It functions noticably better too; very few incidents with getting stuck in geometry now. I hope the advanced version goes on sale again. I saw that it was completely free at the last global game jam!

Edit: With some clever extrudes, I managed to remove 83% of an obstacle's gameobjects, that felt pretty impressive :)
 

mStudios

Member
Does anyone know how can I see artists portfolios at conceptart.org ?

All I can find is art jobs, and they used to have artist showcasing their portfolios.
 

correojon

Member
RelentlessRolento, good luck dude!

Only cause i had fun with Mugen 15 years ago :p

So my animation are pretty bad in game. I mean it's also cause it 's tricky to time the motion properly to fit the animation speed. And for the jump i'm still not sure how to do i'll have to test. How to time the ascension then the fall, and with different jumping heights..

Now i'll animate things directly while testing them in game.
I´m also doing a 2D platformer, for the jumping animation I´ve broken the sprite into 3:
  • Rise: Small loop with the player rising. The tail, ears, etc...move in a loop. This is shown while the vertical speed < 0.
  • Peak: When the vertical speed approaches 0 this animation takes over, transitioning from the rising pose to the falling one. You have to be careful so this animation has enough time to end before or shortly after the vertical speed of the character becomes greater than 0, so tha if the player lands on the floor the animation won´t get interrupted in a weird frame.
  • Fall: When the peak animation ends this one kicks in. It´s another "static" pose, with animations for the ears and tail to convery movement. You can make the animation speed relative to the vertical speed, so the faster the player is falling, the faster the ears/tail will move (I didn´t mention this for the rising phase but you can do it there as well).

Here is a little GIF showing it in action, note that due to the GIF´s frame rate some frames are not showing, but you can get the idea:
https://t.co/ialisB6A2D

Edit: I forgot to mention it, I´m also stretching a bit the sprite vertically in the rise and falling phases. As with the animation speed, you can also stretch more the sprite the faster it´s moving. Conversely, when the player lands you can stretch the sprite horizontally to make it more bouncy or cartoony. You can even add this effect for the walking sprite, but it depends on how cartoony you want the character to look.
 

Jintor

Member
I love hitstop, but noticable hitstop on every hit is excessive.

/edit on the other hand, that almost feels like Platinum (tm) Witch Time... hmmm... I wonder if they use the same coding...
 

Lautaro

Member
I'll probably leave the hitstop for the killing hit. Its eye catching but it seems kind of divisive. Also there's people asking me to make the game faster so I rather keep those critical camera closeups short (I will add an option to disable them though, I'm a fan of giving options to the players).
 

Jobbs

Banned
Oh, yeah, I forgot to mention that. Jump height isn't too hard to sort out, you just need to detect which way/speed you're traveling and switch animations based on those. In a typical situation I'll (like the above poster said) have a separate animation designated for "jumping up" and "falling down" (the falldown animation typically has some transitional connective frames in it, then some at the end that loop)
 

correojon

Member
I love hitstop, but noticable hitstop on every hit is excessive.

/edit on the other hand, that almost feels like Platinum (tm) Witch Time... hmmm... I wonder if they use the same coding...

I agree, hitstop breaks the rythm so whenever it´s implemented it should be considered if it can affect gameplay negatively. In Bayonetta entering Witch Time is alright because it gives you an advantage over the enemy and you have time to react. Doing parries also cause slowdown/time freeze, but it´s alright as the enemies are frozen and your next action (the counter) is automatic. In SF2 however it sometimes messed up my timing during combos. Mario games have a sort of hitstop/frame freeze when you are hit which I think works pretty well, as it gives you time to address the situation and plan how to get out of the pinch you´ve walked in.

So apart from it looking good or not visually, gameplay side effects should be considered.
 

correojon

Member
Man, I will probably be back here in 4 months to try and figure out how to implement hitstop in gamemaker

I´m using GM and have succesfully implemented it, it was easier than I thought, but you have to plan in advance. Instead of using the step event, use the User Event for all instances, then have a GameplayController instance that in it´s step event calls the User Event of all instances.

Now you have control over time, you can decide in GameplayController to run the code or not of some instances, run it only every few frames (slowdown), or skip it for some steps (hitstop/freeze frame).
 

Jintor

Member
I´m using GM and have succesfully implemented it, it was easier than I thought, but you have to plan in advance. Instead of using the step event, use the User Event for all instances, then have a GameplayController instance that in it´s step event calls the User Event of all instances.

Now you have control over time, you can decide in GameplayController to run the code or not of some instances, run it only every few frames (slowdown), or skip it for some steps (hitstop/freeze frame).

Thanks for the hot tips. I got about this far last time I felt game-makey inspired and completely burnt out trying to figure out how to do it (I have zero coding experience apart from the GM tutorials, so I was having a lot of trouble trying to visualise/conceptualise everything)
 

orioto

Good Art™
RelentlessRolento, good luck dude!


I´m also doing a 2D platformer, for the jumping animation I´ve broken the sprite into 3:
  • Rise: Small loop with the player rising. The tail, ears, etc...move in a loop. This is shown while the vertical speed < 0.
  • Peak: When the vertical speed approaches 0 this animation takes over, transitioning from the rising pose to the falling one. You have to be careful so this animation has enough time to end before or shortly after the vertical speed of the character becomes greater than 0, so tha if the player lands on the floor the animation won´t get interrupted in a weird frame.
  • Fall: When the peak animation ends this one kicks in. It´s another "static" pose, with animations for the ears and tail to convery movement. You can make the animation speed relative to the vertical speed, so the faster the player is falling, the faster the ears/tail will move (I didn´t mention this for the rising phase but you can do it there as well).

Here is a little GIF showing it in action, note that due to the GIF´s frame rate some frames are not showing, but you can get the idea:
https://t.co/ialisB6A2D

Edit: I forgot to mention it, I´m also stretching a bit the sprite vertically in the rise and falling phases. As with the animation speed, you can also stretch more the sprite the faster it´s moving. Conversely, when the player lands you can stretch the sprite horizontally to make it more bouncy or cartoony. You can even add this effect for the walking sprite, but it depends on how cartoony you want the character to look.

Thx, that's super useful, and the game looks pretty :)
 

Nezzhil

Member
Awesome, congrats! I'm gonna pick this up right now and hopefully get to play a little when I get out of work.

Also just curious, what is your teams post launch plan? Have a new project in mind or maybe updates? I saw a comment on your discussion page on steam mentioning CTF and team deathmatch. Could be cool.

Well, we're fixing some bugs and improve the controller support, so we'll upload a new patch today. After that, we want to add more levels and add some new basic multiplayer modes (co-op your own maps), but nothing big. But we hope to sell enough to rent our own online servers, because the P2P is really finicky right now and we want to give a solid online experience.

Sadly, right now we only have expenses and zero funds. So, if the game doesn't sell reasonably well, we don't be able to continue like now and begin a new project. We're thinking in some alternatives to not close the company, but nothing sure.
 
I love hitstop, but noticable hitstop on every hit is excessive.

/edit on the other hand, that almost feels like Platinum (tm) Witch Time... hmmm... I wonder if they use the same coding...

I agree, hitstop breaks the rythm so whenever it´s implemented it should be considered if it can affect gameplay negatively. In Bayonetta entering Witch Time is alright because it gives you an advantage over the enemy and you have time to react. Doing parries also cause slowdown/time freeze, but it´s alright as the enemies are frozen and your next action (the counter) is automatic. In SF2 however it sometimes messed up my timing during combos. Mario games have a sort of hitstop/frame freeze when you are hit which I think works pretty well, as it gives you time to address the situation and plan how to get out of the pinch you´ve walked in.

So apart from it looking good or not visually, gameplay side effects should be considered.

Define it's use. There's more than one type:

Global - stutters the entire game
Local - stutters the object

Which one is most egregious on every hit to you guys? There's a big difference between the two, IMO.
 

correojon

Member
Define it's use. There's more than one type:

Global - stutters the entire game
Local - stutters the object

Which one is most egregious on every hit to you guys? There's a big difference between the two, IMO.

I think the division is best whether it affects the player or not. Anything that affects the player shouldn´t require an input, for example in Bayonetta you get invincibility during Witch Time and the counter is automatic after a parry. In Mario you get some invincibility frames after being hit. In any of these cases there´s no strict requirement of user input. In SF however, if you´re attacking slowdowns or freeze frames can make you drop your combo, which is frustrating.
So if you´re going to do something that affects the player as well, make sure that no strict input timing is required. In SF4, when finishing with an Ultra you get a cool freeze frames while "KO" appears on screen. It´s a cool moment. Well, the whole Ultra sequences are automatic and the user can´t follow them up, so any kind of "time effect" can be safely used there. The Batman Arkham series also uses slowdown for the last attack in a fight and again, there´s no need for the user to input anything after that last hit as there are no enemies or dangers left.

You could use hitstop only for big special attacks and add some invincibility after them, so the player gets the chance to mess up his inputs with no negative consequences during the slowdown/stop. But anyway, I would only do this for special moments (the killing blow, a very special and strong attack, killing the last enemy...) because if you use it too much it will loose it´s impact. In SF3 Ryu had an Ultra that completely froze the game and it worked masterfully to sell the huge strength behind the attack. I don´t know if it´s because no other special moves did it or because this attack had longer feeze frames and was accompanied by a small zoom, but it made this attack stand out to me.

Micro stutters only affecting the enemies when being hit can work too, but I think a short "hit-recovery" animation could work better.
 
I think the division is best whether it affects the player or not. Anything that affects the player shouldn´t require an input, for example in Bayonetta you get invincibility during Witch Time and the counter is automatic after a parry. In Mario you get some invincibility frames after being hit. In any of these cases there´s no strict requirement of user input. In SF however, if you´re attacking slowdowns or freeze frames can make you drop your combo, which is frustrating.
So if you´re going to do something that affects the player as well, make sure that no strict input timing is required. In SF4, when finishing with an Ultra you get a cool freeze frames while "KO" appears on screen. It´s a cool moment. Well, the whole Ultra sequences are automatic and the user can´t follow them up, so any kind of "time effect" can be safely used there. The Batman Arkham series also uses slowdown for the last attack in a fight and again, there´s no need for the user to input anything after that last hit as there are no enemies or dangers left.

You could use hitstop only for big special attacks and add some invincibility after them, so the player gets the chance to mess up his inputs with no negative consequences during the slowdown/stop. But anyway, I would only do this for special moments (the killing blow, a very special and strong attack, killing the last enemy...) because if you use it too much it will loose it´s impact. In SF3 Ryu had an Ultra that completely froze the game and it worked masterfully to sell the huge strength behind the attack. I don´t know if it´s because no other special moves did it or because this attack had longer feeze frames and was accompanied by a small zoom, but it made this attack stand out to me.

Micro stutters only affecting the enemies when being hit can work too, but I think a short "hit-recovery" animation could work better.
I understand all that.

Just looking for opinions on global vs local. Global carries a LOT more weight so using it sparingly is preferred but local can be used to augment the feedback loop if implemented in a way that makes seeing it over and over palatable. It's use is best shown when it's seemingly innocuous, IMO.
 
Our global is 3/60 frames. It's used on 1 ability which has unlimited uses but also shares energy use with your main weapon. So being able to use the ability requires n ebb and flow of weapon use. It's also tied to a quick screen shake.

Our local is 2/60 frames. No shake.

I'd call that quick. It's almost imperceptible.

I find small systems like these can be exploited for gameplay mechanics, personally. I don't think there's anything in my feedback loop that isn't dual purpose - including my glorious pixel effects. I find creating a bit of gameplay nuance out of stuff in the loop adds a bit more to the game outside of positive or negative visual reinforcement. I'm a firm believer in making use of stuff in a way that adds to the game via emergence vs statically designed sequences. I do not both and it's fun to see stuff happen that's not planned add to the experience. It doesn't have to be crazy, either. The more invisible that layer is the better.
 
Is it normal to end up basically writing lots of camera scripting code just to get your third-person (so to speak: It's a 2D project intending a "Mode 7" look) camera behave exactly as you want it?

That flying mode camera is a lot of work just to get it to feel right. Need to take care of camera positioning, rotation, sprite parts, location tracking and reorientation to make it stay 1:1. Ugh.

But I'm almost done!

By the way, for the "sky" strip of background and the fake horizon (made using sprites/images instead of actual fogging due to a desire to make it colourband), would it be better off residing on a UI canvas and have them slide programmatically by code?
 
Status
Not open for further replies.
Top Bottom