• 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.
It's more Github that everyone loves than Git itself I think.

Subversion or Perforce will do you what you need better than Git. In particular Git only works well with text files and works poorly with binary files. It's much more programmer-centric than than something like Subversion of Perforce.

I use Subversion myself. As a GUI for it I use Cornerstone on OS X and TortoiseSVN on Windows.

I'm on OS X for development so I'll check out Cornerstone. Thanks for the tip.
 

bkw

Member
I'll let you figure out which VCS you want to use first then. ;)

I don't mind Git for Unity and code stuffs. (Except for people merging like mad and not rebasing simple changes...) Everyone does say that Git isn't that great for binary files. I think for my next project I might consider SVN to handle my art/audio sources in a separate repo/depot. Right now it's multiple files and folders, and dropbox for the "oh crap" moments.

Or maybe separating the main project and art/audio source files is not a good idea... hmmm...

Edit: Damn it, now you guys got me looking into SVN clients instead of working. I love the tools and pipeline stuff...
 

mooooose

Member
I'm sick of constantly breaking my Unity 5 project without the ability to roll back.
I used to use perforce and SVN but decided Git and Source Tree might be the trick for me (need something with a GUI) as a non-coder.

Any tops on how to organise it? I just want to have the repository on a different local drive than the one I'm working on, not really interested in having it online just yet.

You might as well upload it online. Make a Bitbucket account, it's free and it's one extra step that can save you a lot of heartache.

I'm not sure how to use source tree, but it's invaluable to just learn Git from the terminal. You're not a programmer, so it should take a day but it's something that will help a lot.

https://confluence.atlassian.com/stash/git-resources/basic-git-commands

Basically, you're going to have to open the Git terminal/shell. You'll have to navigate to the folder your Unity project is in, and type in Git init. Then do git status and check if the files in the directory aren't added. Type in git add for the files and folders you want, then git commit. It'll bring up Vim, which is confused. Hit i (for insert) and type in a message, in Quotations. Then hit escape, then :wq, with the colon. It's a command for write and quit. Then add the link to the bitbucket to the origin (you can see how in the link, it's an extra command i don't remember), and then type git push.

It's overwhelming but the amount of control you have can be a life saver in the future.

Edit - dudes above seem hella more knowledgable for unity specifically, i guess i gotta learn about SVN damn lol
 
Subversion is probably just fine if you're working locally by yourself, but I really really couldn't live without Git and its branching conveniences in a team project (I don't have Mercurial or Perforce experience, but I'd expect them to be at least as good). It's harder to get into, but it's so much more flexible when it clicks.
 

Kitbash

Member
So, I've reading the Unity documentation and reading about how 3D works in a game, but I was wondering if there is something like examples with real-world (albeit simple if needed) applications like what PHP does with their documentation:
Have a look at the Unity Asset Store -- there are dozens and dozens of sample projects designed to get you started. A bunch of them are free. When I was first trying to wrap my head around how Unity projects are put together, I think I paid a couple of bucks for the Tic-Tac-Toe example. Whatever gets you over that first hurdle!
 

2+2=5

The Amiga Brotherhood
Yes, I have. And, no, it's not relevant to the discussion of why the brush is slow.

Nothing 2+2=5 has said is wrong. It's just besides the point.

The point, which I sought to clarify, was why the Photoshop brush is slow. The comparison between the simple brush and the complex brush was never the point. Ever. I wanted the readers to fix their attention to this snippet from the article I linked:



It's a short and concise point which clarifies why something seemingly simple is slow. To me, this does answer the question "Why is the Photoshop brush slow?". The answer, in case you missed it, is "because the algorithm used to fill the brush is order n-squared complexity, where n is brush radius" (I've extrapolated this conclusion from the article, so it's not necessarily true, but to me it doesn't seem unthinkable). You can disregard the rest of the text in the article as it doesn't lead to another conclusion.

As for what I'm suggesting; None of the above. We already know Photoshop has GPU accelerated rendering, so what's the point of suggesting otherwise? However, we also know that O(n²) scales poorly regardless of what silicon it is being executed on. As for suggesting that the chosen algorithm is poorly chosen, valid, and/or complex; If I were suggesting any of those alternatives, would that somehow make it not an O(n²) algorithm? Would it modify the original point I was trying to clarify? The way I see it, the answer would remain the same regardless, which is why I refrain from such value judgements.

I don't know maybe i'm not good at explaining things(well English is not my mother language so it can be), what you quoted clearly says:

"In its simplest form, the brush tool requires a circle filling algorithm"

That's what i was pointing since the beginning, it's easy for a simple flat round brush that draw on a single layer in normal blending mode to be fast, how can you think that the same exact operation in a program that let you personalize the brush and using many layer has a comparable complexity?

The filling algorithm of papaya probably just fills the circle covering what it's under it(=normal blending mode), on complex programs the shape can be really complex(it can even be a texture, and we are here talking about "circle filling algorithm"...), randomly rotated and many settings influenced by pen pressure and speed(some physics algorithms are involved), some brushes also have engines to simulate certain kinds of real world brushes(other algorithms) and each single pixel has to interact with many layers in many different modes, think of a textured brush simulating a real world brush with some dynamic size/rotation/alpha/etc pen settings over many layers some with normal blending mode, some with multiply, other with something else, can you imagine how many operations photoshop has to do for each single pixel of a stroke? The canvas can also be rotated in real time so there's even some 3d involved.

How can you think that a simple brush filling algorithm can be the same as one of a complex program? That is exactly why the photoshop brush is slower, how can you even think to apply the simple papaya filling algorithm to photoshop? Flexibility and complexity always come at a cost, how can you say that all of this is besides the point?



I remembered one thing, i read somewhere that a good way to be faster with photoshop is to limit the number of layers merging the ones that are already finished, so those who experience lag try to work with less layers.
 

bkw

Member
Hah, now that I've wasted some hours looking into VCS', I still don't know what I'd prefer. SVN does seem like something I'd recommend now for its simplicity. I like Git's light local branching and concept of the index/stage though. That's definitely a coder's thing. Using Git backed by SVN sounds like something I should look into.

Perforce is out of the question. I'm still intimidated by how to set it up. Though I do recall it being pretty easy to use, and pretty great in a large team.

Still tempted to have my game project on Git, and my assets on SVN (and sitting on something like Dropbox to have a short term version control whenever I save.) Do you guys typically have your asset files (PSDs, Max, Maya, etc files) in the same repo as the game project? For some reason I've always kept them separate... for no good reason...
 

mStudios

Member
pwn2fPh.jpg
Second part done

compressed jpg quality
 

danielcw

Member
There are multiple ways to accomplish that specific example. The easiest, but not the most efficient, is to simply duplicate the model, flip all normals,

Usually when I want to know stuff like this I either just google it, someone else has already inevitably asked the same question somewhere and gotten an answer :p or I study other people's models directly to see how they pulled it off. Also, YouTube tutorials are a huge help.

You mean the silhouette from a given perspective?

Trying to create an outline around a 3D object was just an example.
Though since you mention it, why flip the normals?


The are many 2D and 3D graphics effects, where I have no idea how they could be done, or at least how they could be done effectively. I usually like to read about that kind of stuff to learn and to be inspired.
It is not that I have a specific problem to solve, but like to understand how stuff works ...
and maybe be inspired
 
Trying to create an outline around a 3D object was just an example.
Though since you mention it, why flip the normals?

Because you want the original model to appear "on top" of the duplicate.
Flipping the normals makes the duplicate "see-through." Anything inside of the model appears visible.
If you didn't flip the normals, you would just have a big pitch black model visible, and the original model that is still inside this now-enlarged duplicate would not be visible.
 

missile

Member
... The are many 2D and 3D graphics effects, where I have no idea how they could be done, or at least how they could be done effectively. I usually like to read about that kind of stuff to learn and to be inspired.
It is not that I have a specific problem to solve, but like to understand how stuff works ...
and maybe be inspired
Graphic effects aren't well documented to say the least. However, most of them
are more or less simple maths computations/equations built on top of each
other to make it look stunning (which is the trick). To exercise within this
field I can only advice you to start from scratch, i.e. in building your own
rendering environment (testfield) and start building simple effects one after
another while carefully remembering the equations/techniques used for the
effects. Later on you will be able to throw many of the trained techniques
together to build rather interesting effects, because you know which technique
does what.
 

