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

Lautaro

Member
I use a lot of singletons because I have several managers: game, scene, input, GUI.

I like them but I've heard they are bad because they cause high coupling (interdependence). Now that may be right but if no one suggest a better way then I'll have to keep using them.
 
I use a lot of singletons because I have several managers: game, scene, input, GUI.

I like them but I've heard they are bad because they cause high coupling (interdependence). Now that may be right but if no one suggest a better way then I'll have to keep using them.

Think if it this way - if it is absolutely needed and can only exist once - there you go. There's no problem. My SessionManager (handles all info for the current play session) is a single. Contains a bunch of information on the state of the player from health, energy, location, current weapon, etc. I simply have my player pass the latest info of that frame at the end of the frame. This helps me with enemies since I don't need them to waste time looking for the player's object, getting references to components, etc - they just pull information from the SessionManager.

The problem occurs when people use it as an easy out and over-use them. Things can get sticky quick!
 
Think if it this way - if it is absolutely needed and can only exist once - there you go. There's no problem. My SessionManager (handles all info for the current play session) is a single. Contains a bunch of information on the state of the player from health, energy, location, current weapon, etc. I simply have my player pass the latest info of that frame at the end of the frame. This helps me with enemies since I don't need them to waste time looking for the player's object, getting references to components, etc - they just pull information from the SessionManager.

The problem occurs when people use it as an easy out and over-use them. Things can get sticky quick!

What's an example of over-use to you?
 
I use a few poorly-viewed practices for game programming. I do it because they work and because I work alone, and because they're easy to understand. By all means, use singletons if they get the job done, just be cognizant of the pitfalls. There's no sense in restricting your toolbox just because that tool can be used badly. If you spend too much time trying to make your code elegant and completely modular, then you won't have enough time to actually make the game.
 
What's an example of over-use to you?
Using it when a reference is the right option. Its one of those things I sit on the fence about. In most cases I stick with the "object" oriented rule since that is its design but I do use use plenty of them when I feel they are appropriate. Then again I never went to school for any of this stuff so I may be misusing them but I don't feel I am if I haven't broken them yet. I'm mindful of their use. That's probably the most important thing.
 
Using it when a reference is the right option. Its one of those things I sit on the fence about. In most cases I stick with the "object" oriented rule since that is its design but I do use use plenty of them when I feel they are appropriate. Then again I never went to school for any of this stuff so I may be misusing them but I don't feel I am if I haven't broken them yet. I'm mindful of their use. That's probably the most important thing.

Gotcha.

It's just weird because I often hear about the pitfalls of singleton patterns, yet nothing I read on the subject ever shows tangible deficits. It's just a bunch of fear mongering and "it'll be easier to make mistakes" mumbo jumbo.

Maybe I just haven't ever programmed something serious enough to warrant being that anal about it.
 
Gotcha.

It's just weird because I often hear about the pitfalls of singleton patterns, yet nothing I read on the subject ever shows tangible deficits. It's just a bunch of fear mongering and "it'll be easier to make mistakes" mumbo jumbo.

Maybe I just haven't ever programmed something serious enough to warrant being that anal about it.
It is allegedly "bad form" to use them abundantly but I feel the "bad form" comes from inexperience and overuse to the point they become like a sledgehammer and not a precision tool like a surgical blade. Again I never studied the "proper" way to use or misuse them - this just comes from my own experience as a noob when teaching myself. Still am a noob, to a point. We all have our fallbacks.
 
On the topic of Singletons, I linked to a pretty sweet auto-instantiating prefab-based singleton method for Unity in this post.

Figured I'd bring it up again while we're sort-of on the topic as it's absolutely amazing and really extends Singleton interactions in the Unity editor.
 

bsp

Member
nPyDo9w.png
 
Well since my team kickstarter was disastrous we're stepping out and searching for work/commissions, so I'm polishing out my portfolio a bit.

It's been a while since I wanted to use spine and get back to 2D animation, the walking animation is a bit cheap I know, but I wanted to see if I could put something decent without redrawing the legs/feet.

Would love some feedback!


(and if you know anyone interested in and 2D/UI shoot a message)
 
Well since my team kickstarter was disastrous we're stepping out and searching for work/commissions, so I'm polishing out my portfolio a bit.

It's been a while since I wanted to use spine and get back to 2D animation, the walking animation is a bit cheap I know, but I wanted to see if I could put something decent without redrawing the legs/feet.

Would love some feedback!



(and if you know anyone interested in and 2D/UI shoot a message)

That looks almost like something out of Dragon's Crown.
 
That looks almost like something out of Dragon's Crown.

ahah way too kind! Vanillaware stuff has always been an inspiration for me, after I've completed the attack animation for this, I'm doing something inspired by their style.
They do have some tricks in their approach with how the skeleton is done, and I would love to tap that.
 
Well since my team kickstarter was disastrous we're stepping out and searching for work/commissions, so I'm polishing out my portfolio a bit.

It's been a while since I wanted to use spine and get back to 2D animation, the walking animation is a bit cheap I know, but I wanted to see if I could put something decent without redrawing the legs/feet.

Would love some feedback!

It's hard to say without context, but it looks like the back foot comes up before the front foot is all the way down. That doesn't work very well for a slow, lumbering walk. I also think that the back knee needs to bend some as it moves forward, and in general the leg movement should be a little less conservative. I understand the want for constraint, but I think it has the opposite effect you want. It doesn't break the articulations, but at the cost of emphasizing the stiffness of the model.

But the art is phenomenal! And also I really like all the secondary animations. Those add a lot of weight and presence to the character.
 
It's hard to say without context, but it looks like the back foot comes up before the front foot is all the way down. That doesn't work very well for a slow, lumbering walk. I also think that the back knee needs to bend some as it moves forward, and in general the leg movement should be a little less conservative. I understand the want for constraint, but I think it has the opposite effect you want. It doesn't break the articulations, but at the cost of emphasizing the stiffness of the model.

But the art is phenomenal! And also I really like all the secondary animations. Those add a lot of weight and presence to the character.

Yup! Absolutely right! the back knee needs some rework, after placing all that stuff you loose the sense of flow xD

And thankyou! Yeah, I wanted to some kind of chain belt and more similar things but it was loosing the menacing look :p
 

mStudios

Member
Well since my team kickstarter was disastrous we're stepping out and searching for work/commissions, so I'm polishing out my portfolio a bit.

It's been a while since I wanted to use spine and get back to 2D animation, the walking animation is a bit cheap I know, but I wanted to see if I could put something decent without redrawing the legs/feet.

Would love some feedback!



(and if you know anyone interested in and 2D/UI shoot a message)

May I see your Kickstarter page?
 

_machine

Member
So...we'll have to see about getting some new shots today, the game just stopped working in stand-alone version and we've pinpointed the error nearly 100 revision back, but it'll take some time to get back on track.

Here's a WIP shot of the 3d menu though:
Like nearly all of our environments, especially color polish is missing and the menu needs some work on the ground and is missing some assets. It does have some nice camera tracking and cloth physics.

I'd love to see a larger shot of the bottom left UI element, if you're so inclined during tomorrow's screen dump. The icons look vastly different than last time I saw them.
Will do as soon as the game starts working again, I do think they've changed since the last time, though I personally think they could use a bit more polish.
 
Hey everyone, I haven't really posted in here for a long time, but I've just finished work on a new demo for my game COLOR. I had to make a demo to show to some people so thought I'd share it here too to get some general feedback :)

The demo can be downloaded from my website (PC only for now, the Mac and Linux links are to an older demo!) here http://dualstudios.co.uk/color (or just use this direct link to the demo on PC)

