Do you need source to your engine?

Discussion in 'Game Development (Technical)' started by zoombapup, Jan 25, 2009.

  1. zoombapup

    Moderator Original Member

    Joined:
    Nov 25, 2004
    Messages:
    2,890
    Likes Received:
    0
    I've been playing around with Unity after having gotten tired of wrestling with torque. It strikes me that Unity is pretty good for usability and quick prototyping, although I'm not entirely sure of the range of games you might make with it.

    But its biggest sticking point for me other than the price for pro is the lack of source code.

    Having used torque for so long, it really worries me about not having code for an engine. Does it bother you guys?

    I'll probably go with prototyping things in Unity and then productizing them in my own engine once I'm sure the concept works, unless the Unity prototype is compelling enough and doesnt feel too constrained, at which point I'd probably stick with Unity.

    Having an actual art pipeline that doesnt suck is just so nice :)
     
  2. MFS

    MFS New Member

    Joined:
    Feb 28, 2007
    Messages:
    314
    Likes Received:
    0
    For the longest time, I was using the demo version of PTK (no source) and there were several instances when I was really wishing I could modify the source a bit.

    And then I got a full license...and never modified the source once. While at times it's helpful to see what a function is actually doing, a well-written engine (one that produces reliable and predictable output) works completely fine for me without having the source.
     
  3. Gary Preston

    Original Member

    Joined:
    Aug 5, 2005
    Messages:
    239
    Likes Received:
    0
    Yes it bothers me, although depending upon the project I wouldn't totally discount a given engine just because it lacked a source license within my budget.

    Without source, I'd worry that a bug may not be fixed for some time by the company selling the engine. Depending on the stage of the project this may or may not be an important factor.

    Also, plug-ins may help make the engine extendable, but there may still be times you want to change something that isn't exposed. The times this may occur may be very limited and many projects may never need to touch the engine, however I just feel more comfortable knowing that it's my skills/knowledge that limit a project and not simply lack of source.

    Looking at their website, Unity do have a source license, but the lack of pricing for it on thier website suggests it's either not cheap, or they're picky about who they license to. Maybe both ;) That's just speculation of course :)

    Once Unity releases a windows version of the engine/tools, I'll likely check it out, but without source I doubt I'd license it for my own projects, unless the cost of a source license was within my price range, in which case, doing without wouldn't be such an issue as the option is at least there if needed.
     
  4. luggage

    Moderator Original Member Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    2,132
    Likes Received:
    0
    I don't care about source so long as the engine has frequent updates, good support and is release ready.
     
  5. Applewood

    Moderator Original Member Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    3,859
    Likes Received:
    2
    I couldn't envision relying on an engine for my livelihood that I didn't write myself tbh. Speaking personally, my engines are rock solid and user-friendly because:

    1) I'm the main user
    2) I wrote it to work how I want it to work
    3) Bugs get fixed as soon as an assert fires or a crash happens - no waiting on maybe updates.
    4) Another benefit of 3) is that the engine converges rapidly on being solid and dependable as all bugs get fixed one at a time before they cause other failures. If the bug happens through earlier bad design choices, you can fix that too.

    If you don't want to go this route, then I guess using a popular one from the public domain isn't a bad plan b), but I would certainly not entertain anything that was made by a tiny company and/or came without source. They might be good with updates now, but who says they're still in business next year when your beta rolls around. This GG shit is almost a good example.
     
  6. zoombapup

    Moderator Original Member

    Joined:
    Nov 25, 2004
    Messages:
    2,890
    Likes Received:
    0
    Yeah, to be honest Paul I've been moving that way more myself. Its really not that hard to make a usable 3d engine these days. Its just that I like to prototype and if I can find a quick toolset that does that for me all the better.

    I'll most likely be working on some shared code that a few companies locally want creating for exactly this kind of reason.
     
  7. Bad Sector

    Original Member

    Joined:
    May 28, 2005
    Messages:
    2,742
    Likes Received:
    5
    Yeah, i need the source because otherwise i cannot compile it :D
     
  8. Nikster

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    698
    Likes Received:
    0
    If you're anal about having source, then I guess the best thing for you is like Paul and many other companies / studios, to roll your own, I've used many many libraries that come with source (not just engine), and the only real purpose they seem to serve is so I can compile them to linkable objects, saves the author having to prebuild hundreds of .lib .so .dll's or .whatevers.

    My OS libraries don't come with source, direct3d doesn't come with source, I'm just not sure what the big FAD is with having source.

    It's like anything, if you can't find anything sufficient, you roll your own, programmers in general like doing that anyway.

    As for GG having source, well that's kinda turned out lucky, because the amount of bugs and lack of decent docs, they would have been royally anally implanted and would have gone poopy a long while ago.. with my uneducated guess anyways :)


    but to answer the question, no. with big engines, I'd be worried a fix I made might break something else without knowing how it should work in the first place, infact I'd love to see how many people who have used 3rd party libraries who have modified them in a game release, I bet the numbers are very very low.
     
  9. zoombapup

    Moderator Original Member

    Joined:
    Nov 25, 2004
    Messages:
    2,890
    Likes Received:
    0
    Well, I've worked with enough engines by now to know that they ALL have bugs and I can rely more on myself to fix them than I can a third party company. I've proven bugs in many microsoft products before with the tests I've run, so I simply dont believe anything that says it hasnt got bugs (including my own code).

    There is more to it than that though, there is the license encumberance thats an issue as well.

    Having said that, the main reasoning for me is to understand how the bloody thing works and to realize its my own responsibility to fix it if it doesnt, its so easy to expect someone else to when you use someone else's codebase (like most of the torque community expect GG to fix torque).
     
  10. Bad Sector

    Original Member

    Joined:
    May 28, 2005
    Messages:
    2,742
    Likes Received:
    5
    I use my own code since i wrote my first program - i don't trust others to make code i like :)

    Also...
    My OS libraries (and the OS itself - its Linux btw) comes with source, including the OpenGL implementation :). Did i ever needed it? Well, once, some years ago i had to modify a small part of the network driver to remove some annoying messages from the console. Beyond that, never, but back then those messages were driving me crazy so i was glad i could do it and not wait for whoever wrote the driver to fix it :).

    So if most people don't have the same needs as you, you should get rid of your needs and ask only for what the majority asks?
     
  11. Acord

    Acord New Member

    Joined:
    Jul 26, 2008
    Messages:
    1,217
    Likes Received:
    0
    I think I just posted this in another thread, but here we go again:

    Source code seems great, but then I've not seen any engine where you don't have to spend a couple of months learning the ins and outs of the source before even attempting to add simple modifications.

    Cube 2 engine took me FOUR. There's a lot of good documentation, but it's scattered all over hell and creation. And in the end, the simple modifications I made turned buggy when I updated the base engine. That's another landmine that's present with anything: Updates can render your code buggy, sticking you with an old version.

    Now, if you're a coding bad-ass(a point at which I am farthest from), then you were probably the guy that fixed the bugs and sold the fixes back to the engine publisher, or you've rolled your own. But most people, including a majority of the coders I've met, are just not operating at that level.

    So source code is a mixed blessing. It depends on where you honestly fall in the programming spectrum. I've met maybe two coders EVER who fit the bill, out of hundreds - including long term coding professionals. I suspect that maybe two or three of the people here are that good.

    An engine without source code has it's own issues: You have to request new features or wait until someone makes a DLL if you can't make a workaround, most of them have proprietary scripting languages that just aren't useful anywhere else, and the ones that use common scripting languages have big libraries of stuff that is often community generated and sometimes of dubious value.

    In the end, I would like to be good enough to roll my own, but that is years and years and much practice away. Until then, I'll settle for an engine that doesn't require you to know the source code in a carnal fashion.
     
  12. JoshuaSmyth

    Original Member

    Joined:
    Aug 22, 2004
    Messages:
    145
    Likes Received:
    0
    I'd prefer source, but it's not nessesary - my number one evaluation for engines is "What other games have been made with it?"
     
  13. Nikster

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    698
    Likes Received:
    0
    Not sure how this relates to the quote you posted, but I'll have whatever you're smoking.

    But to answer your question, no, not me at least, as I evaluate, I dont write games depending on the engine, I pick the engine suited to the game.

    I just think the whole "needing" source is not needed at all, hence my comment which you quoted... still waiting for an answer like.

    Then again, you're a linux zealot, it comes with the territory to want source, doesn't it ? ;)

    Your game has bugs, should you release source ? I think you should so I don't have to wait ages to get a bug fix so I can finish the game :p
     
  14. Nikster

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    698
    Likes Received:
    0
    @zoom

    I guess it depends on your state of mind, if you're in a position where you have lost faith in engines in general because they always seem to be bug ridden to death and what not then I guess you would need source, if only to ease your mind, then again, wouldn't you be more worried how much extra time this may add to your project ?

    I avoid having a "does-all" engine, purely as I don't want all my eggs in one basket.
     
  15. Bad Sector

    Original Member

    Joined:
    May 28, 2005
    Messages:
    2,742
    Likes Received:
    5
    What i meant that if there is only one developer who really needs the source and 1000 who doesn't, it doesn't mean anything for this developer that there are 1000 others who doesn't need it.

    I would hardly call me a linux zealot, i'm mostly a Linux user and not a very happy one - i can make you a list of things where Linux sucks as much as i can make you a list of things where Linux rules. But thats true to any OS.

    Not all Linux users are die-hard Linux zealots. In fact from my experience (which might mean nothing at all since its from my perspective only) its usually Mac OS X users who become die-hard fans of their OS, not Linux users :p.

    Well, depends. If i don't make any money from the game and i have no other reason to not do so, i don't see why i shouldn't release the code. It might spark a new interest in the game (like the case with Nikwi was to which i did release the source code) and it might help people learn a thing or two.

    @Acord:
    You are my hero. Sort of. I took a look in the Sauerbraten source code and the next thing i remember was being in a hospital with gauzes in my eyes. Seems that i passed out due to extreme bleeding. Since then, i kept a printout of some part of the code in my pocket to scare away suspicious people at night.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer