Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Ranzear
Jul 25, 2013

That has been expressed to me in my new company already: Players are dumber than you could ever imagine.

There is a bit of truth in that though. We ourselves are operating with prior knowledge and games have their own version/scale of literacy.

Adbot
ADBOT LOVES YOU

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

Ranzear posted:

That has been expressed to me in my new company already: Players are dumber than you could ever imagine.
If those are the players that you court.
Zachtronics games do alright with assuming players are not dumb.
But it's good to recognize that any user interface you make that isn't something utterly bog-standard (like a giant button you can select that is a word that says what it does) is probably a lot dumber than you imagine. For example, a thing you've already interacted with that has quietly become something worth clicking again that isn't glowing dramatically for attention would be a terrible interface, because nobody wants to be constantly clicking everything they've already clicked just in case it will do something different now. Or in a more RPG style, a thing that looks essentially the same as a bunch of other things that, if you click on them, are useless and annoying, but this one is important or valuable, is a terrible interface. (That people often make, eg. RPG NPCs, bookshelves, walls.)

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
I realized when changing scenes that my saving system would screw up since there would be collisions on the object Ids. So now I am working on a scene cache to keep it all straight.

It was great for those 30 minutes I did a cool thing in the game itself. On the other hand, I guess I should be happy to now be able to save every drat thing that changes in the game forever, and revert back to the start of the latest scene when the player fucks up.

I think I am a back end guy because I wind up there in my project constantly.

Jewel
May 2, 2009

Rocko Bonaparte posted:

I realized when changing scenes that my saving system would screw up since there would be collisions on the object Ids. So now I am working on a scene cache to keep it all straight.

It was great for those 30 minutes I did a cool thing in the game itself. On the other hand, I guess I should be happy to now be able to save every drat thing that changes in the game forever, and revert back to the start of the latest scene when the player fucks up.

I think I am a back end guy because I wind up there in my project constantly.

Yeah, you definitely are :')

I've noticed it a lot with friends lately, but most indies honestly don't even know what caching is, or anything along that level of knowledge. Unity's in a state where it doesn't need much backend work for a standard feature set, or has plugins/assets that do saving/etc for you, so people just gloss over the technicalities when pumping out fun projects.

I'm jealous, in a way. I work as an engine tech and I just never get to code gameplay. But even at home when I try to make something I end up being completely lost in the frontend side of things. There's always twenty different ways to do any one thing and nineteen of those are inefficient and terrible to maintain. Some day I'll get the time to learn the current do's and don't's' of frontend. No idea where to look though other than asking friends, because every time you search for anything "best practice" related you just find basic tutorials on using terrifyingly inefficient methods like "BroadcastMessage("ApplyDamage", ...);"

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Jewel posted:

Yeah, you definitely are :')

I've noticed it a lot with friends lately, but most indies honestly don't even know what caching is, or anything along that level of knowledge. Unity's in a state where it doesn't need much backend work for a standard feature set, or has plugins/assets that do saving/etc for you, so people just gloss over the technicalities when pumping out fun projects.

I'm jealous, in a way. I work as an engine tech and I just never get to code gameplay. But even at home when I try to make something I end up being completely lost in the frontend side of things. There's always twenty different ways to do any one thing and nineteen of those are inefficient and terrible to maintain. Some day I'll get the time to learn the current do's and don't's' of frontend. No idea where to look though other than asking friends, because every time you search for anything "best practice" related you just find basic tutorials on using terrifyingly inefficient methods like "BroadcastMessage("ApplyDamage", ...);"

On the front end you're dealing with either infrequent things or a well defined tight loop. Speed often matters in the loop and very often doesn't outside of it. Especially in small projects.

Just do the thing that gets it out the door. If it's slow you can address it when it's a problem; it very often isn't.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
I suppose I should qualify here that my scene cache is more a "if I have it, I give it to you" kind of thing than any kind of performance-related structure. The cache is basically an ongoing save in a temp directory where I save the scene they just left so I can give it back to them--changes-and-all--when they return to it.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

leper khan posted:

Just do the thing that gets it out the door. If it's slow you can address it when it's a problem; it very often isn't.
I just came to a related conclusion for my current little game project - instead of trying to make each thing good as I go, I realized I'd make a lot more progress if I make a kinda lovely version of the game, and then fix it. Because I have a hard time persuading myself to sit down and do work on making a thing, but I'm endlessly enraged by things being bad and must fix them.

