View Full Version : A question about Indi game Devs
Kyanbu The Legend
07-07-2012, 04:23 PM
I've been wondering this for a while. To be honest it has me scared stiff.
How do you guys feel about Indi Game Devs using pre-made/preset physics engines and bahaviours that they didn't make them selves when developing their game?
Do you think it's immoral/lazy? Or is it an okay thing to do?
Also how do you feel about indi devs using Pre-made Kits as a base to build their game on?
Bells
07-07-2012, 04:26 PM
Big companies do that too, don't they?
Licensing tools, engines, software... they do it all the time, from what i understand... so i really see no problem with it, if you wanna make a house i don't really expect you to make your own hammer...
Using tools that are available to making games is fine and all, it's usually the fine tuning and tweaking and adding to these tools that make the uniqueness of games ( Resident Evil being turned into Devil May Cry, for example...)
I mean, why re-invent the wheel? Time and effort better applied making better assets and polishing the product....
akaSM
07-07-2012, 04:45 PM
I don't mind indie devs using available tools to make their games. Sanctum, Killing Floor and Super Monday Night Combat all use the Unreal Engine and, are pretty awesome games. The devs can do anything they want as long as they make a great game. Having the devs make their own engine is neat, especially in cases like Croteam, whose Serious Engine can run on low specced PCs, but can also be scaled up to Crysis level and beyond.
Melfice
07-07-2012, 06:15 PM
You'd be scared to death to see how many companies (not indies, mind) are using the Unreal Engine, like Bells said.
But, of course, those companies aren't indie and are immoral and lazy by default, hmm?
Kyanbu The Legend
07-07-2012, 06:31 PM
Thank you for the feedback guys. I feel a lot better now knowing it's okay to use kits.
Aerozord
07-07-2012, 07:33 PM
Even most game engines that AAA developers make themselves are based on older licensed engines. Source for example can be traced back to the quake engine (http://en.wikipedia.org/wiki/Source_engine#Origins)
Nikose Tyris
07-07-2012, 09:05 PM
Just a word of warning; some kits are free, some you're gonna steal. Don't pirate anything that is for Nintendo/Sony/Microsoft CONSOLE development. They don't give a shit if you pirate everything else off the net, but if they have any reason to suspect you've acquired their software outside their official channels, say goodbye to EVER developing for any of them.
Kyanbu The Legend
07-07-2012, 09:20 PM
Thanks for the heads up, Nikose.
Sithdarth
07-08-2012, 02:51 PM
You really want to program games well I can suggest some reading:
Game Engine Architecture (http://www.amazon.com/gp/product/1568814135/ref=oh_details_o01_s01_i05) is just generally useful to anyone building large complex programs.
Game Coding Complete (http://www.amazon.com/gp/product/1133776574/ref=oh_details_o01_s01_i01) is an alternative to Game Engine Architecture but having more than one perspective is usually a good thing.
Programming Game AI by Example (http://www.amazon.com/gp/product/1556220782/ref=oh_details_o01_s01_i03) is good for practical applications.
While AI Techniques for Game Programming (http://www.amazon.com/gp/product/193184108X/ref=oh_details_o01_s01_i02) is much more about theory.
Mathematics for 3D Game Programming and Computer Graphics (http://www.amazon.com/gp/product/1435458869/ref=oh_details_o01_s01_i00) is a must if your math is shaky.
Game Physics Engine Development (http://www.amazon.com/Physics-Engine-Development-Second-Edition/dp/0123819768/ref=wl_it_dp_o_pC_nS_nC?ie=UTF8&colid=1VPAGPQAF48XD&coliid=I2IMCQN28GB48B) should help with the whole physics engine thing. Calculus is a must though.
Physically Based Rendering, Second Edition (http://www.amazon.com/Physically-Based-Rendering-Second-Edition/dp/0123750792/ref=wl_it_dp_o_pC_S_nC?ie=UTF8&colid=1VPAGPQAF48XD&coliid=I38R1T1HDH5C8Y) will teach you how to build a rendering engine.
Real-Time Collision Detection (http://www.amazon.com/Real-Time-Collision-Detection-Interactive-Technology/dp/1558607323/ref=wl_it_dp_o_pC_nS_nC?ie=UTF8&colid=1VPAGPQAF48XD&coliid=I1194X69M6JQ0E) will help with that physics engine thing.
The Ultimate Guide to Video Game Writing and Design (http://www.amazon.com/Ultimate-Guide-Video-Writing-Design/dp/158065066X/ref=wl_it_dp_o_pC_nS_nC?ie=UTF8&colid=1VPAGPQAF48XD&coliid=I324JYO1CBKYFF) is more about how to make a game enjoyable from the creative side of things.
Then of course if you don't know much programing you'll need to learn a language or two. At the very least:
You'll need something like C++ Primer Plus (http://www.amazon.com/gp/product/0321776402/ref=oh_details_o00_s00_i00) to learn C++ and you might want to learn Java and plain old C as well.
Additionally you'll probably need a good scripting language and since Lua seems popular you'll probably want Programming in Lua (http://www.amazon.com/gp/product/8590379825/ref=oh_details_o01_s00_i00) as well as the Lua reference manual.
Now I myself haven't been through all these books but I am planning to overtime mostly because there is a lot of overlap with creating complex software suites for solving problems in science. Also, I just find programming fascinating. I'm also planning on reading through some more basic theory of programming books and picking up at least Python and probably PHP to go with Java, C/C++, Fortran (man do I hate Fortran), and Lua.
Of course you might be saying to yourself that all that reading looks like an entire degree in computer science and you'd probably be pretty close to right. You really aren't going to be able to do what you asked about, well at least you won't do it well, without a level of knowledge close to someone with a bachelors in computer science. If that's what you want than all the more power to you but it isn't going to be easy. I'm lucky in that I absolutely love anything to do with electronics and have a natural talent for it. Not to mention bachelors degrees in both Math and Physics as background.
So really it's not so much a question of being immoral/lazy to use licensed or free engines and kits. It's more a question of do you have the drive, time, and money to self-teach yourself what amounts to a computer science degree. That or do you have the drive, time, and money to actually enroll in a degree granting program dedicated to game design.
Nikose Tyris
07-08-2012, 02:56 PM
Case in Point: Final year of Game Development here at Humber, 28 students. Of those, 6 decided that their capstone final project would involve a home made physics engine.
Those 6 people did not finish in time to pass.
Amake
07-08-2012, 04:03 PM
Anything that lets you stay indie and anything that makes the game better. Maybe even in that order.
rpgdemon
07-08-2012, 05:43 PM
Yeah, using engines that are made by others is generally the default with 3D games.
2D development, it depends. If you want some super crazy realistic physics simulator, why rebuild it from the ground up if one exists already? Otherwise, you might consider just using existing libraries and building your own engine, but even in doing that, you're leaning very heavily on existing work by others, and that's fine, because unless you need to deal with the low level details, you don't want to.
Ramary
07-08-2012, 05:57 PM
It is like completely normal and encouraged in the games industry to build your game on the hard work, blood and tears of the people before you. They are the fuel for your journey.
Niveras
07-08-2012, 06:15 PM
It is like completely normal and encouraged in the games industry to build your game endeavor (whether economic, artistic, or scientific) on the hard work, blood and tears of the people before you. They are the fuel for your journey.
Extended. Pretty much the entirety of human civilization is built on the backs of predecessors. Not all, but even artists frequently draw from previous influences.
There's no shame in it. Modern sensibilities might get litigious over some things, but that's a cultural problem, not an ethical one.
Kyanbu The Legend
07-08-2012, 11:40 PM
It's good to here that Its okay to use kits and tools when needed.
I mainly wanted to know because while studing stencyl I discovered that it comes with a Platformer kit with alot of the behaviors and physics I needed for my concept build premade. If I could use that as a starting point, I could get a working alpha out alot quicker then I would if I started completely from scratch. (could see a working alpha in 3 to 5 years instead of 7 to 8 years.)
You really want to program games well I can suggest some reading:
Game Engine Architecture (http://www.amazon.com/gp/product/1568814135/ref=oh_details_o01_s01_i05) is just generally useful to anyone building large complex programs.
Game Coding Complete (http://www.amazon.com/gp/product/1133776574/ref=oh_details_o01_s01_i01) is an alternative to Game Engine Architecture but having more than one perspective is usually a good thing.
Programming Game AI by Example (http://www.amazon.com/gp/product/1556220782/ref=oh_details_o01_s01_i03) is good for practical applications.
While AI Techniques for Game Programming (http://www.amazon.com/gp/product/193184108X/ref=oh_details_o01_s01_i02) is much more about theory.
Mathematics for 3D Game Programming and Computer Graphics (http://www.amazon.com/gp/product/1435458869/ref=oh_details_o01_s01_i00) is a must if your math is shaky.
Game Physics Engine Development (http://www.amazon.com/Physics-Engine-Development-Second-Edition/dp/0123819768/ref=wl_it_dp_o_pC_nS_nC?ie=UTF8&colid=1VPAGPQAF48XD&coliid=I2IMCQN28GB48B) should help with the whole physics engine thing. Calculus is a must though.
Physically Based Rendering, Second Edition (http://www.amazon.com/Physically-Based-Rendering-Second-Edition/dp/0123750792/ref=wl_it_dp_o_pC_S_nC?ie=UTF8&colid=1VPAGPQAF48XD&coliid=I38R1T1HDH5C8Y) will teach you how to build a rendering engine.
Real-Time Collision Detection (http://www.amazon.com/Real-Time-Collision-Detection-Interactive-Technology/dp/1558607323/ref=wl_it_dp_o_pC_nS_nC?ie=UTF8&colid=1VPAGPQAF48XD&coliid=I1194X69M6JQ0E) will help with that physics engine thing.
The Ultimate Guide to Video Game Writing and Design (http://www.amazon.com/Ultimate-Guide-Video-Writing-Design/dp/158065066X/ref=wl_it_dp_o_pC_nS_nC?ie=UTF8&colid=1VPAGPQAF48XD&coliid=I324JYO1CBKYFF) is more about how to make a game enjoyable from the creative side of things.
Then of course if you don't know much programing you'll need to learn a language or two. At the very least:
You'll need something like C++ Primer Plus (http://www.amazon.com/gp/product/0321776402/ref=oh_details_o00_s00_i00) to learn C++ and you might want to learn Java and plain old C as well.
Additionally you'll probably need a good scripting language and since Lua seems popular you'll probably want Programming in Lua (http://www.amazon.com/gp/product/8590379825/ref=oh_details_o01_s00_i00) as well as the Lua reference manual.
Now I myself haven't been through all these books but I am planning to overtime mostly because there is a lot of overlap with creating complex software suites for solving problems in science. Also, I just find programming fascinating. I'm also planning on reading through some more basic theory of programming books and picking up at least Python and probably PHP to go with Java, C/C++, Fortran (man do I hate Fortran), and Lua.
Of course you might be saying to yourself that all that reading looks like an entire degree in computer science and you'd probably be pretty close to right. You really aren't going to be able to do what you asked about, well at least you won't do it well, without a level of knowledge close to someone with a bachelors in computer science. If that's what you want than all the more power to you but it isn't going to be easy. I'm lucky in that I absolutely love anything to do with electronics and have a natural talent for it. Not to mention bachelors degrees in both Math and Physics as background.
So really it's not so much a question of being immoral/lazy to use licensed or free engines and kits. It's more a question of do you have the drive, time, and money to self-teach yourself what amounts to a computer science degree. That or do you have the drive, time, and money to actually enroll in a degree granting program dedicated to game design.
That's quite a tall order on books, but nothing comes cheap. Though it'll be sometime before I can buy all those books. Thank you for the recommendations, if this will help me out in my feild then I'm all for it. And it wouldn't hurt to have knowledge in computer science to fall back on if game design doesn't work out okay.
Sithdarth
07-09-2012, 12:08 AM
I have all but Physically Based Rendering, Second Edition, Real-Time Collision Detection, and The Ultimate Guide to Video Game Writing and Design and have barely read much into the ones I have. However, they all come highly recommended and I've already learned a lot from what little I have read so I trust the recommendations. Source code versioning with subversion is a life saver.
That is actually only a fraction of my reading list. I've got two books on Java programming and two more on Android app development. Not to mention a book on the C++ standard template library and a book on XML. At some point I'm going to pick up a book on Bash and of course Linux in general. I've got like 5 or 6 more on my amazon wish list about algorithms and much more basic computer science as well as more advanced C++ programing. In particular there is a set of books by an author named Donald Knuth which is pretty much the computer science bible.
I'm going to tell you straight up that this collection of books is going to be expensive and it's going to give you a lot more information than you really need. Especially if you are going to use premade resources. It's also not going to be easy or probably particularly fun to learn all this stuff. I mean I enjoy it but I'm not exactly typical. I learned enough Fortran in about 3 days to be able to translate a Fortran programing into another scripting language I know. I program because I like to program and it doesn't really matter what I program. It's a hobby and not a dream or a goal and so there is no pressure for me to succeed.
In short, don't be afraid to use outside resources to speed up development. You seem to want to make this a career and so your path is one entirely different than mine. Do the absolute minimum amount of work required. But truthfully if you do want this to be a career there really is no substitute for an actual academic environment. Student Loans are a bitch but it usually is a much better way to learn as long as you know how to take advantage of all the resources it grants you.
Aerozord
07-09-2012, 12:25 AM
Refusing to use development kits like physics engines and starting from scratch is kind of like building a house and insisting that you personally forge all your tools out of iron you mined by hand.
Kyanbu The Legend
07-12-2012, 11:43 AM
Thank you for the advice, Sith. Gonna try checking out the library near me for some of those books.
Some slight news on D-Resonate. I've decided to split the game in two. The PC version will be what I'm going to work with mainly and with be my Metriodvania build. the Andriod/iPhone/mobile version will be a more traditional platformer and a shorter title and hopefully a bit easier to build. It'll also be non-canon story wise where as the PC version will be canon.
D-Resonate: Vol.1 (PC version)
D-Resonate: The Mischief Wars (Mobile Version)
vBulletin® v3.8.5, Copyright ©2000-2025, Jelsoft Enterprises Ltd.