Notes: Use F1 to close the game. Press R to reset a level. Other than that, everything else should make sense I hope :p Oh and the last two levels of this demo are quite complex/difficult - that's because I wanted to show off some of the more complex aspects of the game so dw the learning curve won't be this uneven in the final game!

Anyway if anyone has time to try this out and give any feedback that'd be awesome thanks! :D

Some screenshots of the game:
 

Jintor

Member
I was feeling pretty tired today, but I whipped up a quick attack animation + hitbox and a training dummy + hurtbox, a new attacking state, and tested it. It works!

...unless you throw out an attack before you hit the dummy, in which case it doesn't work. Sometimes. Sometimes it does work. I'm... not sure what's happening. Hmmmm...?

Too tired to test or even to gif it. I'll look more at it later. But it works! Sometimes! I can press a button and Cubey attacks!
 
I was feeling pretty tired today, but I whipped up a quick attack animation + hitbox and a training dummy + hurtbox, a new attacking state, and tested it. It works!

...unless you throw out an attack before you hit the dummy, in which case it doesn't work. Sometimes. Sometimes it does work. I'm... not sure what's happening. Hmmmm...?

Too tired to test or even to gif it. I'll look more at it later. But it works! Sometimes! I can press a button and Cubey attacks!
Attack timeout, damage timeout and break conditions. There's a fafillion things you need to probably protect against for something even as innocuous as a simple attack.

Although I'm not sure what you mean by throw out an attack before you hit the dummy.
 

Jintor

Member
like if i attack the air before I attack the dummy. (I.e. hit my attack button with nothing around, although I guess it's conceivable it's hitting level geometry? But it should be resetting what the other.object is when the hitbox is destroyed... idk)
 

_machine

Member
Hot damn I love the colors and glowy bits XD Looks ace
Thanks!

We nearly got all the errors fixed (level script parenting broke some of the UI spawning and as usual blueprint functions or macros had broken stuff without any reason), but we also noticed that upgrading to 4.8.1 will be break a few things, so new screenshots will have to wait for tomorrow (sorry WanderingWind). Luckily fixing the whole project breaking down didn't take that long and it doesn't look like the engine upgrade will be a huge PITA either, though it looks like I'll once again enjoy aligning UI element properly with UMG...(hint: it's not fun)
 
like if i attack the air before I attack the dummy. (I.e. hit my attack button with nothing around, although I guess it's conceivable it's hitting level geometry? But it should be resetting what the other.object is when the hitbox is destroyed... idk)
Depends on what you tell your colliders/hitboxes to do when they hit nothing or varying types of objects, I would assume.

If you are hitting some type of geometry but are always telling your colliders to check for a health script on whatever object you hit and your geometry doesn't have any health script, then you will throw an error.

If you are trying to deal damage every time you attack, without checking for collisions, then when you whiff you will throw errors since you try to access another object on that hitbox that doesn't exist.

Something is amiss with your script when you attack. Something either is or isn't being called on collision or is being called on no collision.

Edit: you also do not need to keep any information on what the other hitbox is after the frame you use it in (depending on your gameplay mechanics. Straight damage is probably no). It can be done immediately after you deal damage. You shouldnt even need to cache any instance, just look at the object collided and do what you need to. This is how I handle damage collision.

We enter an object with the tag Enemy.
Call the damage function on that object and pass along our damage variable.

That's it.

I look at the collided object, grab its EnemyHealth component and call the DamageEnemy function passing along the damage value of the strike.

You can create a reference if you like but I just simply point to the object, instead. No need to clear anything.
 
Is the spear supposed to slide when a persona attacks with it? Just wondering because I don't know how they are actually used in battle in real life

Was discussing this right now with a friend of mine, basically I made it work like like a stick pool and it's not entirely correct to do some actual damage xD

And the fact that the bust turn is not clear, so I need different views for the head and the shoulders.
 

bkw