bkw

Member
My game has three game modes and the ability to play against bots. The bots do well on two of the game modes, but they're pretty terrible on the third, where they have to jump up a series of platforms. (Think vertical infinite scrolling platformer). Assume we can't improve the bot AI logic anymore and we've run out of time to work on the game, do you think we should just leave the bad AI in? Or remove bots from that mode altogether?

Either way it's bad. Can't decide which is worse.
 
Made it through certification, GunWorld is releasing on Xbox One on September 16 (which also happens to be my birthday).

Anyone else a veteran of a console release that could over up some tips for generating exposure and sending the game to press?
 

bkw

Member
Made it through certification, GunWorld is releasing on Xbox One on September 16 (which also happens to be my birthday).

Anyone else a veteran of a console release that could over up some tips for generating exposure and sending the game to press?
Congrats! Did everything go smoothly?
On our game, we just started to put together things for a pre-cert pass. Hope nothing blows up on us. =)
 
Made it through certification, GunWorld is releasing on Xbox One on September 16 (which also happens to be my birthday).

Anyone else a veteran of a console release that could over up some tips for generating exposure and sending the game to press?
Have ID start tweeting it to everyone. Get them to retweet you.

You should also be able to score a trailer directly on Xbox YouTube.

Talk to them about store placement for greater recognition.

Talk to them about mentions in any blogs they have.

For the press: contact the press.

-

I haven't released yet and we are a bazillion years away but I'm already crafting relationships with the press and my account managers on both consoles and picking their brains for forward movement when it comes to 1st party help with mindshare.

For the press I would honestly setup presskit and promoter, both linked in the OP. Great great great tools.
 

KevinCow

Banned
Anyone have any advice on sound effects? Right now I'm just using crappy royalty-free sound effects or making my own crappy sound effects with my mouth, but I'd hope to have something a little more professional in the end product.
 

Dynamite Shikoku

Congratulations, you really deserve it!
Anyone have any advice on sound effects? Right now I'm just using crappy royalty-free sound effects or making my own crappy sound effects with my mouth, but I'd hope to have something a little more professional in the end product.

I use a lot of soft synths to make sound effects. Drum machines can often give you a good starting point for short sound effects.
 
Congrats! Did everything go smoothly?
On our game, we just started to put together things for a pre-cert pass. Hope nothing blows up on us. =)

Went OK, just a lot of things I hadn't thought of before regarding the console UI.

Have ID start tweeting it to everyone. Get them to retweet you.

You should also be able to score a trailer directly on Xbox YouTube.

Talk to them about store placement for greater recognition.

Talk to them about mentions in any blogs they have.

For the press: contact the press.

-

I haven't released yet and we are a bazillion years away but I'm already crafting relationships with the press and my account managers on both consoles and picking their brains for forward movement when it comes to 1st party help with mindshare.

For the press I would honestly setup presskit and promoter, both linked in the OP. Great great great tools.

Thanks for the tips. I have some contacts established already so I'm hoping that can give me a jump start.

ID has been tweeting and my account manager picked the release date. I'll set up the presskit and promoter tools.

Thanks!
 
Anyone have any advice on sound effects? Right now I'm just using crappy royalty-free sound effects or making my own crappy sound effects with my mouth, but I'd hope to have something a little more professional in the end product.

I've gotten pretty far with royalty free effects, actually. You might have to sift through dozens of sound bites to find the right one, and then edit it in something like Audition or Audacity, but it's a good starting point.

Where I can, I also record some effects with a high-ish quality microphone using elements I have at my disposal. Shoes, my desk, a bucket of gravel, reclaimed wood, hammers, and lots of other everyday things like that.
 
Anyone have any advice on sound effects? Right now I'm just using crappy royalty-free sound effects or making my own crappy sound effects with my mouth, but I'd hope to have something a little more professional in the end product.

hire a sound designer

or

find a kid who will work for free
 

Burt

Member
Anyone have any advice on sound effects? Right now I'm just using crappy royalty-free sound effects or making my own crappy sound effects with my mouth, but I'd hope to have something a little more professional in the end product.
You can actually snap together some pretty good stuff with the amount of royalty-free material out there. Mashing up things that you would never imagine together can really make some solid stuff. Other than that, I know a lot of of composers and musicianly types don't mind exploring sound work in addition to the regular stuff, so if you have a few bucks to spend it might be a good idea to get in touch with some people.


Does that skull feel cartoony? I can't tell at this point but I think it might be and it's really bugging me.

Where are you guys finding royalty free sound effects to begin with? Any good site recommendations?

Freesound.org is organized like shit, but has a pretty expansive library. It's generally my go to, but if I can't find anything there there are plenty of other options.
 
Where are you guys finding royalty free sound effects to begin with? Any good site recommendations?

freesfx.co.uk is also fairly handy. I use that and freesound.org occasionally, but only tend to use them as reference points, modifying them heavily along with other samples or sounds I've made.

Speaking of which, I'm probably going to do my first sound design blog post next week for Beacon, I'm no expert, but it may help out some of you folks regarding creative use of samples/synths and mixing!
 

Jobbs

Banned
I've gotten pretty far with royalty free effects, actually. You might have to sift through dozens of sound bites to find the right one, and then edit it in something like Audition or Audacity, but it's a good starting point.

Where I can, I also record some effects with a high-ish quality microphone using elements I have at my disposal. Shoes, my desk, a bucket of gravel, reclaimed wood, hammers, and lots of other everyday things like that.

Crazy putty, breaking vegetables (a bunch of celery is great), sand (litter [hopefully clean] might be useful too but never tried it), towels (for making bird flapping noises) are all good too.
 
Crazy putty, breaking vegetables (a bunch of celery is great), sand (litter [hopefully clean] might be useful too but never tried it), towels (for making bird flapping noises) are all good too.

Yup. Watching a lot of professional foley artists, it's funny how ordinary most of the elements are. Our ears can pretty easily be tricked into hearing something as long as the eyes are already convinced.

Finally, a good use for celery! :p

Hey! It's a damn fine vehicle for peanut butter or ranch dressing.
 

Jobbs

Banned
Here's the idea behind how the pet evolutions work... When the pet is fed, several numbers are tracked. First is the obvious -- his XP. This is visible to the player, but no other numbers for the process are. The other numbers are "type 1", "type 2", and "special". These are all buildups tracked internally and different edibles grant varying amounts of these buildups, with "special" being rare and based on a very scarce type of edible.

tiers.png


When the pet gets enough XP to evolve, what buildup type is favored determines which form he takes from the next tier. In addition, after a certain point each tier has a "special" or rare form (these forms grant perks) that can be achieved if enough special edibles are consumed (regular forms grant different stat bonuses, but special forms also grant specific perks).

Throughout the game, each edible can either be consumed for suit XP or fed for pet XP. Suit level ups are quicker to achieve and grant predictable and more defensive oriented stats. The pet evolutions can grant greater and much more offensive stat bonuses, as well as some individual perks.

There's a constant choice being made with a finite number of edibles in the game world -- to suit feed them, or pet feed them.

Oh, nice. Easy to read, but not too busy or distracting. Perfect.

thanks! :)
 

KevinCow

Banned
Thanks for the advice on sound effects, guys. I guess I'll do what I can for now, but hopefully I can eventually do a Kickstarter and raise enough money to hire someone for sound effects and music. Though I have no idea how I'd find those people. I guess I'll cross that bridge when I come to it.

Another question: does anyone know some good programs that would let me record a video of my game, trim and crop it, then convert to a format that I can upload to Youtube? I tried this months ago with little success and gave up.
 
Thanks for the advice on sound effects, guys. I guess I'll do what I can for now, but hopefully I can eventually do a Kickstarter and raise enough money to hire someone for sound effects and music. Though I have no idea how I'd find those people. I guess I'll cross that bridge when I come to it.

easiest way put it on twitter #gameaudio, you'll be surprised at how many responses you will get. also, even if you aren't using Unity, there are lots of Sound Effects and music packs on Unity's Asset Store plus things like Audio Jungle- they aren't free (but are really inexpensive), but they do involve a buyout (one payment and you can basically use them on anything so long as you don't just bundle them up as sounds and resell them as sound effects). just be aware, and I say this as someone who does game audio for their day job, once you start any sort of promotion, you will get audio peeps coming out of the woodwork.