(eg. rather than trying to make the platformy jumpy part of the game have nice fun Mario jump physics, I can make it with lovely common gravity-based physics and the corresponding floaty jumps, and horizontal movement being just stop/go based on keys held, and move on from there to making other interactions exist. Then once the gameplay in general works and is a bit terrible and frustrating, then I can come back and clean it up to Mario style nonsensical fun physics.)

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

roomforthetuna posted:

I just came to a related conclusion for my current little game project - instead of trying to make each thing good as I go, I realized I'd make a lot more progress if I make a kinda lovely version of the game, and then fix it.
Yep. This is the #1 most important thing I've settled on, for actually finishing games I work on (and I assume anything else that isn't back-end / engine work). I was a back-end person in my AAA days, so it was a bit of a rough adjustment, but you just kinda get used to steeping in poo poo, and it's fine. You just... don't crack open codebases for previous games if you can avoid it. Or that system you wrote 6 months ago.

Also, it's kind of fun to shriek curses at whatever idiot wrote a nasty system only to realize 1.) it's you, and 2.) you can't actually clean it up, because it works fine, and you'd be a goddamn idiot to shake the boat at this point.

I just wrote a class that exists to enable things on a timecode, and another that exists to disable things, because it was fast to copy-paste the source and change a line of code. Could I go back and add a bool to the enable-things version to make it also disable things, thus merging the systems? Sure. But it works and was a one-off thing, so... nope. I took the time to re-name the variables in the copy-pasted version, but even THAT was a kind of dumb thing to bother with, given how throw-away this particular piece of code is.

Stick100
Mar 18, 2003

Shalinor posted:

I took the time to re-name the variables in the copy-pasted version, but even THAT was a kind of dumb thing to bother with, given how throw-away this particular piece of code is.

Nah that one is always worth it unless you're working on a game jam/code competition with short time boundary (I think 72 hour max). At some point you might need to change a thing in there or track down a bug that is slightly involved and although as programmers we expect uielement/gameobject names to lie, and comments to lie, and occasionally function names to lie, variables shouldn't lie about what they are. The cost of having to find that in debugging of an hour is offset the one in hundred times it happens over the 20 seconds of renaming the obvious variable names.

Stick100 fucked around with this message at 20:16 on Apr 25, 2017

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

roomforthetuna posted:

I just came to a related conclusion for my current little game project - instead of trying to make each thing good as I go, I realized I'd make a lot more progress if I make a kinda lovely version of the game, and then fix it. Because I have a hard time persuading myself to sit down and do work on making a thing, but I'm endlessly enraged by things being bad and must fix them.

Yeah, its a necessary evil in gamedev. There's too much to do and it'd take too long, so sometimes you just gotta plug gaps for the moment and then come back and polish it later. I've got some AI behavior going on right now which is... basically totally random... but it works well enough for testing purposes that I can come back and improve that actual logic later once I get a few other necessary components built.

Perfectionism is a bad thing when it makes you get demoralized. Sometimes you gotta be realistic.

Shalinor posted:

Also, it's kind of fun to shriek curses at whatever idiot wrote a nasty system only to realize 1.) it's you, and 2.) you can't actually clean it up, because it works fine, and you'd be a goddamn idiot to shake the boat at this point.

I'll never forget at an old job, at one point I asked my boss "hey, who wrote this stupid code?" only for him to give me a real :crossarms: look, and then I realized "it was me, wasn't it."

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Zaphod42 posted:

Yeah, its a necessary evil in gamedev. There's too much to do and it'd take too long, so sometimes you just gotta plug gaps for the moment and then come back and polish it later. I've got some AI behavior going on right now which is... basically totally random... but it works well enough for testing purposes that I can come back and improve that actual logic later once I get a few other necessary components built.

Perfectionism is a bad thing when it makes you get demoralized. Sometimes you gotta be realistic.


I'll never forget at an old job, at one point I asked my boss "hey, who wrote this stupid code?" only for him to give me a real :crossarms: look, and then I realized "it was me, wasn't it."

git blame is very useful for avoiding these situations.

xgalaxy
Jan 27, 2004
i write code
Unreal engine 4.16 preview includes a new audio engine system allowing you to create procedural audio.

Elentor
Dec 14, 2004

by Jeffrey of YOSPOS
That's super neat.

CodeJanitor
Mar 30, 2005
I still can't think of anything to say.
So this is I guess related to game development, because it is part of a game I am messing with.

If someone posts an explanation of their application/library/algorithm, and has source code for it under gpl, is it violating that license if I use the explanation to build my own version never having seen the actual source code for it?