Member
Anyone got pointers on how to save / load data? I'm trying to save stats, so it's just going to be a bunch of numbers in a class that specifically defined for holding stats numbers. What do I need to take into consideration to ensure that I can add more stats to it later and still be able to load older save file properly?

I'm using Unity btw, and I'm trying to stay away from PlayerPrefs for now.
 
Oh wow, I've not posted in here in ages. I'll have to post an update on what I've been up to sometime real soon XD

Anyone got pointers on how to save / load data? I'm trying to save stats, so it's just going to be a bunch of numbers in a class that specifically defined for holding stats numbers. What do I need to take into consideration to ensure that I can add more stats to it later and still be able to load older save file properly?

I'm using Unity btw, and I'm trying to stay away from PlayerPrefs for now.

I found this official unity live training extremely handy for this exact issue: https://www.youtube.com/watch?v=J6FfcJpbPXE
hopefully it's as handy for you as it was for me :D
 
Anyone got pointers on how to save / load data? I'm trying to save stats, so it's just going to be a bunch of numbers in a class that specifically defined for holding stats numbers. What do I need to take into consideration to ensure that I can add more stats to it later and still be able to load older save file properly?

I'm using Unity btw, and I'm trying to stay away from PlayerPrefs for now.

This is one way to do it. Basically, push your storage class through XmlSerializer and write the resulting xml to a file under Application.persistentDataPath. The serializer handles stuff like missing data nicely, but for future compatibility I'd add a save version id to the data so that you can check against it and convert old data when necessary.
 

Jobbs

Banned

The walk animation needs the most work. You need more range of motion and the fact that the legs are taking turns moving looks very unnatural. The arms are also synced weirdly with the rest of the animation.

With the attack animation I'd suggest a bit more range of motion too. It can be hard to get all of the poses you want out of manipulating one drawn pose (this neutral pose), but one way to help with that problem is to make sure there's plenty of range of motion, so the travel of the pieces forms a recognizable outline.
 

EDarkness

Member
Anyone got pointers on how to save / load data? I'm trying to save stats, so it's just going to be a bunch of numbers in a class that specifically defined for holding stats numbers. What do I need to take into consideration to ensure that I can add more stats to it later and still be able to load older save file properly?

I'm using Unity btw, and I'm trying to stay away from PlayerPrefs for now.

I have the same problem. Something I need to tackle real soon considering my game is an RPG and saving is a HUGE part of the game. Just haven't found a good solution yet.
 
The walk animation needs the most work. You need more range of motion and the fact that the legs are taking turns moving looks very unnatural. The arms are also synced weirdly with the rest of the animation.

With the attack animation I'd suggest a bit more range of motion too. It can be hard to get all of the poses you want out of manipulating one drawn pose (this neutral pose), but one way to help with that problem is to make sure there's plenty of range of motion, so the travel of the pieces forms a recognizable outline.

I see thanks! Trying to add some more parts to add depth and more range of motion currently, it's a two days work so it needs plenty of polish :p
 

bkw

Member
Do you have particular reasons to avoid using PlayerPrefs?
I want more control and do stuff like cloud sync. Plus a save file just seems cleaner / flexible.
I found this official unity live training extremely handy for this exact issue: https://www.youtube.com/watch?v=J6FfcJpbPXE
hopefully it's as handy for you as it was for me :D
Thanks, I'll check it out.

This is one way to do it. Basically, push your storage class through XmlSerializer and write the resulting xml to a file under Application.persistentDataPath. The serializer handles stuff like missing data nicely, but for future compatibility I'd add a save version id to the data so that you can check against it and convert old data when necessary.
This seems sensible. Though ideally it wouldn't be plain xml text (I know it doesn't really matter...)

I have the same problem. Something I need to tackle real soon considering my game is an RPG and saving is a HUGE part of the game. Just haven't found a good solution yet.
Yeah, same here. I've been putting this off for a while now.