Another question: does anyone know some good programs that would let me record a video of my game, trim and crop it, then convert to a format that I can upload to Youtube? I tried this months ago with little success and gave up.

Quicktime + imovie on OSX (free)
FRAPS on PC + a cheap video editor app like Sony Vegas Movie Studio or Premiere Elements. (maybe $100-120). A video editor with decent audio facilities can also work pretty effectively on editing sounds if you want more than audacity.
 

anteevy

Member
Another question: does anyone know some good programs that would let me record a video of my game, trim and crop it, then convert to a format that I can upload to Youtube? I tried this months ago with little success and gave up.
Maybe you have a fairly recent nvidia card with Shadowplay support? That's what I use. Fraps is good, too.

To trim and crop (not edit) I'm using ffmpeg.exe via command line. Works way better for me than any "professional" video editing software I could find. Here is an example I wrote for gif convertion: http://www.neogaf.com/forum/showthread.php?p=174790413&highlight=#post174790413

Of course it also works for normal video formats with slightly different parameters. You simply set file type, start time, length, crop amount, framerate, bitrate etc. as parameters and ffmpeg will do the rest.
 
I've had much better captures with Banidcam or the Free OBS vs Fraps. I also just use Movie Studio Pro from Sony. Bought it via Amazon on a sale early this year for cheaper than the regular version. Altogether I spent like 60 bucks.

The ability to spit out 60fps footage is great. Here's an example on YouTube of one of our old trailers: https://youtu.be/NPzIF7wM43U
 
Totally offtopic here, but if you read this Pehesse, I was looking for deadly premonition fanart today (beat the game two days ago), and saw your deadly premonition fanart on deviantart. Loved it!
EDIT: And holy shit at the gravity falls adventure game mock up :O
 
Totally offtopic here, but if you read this Pehesse, I was looking for deadly premonition fanart today (beat the game two days ago), and saw your deadly premonition fanart on deviantart. Loved it!
EDIT: And holy shit at the gravity falls adventure game mock up :O

does it look better than the 3ds game in dev now.
 

Pehesse

Member
Totally offtopic here, but if you read this Pehesse, I was looking for deadly premonition fanart today (beat the game two days ago), and saw your deadly premonition fanart on deviantart. Loved it!
EDIT: And holy shit at the gravity falls adventure game mock up :O