A few procedural generation algorithms that look pretty great have some gpl'd source code, but they post explanations of how they work, but no code snippets or samples. I haven't seen any of the code (I can't actually find any copies of it posted on their sites) but want to adapt their concepts into my own thing, which I might want to use in a game that code potentially be sold at some point (haha yeah right, its never going to see the light of day and die smothered under the pile of thousands of other decaying projects on my NAS).

Curious if anyone has any experience with this scenario as I have seen answers on both sides of the fence.

Telarra
Oct 9, 2012

CodeJanitor posted:

So this is I guess related to game development, because it is part of a game I am messing with.

If someone posts an explanation of their application/library/algorithm, and has source code for it under gpl, is it violating that license if I use the explanation to build my own version never having seen the actual source code for it?

A few procedural generation algorithms that look pretty great have some gpl'd source code, but they post explanations of how they work, but no code snippets or samples. I haven't seen any of the code (I can't actually find any copies of it posted on their sites) but want to adapt their concepts into my own thing, which I might want to use in a game that code potentially be sold at some point (haha yeah right, its never going to see the light of day and die smothered under the pile of thousands of other decaying projects on my NAS).

Curious if anyone has any experience with this scenario as I have seen answers on both sides of the fence.

If you've never ever looked at any of the source code, you'd be doing a clean room implementation, which does not violate copyright.

CodeJanitor
Mar 30, 2005
I still can't think of anything to say.

Moddington posted:

If you've never ever looked at any of the source code, you'd be doing a clean room implementation, which does not violate copyright.

Thank you for the information and the link.

All the legal hurdles I have had to go through at work for using libraries has me paranoid.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
IANAL but beware of non-literal copying

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

Moddington posted:

If you've never ever looked at any of the source code, you'd be doing a clean room implementation, which does not violate copyright.

Technically the clean room / Chinese wall would involve your own team having a few people look at the software and write the specification, and then completely different people write software using only the specification, including none of the original team.

However... if the author themselves offers up a specification of exactly what it does... yeah, seems fine to me. That's on them! If they're providing that specification with no restrictions then you should be good.


That's a pretty complicated case though, involving somebody (Carmack) who worked for one company, quit, joined another company, and then worked on something very similar.

Honestly I love Carmack and respect him more than almost any other dev out there, the guy is crazy smart, but I was waiting for the shoe to drop on this thing ever since Carmack left Id. He played super hard and fast and loose with the rules, and there was no way it wasn't going to bite him in the rear end.

quote:

Early on in his testimony, I wanted to stand up say Sir! As a man of (computer) science, I challenge you to defend the efficacy of your methodology with data, including false positive and negative rates. I just wanted to shout You lie!. By the end, after seven cases of absolutely certain, I was wondering if gangsters had kidnapped his grandchildren and were holding them for ransom.

Oh come off it Carmack. :rolleyes: What a geek.

Just a reminder that when companies like Id were first getting started, they stole floppy disks from the other companies they worked for and used them to burn copies of the original Id games and sell them for profit. Doom also pretty blatantly ripped off a ton of existing music, and even some existing art (see the origins of the Cacodemon, or the Doom backgrounds, which were scanned from copyrighted books) and if games weren't such a small niche back when they got started, Id probably would have gotten the poo poo sued out of them before they ever became what they did. I dunno I just find a lot of things like this in the industry to be really hypocritical.

Zaphod42 fucked around with this message at 21:15 on Apr 26, 2017

The Fool
Oct 16, 2003


Zaphod42 posted:

Just a reminder that when companies like Id were first getting started, they stole floppy disks from the other companies they worked for and used them to burn copies of the original Id games and sell them for profit. Doom also pretty blatantly ripped off a ton of existing music, and even some existing art (see the origins of the Cacodemon, or the Doom backgrounds, which were scanned from copyrighted books) and if games weren't such a small niche back when they got started, Id probably would have gotten the poo poo sued out of them before they ever became what they did. I dunno I just find a lot of things like this in the industry to be really hypocritical.

Not just this industry, pretty much any creative industry has stories of people copying or stealing other peoples work, then freaking out when they get big and it happens to them.

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.
I've posted this elsewhere but I'm still not sure how I can get people to playtest my game. I'm not very interested in throwing it out to reddit or whatever. For instance, I don't need tons of feedback saying "the graphics suck" when literally none of the graphics are done.

I think in-person would be best, but I don't know anybody that I could invite over to test and I don't want to invite internet strangers into my house.

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.
I mean should I just not be a big baby and invite strangers into my house?

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

baby puzzle posted:

I've posted this elsewhere but I'm still not sure how I can get people to playtest my game. I'm not very interested in throwing it out to reddit or whatever. For instance, I don't need tons of feedback saying "the graphics suck" when literally none of the graphics are done.

I think in-person would be best, but I don't know anybody that I could invite over to test and I don't want to invite internet strangers into my house.

You don't have any friends or family? :smith:

I make my roommate and my cousin playtest my builds lol.

The Fool
Oct 16, 2003


baby puzzle posted:

I mean should I just not be a big baby and invite strangers into my house?

If you absolutely want in person testing, it's either that or renting a conference room at a work share location.

crab avatar
Mar 15, 2006

iŧ Kë3Ł, cħ gøÐ i- <Ecl8

baby puzzle posted:

I've posted this elsewhere but I'm still not sure how I can get people to playtest my game.

Have you looked for any local gamedev meetups? It's different to test with gamedevs than with people who know much less (or nothing) about making games, but as long as you're aware of that it can still def lead to valuable feedback.

OtspIII
Sep 22, 2002

Yeah, depending on where you live you can probably find a few repeating game dev events dedicated to stuff like this. Getting involved in that kind of community can be really good for just general creativity sharpening, too.

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.
Well, if you want to play a very unfinished PC game then LMK.

Would it be asinine to offer $$ for footage of people's first playthroughs?

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

baby puzzle posted:

Well, if you want to play a very unfinished PC game then LMK.

Would it be asinine to offer $$ for footage of people's first playthroughs?
Is this a fun project, or hoping to sell project?

Because if it's the latter, inability to figure out how to get literally anyone to play your game would be a huge red flag. Not for the game, but for your ability to market it at all. You probably need to address that. Most people who struggle with marketing at least wait until the last minute to give up and throw money at the problem, but you're seemingly doing that before it's even a proper project? That's mega eek.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!
The funny thing is that if you'd described your game a bit here and made available a demo version for comment you'd probably have got a few takers (and good feedback). Rather than grumbling that you can't get those things.

Though if you really want to *watch* people play it that might be a bit tougher of a demand.

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.
Yeah I will probably do that shortly.

I think I'm being stupid about it because I'm afraid of just throwing things out.. for some reason.

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

baby puzzle I encourage you to share your game and I'd be happy to try it out. I also second the suggestion of going to a local meetup and also try a game jam if you haven't. Nobody will yell at you because your game isn't perfect or it's not done or w/e :)

crab avatar
Mar 15, 2006

iŧ Kë3Ł, cħ gøÐ i- <Ecl8

baby puzzle posted:

I'm afraid of just throwing things out.. for some reason.

This sucks and I think it's a problem for any creator applying their knowledge to something that in the end will be used by other people.

I'm a designer (non-game related) and I run into this all the time. I solve a problem, I think it's beautiful and elegant, and the first time someone actually tries to use it it falls apart and it's not even remotely as successful as it was in your head. Don't marry the solution, marry the problem.

What is it about your particular solution that you like so much? Why would you hate to see it go?

Is it technically very elegant, that is to say, do you feel accomplished for pulling it off? As far as using your creation goes, nobody cares about that but you. It's not a good measure of design unfortunately, and you have to learn to understand what people using your thing see of it. Unless your audience has the same technical capabilities as you do, chances are your accomplishments will be lost on them.

Do you love the way it feels when you use it? If you're ever at a point where you have to think about throwing it out, it's most likely just the way it feels for you, but not be the way it feels for others. Instead of focusing on how your solution works and what you could change, start by defining that feeling you're trying to design for. Do some research and try to devise a system that elicits that feeling and find a solution that other people also understand.

It's the scariest thing to put your project in front of other people. You have a lot of emotions and labor tied to it, and the more you've spent developing it in isolation, the more likely it ends up this house of cards built on false assumptions and subjectivity. If you decide that you want to create something that others can enjoy, involving people as early as possible more often than not pays off tremendously, in my experience.

Mr Shiny Pants
Nov 12, 2012

baby puzzle posted:

I think I'm being stupid about it because I'm afraid of just throwing things out.. for some reason.

Because you put time and care in it and are afraid people might not like it, pretty normal. It sucks when something you slaved away at is not liked.

I have this when sharing code on the internet, or really anything else I made.

It does not help that almost all reactions on the internet are in absolutes, something is either cool or it is the stupidest poo poo ever made and you are a moron for building it.

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.

crab avatar posted:

Don't marry the solution, marry the problem.

this is a good post. thanks.

e: So, this is what is supposed to be a tutorial to teach the basic gameplay: https://www.youtube.com/watch?v=Xm9JFwShY3Y. I'm trying to teach the game without a bunch of literal explanations on the screen. All of the visuals are very non-polished. I don't want to spend a lot of time on them until I'm completely sure about the basic game mechanics. I'm like 90% sure that I like how it works right now. The only issue is that nobody else has played the game yet.

Oh yeah and here is some older gameplay of what the game is kinda going to be like in the end: https://www.youtube.com/watch?v=1wnm48ouzws

ee: The tutorial has a lot of dead space, but there is going to be a bit of dialog in there.

baby puzzle fucked around with this message at 15:57 on Apr 28, 2017

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

baby puzzle posted:

this is a good post. thanks.

e: So, this is what is supposed to be a tutorial to teach the basic gameplay: https://www.youtube.com/watch?v=Xm9JFwShY3Y. I'm trying to teach the game without a bunch of literal explanations on the screen. All of the visuals are very non-polished. I don't want to spend a lot of time on them until I'm completely sure about the basic game mechanics. I'm like 90% sure that I like how it works right now. The only issue is that nobody else has played the game yet.

Oh yeah and here is some older gameplay of what the game is kinda going to be like in the end: https://www.youtube.com/watch?v=1wnm48ouzws

ee: The tutorial has a lot of dead space, but there is going to be a bit of dialog in there.

If you're interested in taking on the concept of a rhythm game where you race down the track (which it looks like you are) then I'd suggest checking out Thumper if you haven't.

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

Is there a way to setup two full screen Unity cameras to have their own separate image effects? I've got Clear Flags and Culling Mask setup in a way that each camera is only rendering the objects in a specific layer. However, the camera at a higher depth applies its effects to objects rendered by the camera on the lower depth which is not what I want...

Edit: gif toggling the blur on the higher depth camera. Note both cubes being blurred even though only the right cube should be rendered by this camera.

awesomeolion fucked around with this message at 18:55 on Apr 28, 2017

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

awesomeolion posted:

Is there a way to setup two full screen Unity cameras to have their own separate image effects? I've got Clear Flags and Culling Mask setup in a way that each camera is only rendering the objects in a specific layer. However, the camera at a higher depth applies its effects to objects rendered by the camera on the lower depth which is not what I want...

Edit: gif toggling the blur on the higher depth camera. Note both cubes being blurred even though only the right cube should be rendered by this camera.



You could try disabling the blur OnPreRender and reenabling OnPostRender?

ApproachingInfinity
Sep 14, 2008
I might be totally wrong on this, but I think if you render each of those cameras to a texture instead of to the screen (then put the render textures on UI RawImages or something) their image effects will run only on the respective render textures.

Ranzear
Jul 25, 2013


Four button Amplitude. Neat.

Not sure how I feel about using newer stupid trigger style L2/R2s for that though.

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

Thank you very much leper khan and ApproachingInfinity! I tried ApproachingInfinity's approach first and it worked so I'm going with that :keke:

Adbot
ADBOT LOVES YOU

Chrysophylax
Dec 28, 2006
._.

crab avatar posted:

This sucks and I think it's a problem for any creator applying their knowledge to something that in the end will be used by other people.

I'm a designer (non-game related) and I run into this all the time. I solve a problem, I think it's beautiful and elegant, and the first time someone actually tries to use it it falls apart and it's not even remotely as successful as it was in your head. Don't marry the solution, marry the problem.

What is it about your particular solution that you like so much? Why would you hate to see it go?

Is it technically very elegant, that is to say, do you feel accomplished for pulling it off? As far as using your creation goes, nobody cares about that but you. It's not a good measure of design unfortunately, and you have to learn to understand what people using your thing see of it. Unless your audience has the same technical capabilities as you do, chances are your accomplishments will be lost on them.

Do you love the way it feels when you use it? If you're ever at a point where you have to think about throwing it out, it's most likely just the way it feels for you, but not be the way it feels for others. Instead of focusing on how your solution works and what you could change, start by defining that feeling you're trying to design for. Do some research and try to devise a system that elicits that feeling and find a solution that other people also understand.

It's the scariest thing to put your project in front of other people. You have a lot of emotions and labor tied to it, and the more you've spent developing it in isolation, the more likely it ends up this house of cards built on false assumptions and subjectivity. If you decide that you want to create something that others can enjoy, involving people as early as possible more often than not pays off tremendously, in my experience.

I've been trying to write about this issue (I'm sure there's someone else out there who has this nailed down more fluently than i ever could but I want to do it anyway) and I classify this as "Interesting Problems" vs "Non-Interesting Problems" and I'm very much a 'marry-the-problem' guy

Mind if I steal what you just wrote to help what I'm writing?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply