• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Indy Game Development: any GAF'er ever make their own game, or even make money on it?

I spent around $3,500 all told, but I got lucky...one of the musicians didn't even ask for payment (though I sent him a bonus recently), and a lot of actors in Hollywood will work for free, in hopes of getting their name out there.

Artist - DeviantArt (have fun sifting through hundreds of submissions of crap, though)
Musicians - YouTube
Voice Actors - friends, casting calls on Actors Access / LA Casting

The musicians did minimal work (a few alterations of existing songs)...I licensed existing works that I thought would fit the game well. The artist drew fourteen 1280x720 backgrounds and 12 character sprites (with a few facial alternates)...she also did coloring work on monster designs and a bit of UI stuff, as well.

Did the sprites include all animations?

The operating budget for the game was closer to $5,000...had to pay for very random things, like two fonts, a new microphone, some sound effects off the internet, XNA Creator's Club access, the use of a particle engine in a commercial project, et cetera. And I spent like $500 on a launch party, but I guess that doesn't count, right? = D

Coolio. I'll plan similarly. What was the game project? It was XNA I see, and sprites so 2D? How much content was in there?

People think $5000 is a lot but it really isn't. Didn't Braid cost like $150,000?
 
I could be wrong but I think he got (most) of that estimate from "the money I could have made working at a job" which I think is pretty silly.

Ah, yeah, then that number is probably worthless. Still, if he did take a full two years off (estimating here from that number) that's still pretty substantial. Time or money, take your pick.
 
I think that the Braid amount was calculated counting every expense he had during that time, since he said something like "You could make a game almost for free if you lived with your mom".

edit:http://www.escapistmagazine.com/news/view/90505-Braid-Cost-200-000-To-Make

I have absolutely no clue how he spent 200k in living expenses unless drinking soda out of solid gold bottles is necessary.

edit: Okay apparently he payed his artist the majority of that? I guess that makes more sense now.
 
Definitely instrumental, usually something Celtic or something classical like Beethoven.

Specific C++ question, I posted it in the help thread but I figure it couldn't hurt to post here as well: I want the destructor for a class I'm writing to call the functionality of a separate object, but since destructors can't take parameters I can't pass the object in by reference. Advice?

EDIT: I may not actually need to do that...damn, I wish I understood memory management better.
 
Definitely instrumental, usually something Celtic or something classical like Beethoven.

Specific C++ question, I posted it in the help thread but I figure it couldn't hurt to post here as well: I want the destructor for a class I'm writing to call the functionality of a separate object, but since destructors can't take parameters I can't pass the object in by reference. Advice?

Can the reference just be a member of the class that's being destroyed? Meaning, add a reference to class A in class B's constructor or at any other time, then when class B is being destroyed it should be able to call whatever class A functionality you need. I haven't tried it so I'm only assuming it works, and even if it does there might be a better way. But at least it should work.
 
I have absolutely no clue how he spent 200k in living expenses unless drinking soda out of solid gold bottles is necessary.

edit: Okay apparently he payed his artist the majority of that? I guess that makes more sense now.

Yeah, because a sidescrolling game like Braid is going to need a ton more art than one with static backgrounds. It's good advice for an indie game designer looking to go that route: If you're going to pay artists out of your own pocket, make sure you find some way for static backgrounds (and other ways to minimize the art assets needed) to work unless you have tons of money.
 
Can the reference just be a member of the class that's being destroyed? Meaning, add a reference to class A in class B's constructor or at any other time, then when class B is being destroyed it should be able to call whatever class A functionality you need. I haven't tried it so I'm only assuming it works, and even if it does there might be a better way. But at least it should work.

Hm, not sure what you're saying. The constructor of Class A does get passed an object of Class B by reference (to use some of Bs other functionality) but I can't use B in the destructor.
 
Hm, not sure what you're saying. The constructor of Class A does get passed an object of Class B by reference (to use some of Bs other functionality) but I can't use B in the destructor.

The destructor should only be used by a class to free up dynamically allocated memory that is in ownership of the class. I don't think it is proper practice for a program to be relying on calling other classes functions during destruction to work. All that should be in the destructor is a bunch of deletes most likely.
 