Thanks a lot :-D (Who says I'm silently lurking here all the time?)

Yeah, had a lot of fun making that Gravity Falls one! I'll be honest, I still wish we had something more point and click-y to look forward to rather than what they've announced, but I'll take anything GF :-D

To keep this on topic, latest status update: I still have 18 more animations to color, just got done with my... Seventh? It sure doesn't go as fast as I'd hoped. Just stumbled upon a page detailing some nice arm/hand stretching exercises for animators to avoid tendonitis, though, so there's that!

Also, I'm strongly considering redesigning my "one vs many" segment to abandon depth movement and stick to a 2D plane, to make dev faster and underline that those random battles actually serve to show you were you are stat-wise. Looking back over the design, having depth movement in those segments and nothing during the match fights was... inconsistent at best. And after all, games like Phantom Breaker manage to get 2D beat'em all fighting against multiple opponents while being locked on a single plane, so... I'll give that a shot.
 
does it look better than the 3ds game in dev now.

Thats for sure.

Thanks a lot :-D (Who says I'm silently lurking here all the time?)

Yeah, had a lot of fun making that Gravity Falls one! I'll be honest, I still wish we had something more point and click-y to look forward to rather than what they've announced, but I'll take anything GF :-D

Dont worry about the silent lurk on this thread, I do the same as you ;)
 

mooooose

Member
Hey, I'm using Unity and I'm trying to make sure I make a proper use of Component System Architecture.

I have a PlayerController, which handles responding to inputs and also some collision stuff in there.

But now I have some GUI elements that I've created, and they're instantiated by the PlayerController and modified by it too. I don't think this is the best way because I've tied two components together with one script.

Should I separate them? If so, how? Should I create a script for the GUI element that finds the PlayerController script and looks at it's variables to modify the GUI? Is that too expensive to do every frame?

Thanks guys!
 

KevinCow

Banned
Hey, I'm using Unity and I'm trying to make sure I make a proper use of Component System Architecture.

I have a PlayerController, which handles responding to inputs and also some collision stuff in there.

But now I have some GUI elements that I've created, and they're instantiated by the PlayerController and modified by it too. I don't think this is the best way because I've tied two components together with one script.

Should I separate them? If so, how? Should I create a script for the GUI element that finds the PlayerController script and looks at it's variables to modify the GUI? Is that too expensive to do every frame?

Thanks guys!

I'm not sure exactly what you mean, but it doesn't sound like the best way to add a GUI. I found this tutorial really helpful for doing that: https://unity3d.com/learn/tutorials/projects/survival-shooter/health-hud
 

Jobbs

Banned
This clip shows most of the available, non-unique consumable plant types.

http://www.gfycat.com/OptimisticGlassIsopod

Each one gives one or more, in varying amounts, of three internal stats (you can see them in the debug printout). These determine what forms he eventually evolves to. The player can't see these stats, though, but if they pay attention a subtle clue does exist -- The three symbols that appear over Dizzy's head will be in different orders depending on what internal stats he got from a given consumable.
 
This clip shows most of the available, non-unique consumable plant types.

http://www.gfycat.com/OptimisticGlassIsopod

Each one gives one or more, in varying amounts, of three internal stats (you can see them in the debug printout). These determine what forms he eventually evolves to. The player can't see these stats, though, but if they pay attention a subtle clue does exist -- The three symbols that appear over Dizzy's head will be in different orders depending on what internal stats he got from a given consumable.

your use of colors is amazing. also i'm forever going to remember the game where everything reminds me of a penis now.
 
Hey, I'm using Unity and I'm trying to make sure I make a proper use of Component System Architecture.

I have a PlayerController, which handles responding to inputs and also some collision stuff in there.

But now I have some GUI elements that I've created, and they're instantiated by the PlayerController and modified by it too. I don't think this is the best way because I've tied two components together with one script.

Should I separate them? If so, how? Should I create a script for the GUI element that finds the PlayerController script and looks at it's variables to modify the GUI? Is that too expensive to do every frame?

Thanks guys!
I compartmentalize everything. I don't even check inputs in my controller. I have an InputManager that handles that and the controller checks booleans to see what to do.

For my UI - other scripts on other objects (including the player) update a session manager with info which then that session manager updates UI.

Also, you only need to update the UI when a change occurs, right? Does it change every frame? There's your answer :D

I compartmentalize so if I need to edit any one component I do so without breaking every other component. I believe my character alone has 20+ unique classes which control every aspect of him - all compartmentalized.

The only time I'd say a God Class is worth it is if you are Naughty Dog and need to save a few bytes in RAM or shave a few fractions of a fraction of a millisecond in your pipeline. If not, compartmentalize for your own sanity :D
 
I don't see the problem atm, but you could try and make it a little less complicated.
You should look into DontDestroyOnLoad. Put that on your GameManager object and keep all your level logic in there.
At the moment you have level logic in 3 separate classes which makes your code really annoying to debug.
The player should just ask the GameManager where he is supposed to be or going level-wise (containing it in one class).

I had a look through the scripts, but couldn't spot the problem(s). It's tricky if you have no compiler errors and 2-3 different bugs to troubleshoot.

My suggestion would be to add some Debug.Log() messages (or use the Inspector) to make sure you know exactly what's happening. For example, if you think the LevelLoaders are acting strangely, find out what value each one is getting for completedLevel. This will help you narrow things down -- i.e. is the problem in the LevelLoader code, or is the wrong "Level Completed" value getting set somewhere?

Went on 3 days worth of trips shortly after posting my issue, so i'm just now checking it out again. Thanks for the input. Looking into it...
 

Blizzard

Banned
I finally exported my old Google Code project to github. Thankfully, it was really easy with the export button.

*edit* Unfortunately the downloads section does not get copied so I will have to do that by hand.
 
Status
Not open for further replies.
Top Bottom