Thanks for the help guys!
 

Jobbs

Banned
I see thanks! Trying to add some more parts to add depth and more range of motion currently, it's a two days work so it needs plenty of polish :p

Animation is largely about outlines and key poses, and that's true whether you animate traditionally or with a set of pieces in Spine.
 
Animation is largely about outlines and key poses, and that's true whether you animate traditionally or with a set of pieces in Spine.

True, I'm more used to directly draw each frame, using spine I'm looking to fasten up things a bit but it's no joke, some parts needs to be done, no other way around it.
 
This seems sensible. Though ideally it wouldn't be plain xml text (I know it doesn't really matter...)

Well, you can easily encrypt/decrypt the file stream with a super-secret key (which is equally easy to extract from the binary/memory) if you want to stop the lazy people from looking at it. :)
 
Well since my team kickstarter was disastrous we're stepping out and searching for work/commissions, so I'm polishing out my portfolio a bit.

It's been a while since I wanted to use spine and get back to 2D animation, the walking animation is a bit cheap I know, but I wanted to see if I could put something decent without redrawing the legs/feet.

Would love some feedback!



(and if you know anyone interested in and 2D/UI shoot a message)


There is a lot of suspicious movement underneath that cloth....
 

Jobbs

Banned
Should I tweak it to make it less floaty? xD



Redone the skeleton and added helm/bust turning, sadly I have spine essential and the mesh feature that could do miracles it's unavailable.

I really like all the detail and subtle sub-movements, but it's definitely going to be a challenge to get this character to do a lot of different things from this one drawing, especially since he's so facing the camera.

I'd consider (and this is how I approach this, at times) drawing a couple of different important poses separately -- So, standing, another at his full attack extension, another where his body is more oriented for walking -- And cut each of those up and utilize spine to animate them and between them. This is basically what Vanillaware does (they take it to great lengths).

If you want to do absolutely everything from one pose, you may choose a pose where he's more facing to the side. Or maybe you just need another version of the leg on the right, a version that's not facing the camera...

Ultimately, I think the more elaborate and the more geometric the shapes on the character are, the harder it is to animate them without additional frames/pieces.
 
I really like all the detail and subtle sub-movements, but it's definitely going to be a challenge to get this character to do a lot of different things from this one drawing, especially since he's so facing the camera.

I'd consider (and this is how I approach this, at times) drawing a couple of different important poses separately -- So, standing, another at his full attack extension, another where his body is more oriented for walking -- And cut each of those up and utilize spine to animate them and between them. This is basically what Vanillaware does (they take it to great lengths).

If you want to do absolutely everything from one pose, you may choose a pose where he's more facing to the side. Or maybe you just need another version of the leg on the right, a version that's not facing the camera...

Ultimately, I think the more elaborate and the more geometric the shapes on the character are, the harder it is to animate them without additional frames/pieces.

Thanks! And yeah this pose is kind of a mess to create different actions, I'm looking at at the walking pose atm and I'll definitely need to redraw the character almost entirely.
I'll probably end up redoing this skeleton too, I did not utilize curves, and playing a bit with them now they do add a lot of dept the the animation.

If only I could use those meshes traformations grrr
 

Lautaro

Member
Anyone got pointers on how to save / load data? I'm trying to save stats, so it's just going to be a bunch of numbers in a class that specifically defined for holding stats numbers. What do I need to take into consideration to ensure that I can add more stats to it later and still be able to load older save file properly?

I'm using Unity btw, and I'm trying to stay away from PlayerPrefs for now.

Well, in my case I added some generic properties (lists of strings, lists of floats, etc) to my game session class. I haven't used them but I put them there just in case because any future change to the class would break the older saves. For example, a list of strings called "gameEvents" could potentially keep data of quests, dialogue, etc. (it wouldn't be as nice as having custom objects for these events but it would keep compatibility).
 
Status
Not open for further replies.
Top Bottom