Specific C++ question, I posted it in the help thread but I figure it couldn't hurt to post here as well: I want the destructor for a class I'm writing to call the functionality of a separate object, but since destructors can't take parameters I can't pass the object in by reference. Advice?

Let me build a little safety bunker first... okay, done.

If you know the object beforehand, pass the object being destroyed the pointer to a function that does whatever you want it to do at destruction during construction or something, then jump it in the destructor.

(Don't do this, it works but it's an abomination, which is why I haven't gone into more detail, just in case you're tempted =p)
 
Holy crap.

Does Steam do Unity? I've heard it only does straight up completely native stuff.

Max and the magic marker was done in unity then had to placed in a wrapper to get steam functions to work. I believe Unity 4 they are going to look into making it easier.
 
My problem with C++ is array manipulation and memory management. Both can get really complicated at times in C++. Both things you really don't have to worry about in C# or Java.
 
There is at least one Unity game on Steam: Rochard. It's pretty good too, buy it!

I think there are a couple of other ones. Apparently AaaaaAAaaaAAAaaAAAAaAAAAA is using Unity and I remember there was some racing game using it too.

edit: Crasher was the racing game.
 
As far as I'm aware, the Binding of Isaac is a Flash game embedded in an executable or whatever. Someone said they literally extracted the SWF so they could play in Linux without using Wine.
 
My problem with C++ is array manipulation and memory management. Both can get really complicated at times in C++. Both things you really don't have to worry about in C# or Java.

boost/multi_array works wonders for arrays. Memory management can get kind of complicated but with clean coding it can be pretty manageable.

My main annoyance with C#/JAVA is valuetype/referencetype/deepcopy/shallowcopy problems can get kind of obnoxious (although the amount of times in practice where you need to make a deep copy is pretty limited). The only time I really had to make deep copies was my level editor - for dealing with undo/redo/copy/paste operations.
 
There is at least one Unity game on Steam: Rochard. It's pretty good too, buy it!

Max and the magic marker was done in unity then had to placed in a wrapper to get steam functions to work. I believe Unity 4 they are going to look into making it easier.

Coolio. Unity 5 or 6 will probably be out by the time I actually set things in motion so hopefully all the kinks will be ironed out (and export to Native Client will be fully implemented.)
 
It may be bad practice, but my philosophy about deep copies and so forth is to write everything myself in plain methods and use them so it's obvious what happens. Operator overloading and templates are nightmares for C++ code in my opinion and I would by far prefer to call a plain method or two to copy create a new object rather than try to overload the = operator, or a copy constructor, or whatever.

Some of the resulting might look elegant in some sense, but I find simple, clean stuff that nearly eliminates the possibility of screwing up to be preferable.
 
Well sweet, I got phase 2 of my vague engine building project done in less then a day.

Phase 1: Get the physics engine and graphics integrated and have the ability to move and jump
Phase 2: Write a framework for handling an arbitrarily large number of objects in a level
Phase 3: Write overhead for things like pausing, a menu, switching between levels, etc
Phase 4: Implement actual game mechanics besides "jump" (enemies, interaction, etc)
Phase 5(?): Work on how to store and read things like level layout to external files
 
So.
While half of us have been working on our PC/Mobile project, the other half has been working on writing up an application to the Kinect Accelerators program. Today, we submitted.

Now is the time to put our heads between our legs and pray so much.

I suppose if we do a gig for Microsoft, we're out of the Indie club?
 
Well sweet, I got phase 2 of my vague engine building project done in less then a day.

Phase 1: Get the physics engine and graphics integrated and have the ability to move and jump
Phase 2: Write a framework for handling an arbitrarily large number of objects in a level
Phase 3: Write overhead for things like pausing, a menu, switching between levels, etc
Phase 4: Implement actual game mechanics besides "jump" (enemies, interaction, etc)
Phase 5(?): Work on how to store and read things like level layout to external files

What are you working with?
 
Are you using Box2D for advanced physics or basic stuff? I have always wondered if it was worth having for basic collision stuff or if it was overkill.

Basic physics stuff, mostly just collision detection and realistic acceleration and "weight". I didn't feel like implementing all of that on my own and I was able to remove basically all more complex physics interactions by making bodies irrotational.


This thread is like an Aaron Sorkin show for me. I love it, but have only a miniscule idea of what is being said.
They're both basically just ways for me to skip hours of programming very basic stuff from scratch. SFML is a 2D graphics library with built in support for things like sprites and images, as well as their own techniques for multithreading and input monitoring. Box2D is just a neat 2D physics engine.
 
Well shit...I just tried forcing VSync for the first time and it introduced some very weird behavior

Things run absolutely fine when the framerate isn't limited, but I'm wary because I remember how in ye olden days that could produce radically different speeds on different machines or something like that.
 
On a C#/XNA game I used the Farseer physics engine 3.0 (which is just Box2D ported over with some additional stuff) and it was good. Unless your actually planning on actually using the majority of the features though it can be a bit overkill. Things tend to require a lot of fiddling or you can end up with bodies that get stuck on things (although the game I used it for had cracks in the collision and was not perfectly flat all the time).

If you want to see the debug mode on a game using Farseer (Box2D) you can see this game I made for a competition. I made the game only in like a week or two (for a comp) so give me a break, most of the time went toward an editor I made for it, which was pretty cool. It used lines/sectors/vertices to make collision for Farseer.

http://labtanner.com/gamedev/index.php?title=GameDevVI:Death_Vs_The_IRS
Controls: Arrow Keys / ZXC or a 360 controller.
If you want to see the Farseer/Box2D debugview in the game (might be helpful for people using Box2D/Farseer for the first time maybe), edit the config.txt file to have DEBUG=TRUE and then press F12 while in the game. I would not put on the Fullscreen in the config file, it was not tested much.

debug view photo:
http://i.imgur.com/ZBHxm.png
In debug you can level skip as well, in debugview if you double press the number key for the level you will warp.
 
On a C#/XNA game I used the Farseer physics engine 3.0 (which is just Box2D ported over with some additional stuff) and it was good. Unless your actually planning on actually using the majority of the features though it can be a bit overkill. Things tend to require a lot of fiddling or you can end up with bodies that get stuck on things (although the game I used it for had cracks in the collision and was not perfectly flat all the time).

If you want to see the debug mode on a game using Farseer (Box2D) you can see this game I made for a competition. I made the game only in like a week or two (for a comp) so give me a break, most of the time went toward an editor I made for it, which was pretty cool. It used lines/sectors/vertices to make collision for Farseer.

http://labtanner.com/gamedev/index.php?title=GameDevVI:Death_Vs_The_IRS
Controls: Arrow Keys / ZXC or a 360 controller.
If you want to see the Farseer/Box2D debugview in the game (might be helpful for people using Box2D/Farseer for the first time maybe), edit the config.txt file to have DEBUG=TRUE and then press F12 while in the game. I would not put on the Fullscreen in the config file, it was not tested much.

http://i.imgur.com/ZBHxm.png
That's pretty cool man, thanks! Also I think I remember this game, I recall playing it sometime ago, but I don't remember exactly when.
Seems like Box2D is a pretty good fit for platformers. I'm currently doing the collisions (not a platformer, I'm thinking it will mostly need simple square collisions) for my game and it's coming along fine, but if I need more complex functionality I surely will be trying box2d.
 
The editor I made for the game (the first editor I made - my new one I made is a deal better) as a learning exercise:

http://imgur.com/QVLhM
(there is also a windows form for settings, etc - this is just the fullscreen view of the editor window)

I would basically just make "sectors" out of lines and vertices and then the engine for the game would feed the sectors points into farseer for collision.
 
The editor I made for the game (the first editor I made - my new one I made is a deal better) as a learning exercise:

http://imgur.com/QVLhM
(there is also a windows form for settings, etc - this is just the fullscreen view of the editor window)

I would basically just make "sectors" out of lines and vertices and then the engine for the game would feed the sectors points into farseer for collision.

That's really neat. I'd like to futz around with it if possible.
 
Top Bottom