Gamemaker or Java?

Discussion in 'Indie Basics' started by Mashew, Aug 25, 2007.

  1. oldschool

    Original Member

    Joined:
    Jan 23, 2006
    Messages:
    167
    Likes Received:
    0
    People throw around the Job thing alot but I have a feeling that a lot of the people that ask these kinds of questions are kids.

    When I was a kid I had an smith corona 100% IBM compatable and the only games where the ones I programmed. So I had no choice but to be patience and work hard if I wanted to play anything.

    Kids today have a lot of games at their disposal, so many won't work hard to get a sprite moving across the screen in Java. And I would rather those kids used Gamemaker so they at least learn something about programming. But for those few kids that already know they want to program then yeah use a language like pygame or any java game engine and not a rad.

    For adults, do what you want. Gamemaker if you don't need to program for a living like me and if you want to program for a living, learning java can only make you more marketable.

    And yes gamemaker is more limited but I lack the math and college and practical knowledge cultivated over decades of hard work so I can't write my own framework so the limitations are acceptable. Like Gamemaker doesn't have it's own music player so I'm using a dll, there are many annoyances like this but I live with them okay).
     
  2. bvanevery

    bvanevery New Member

    Joined:
    Jun 25, 2007
    Messages:
    369
    Likes Received:
    0
    Well assuming we're talking about high school or younger, that would eliminate the "need to make a living" constraint. I think college students should pursue career minded objectives though.

    I'm not convinced that the set of kids who will dabble in programming but not actually learn it is very large. Let alone the ones who make it all the way to here to get advice. I don't believe the proto-programmers are cut from any kind of different cloth than you and I were. I had plenty of games available on my Atari 800 in 1981, so long as I was willing to spend my own money. It didn't keep me from programming, heck I bought the computer with 1/2 my own money because 1 year earlier I had learned PRINT loop programming on a friend's Apple II. I taught myself Atari Basic and Macro Assembly with no help aside from books and magazines. I put a lot of time into it. Considering how much time kids have on their hands for stuff like this, I wouldn't have any problem telling them to go learn Java if they want to. I'd aim 'em at Pygame rather than Java, but I don't have a big problem with Java in this scenario.
     
  3. Mashew

    Mashew New Member

    Joined:
    May 14, 2007
    Messages:
    53
    Likes Received:
    0
    From what I have seen from those examples, it seems GM is much better for 2D Games and making simple but, addictive games while Java is more for the casual, cute games.

    It is true that you should blame the community not the tools. I can't even stand posting on the GM Forums for help because of the dumb answers I get.

    Also, I love how someone can post one sentence involving two different tools and you guys give 2 pages of answers. :p (I like that btw. Very informative. :D)
     
  4. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Java's for any sort of game you can imagine.

    Cas :)
     
  5. bvanevery

    bvanevery New Member

    Joined:
    Jun 25, 2007
    Messages:
    369
    Likes Received:
    0
    I don't think I'd use Java where I thought heavy duty number crunching was absolutely required, such as the core parts of a high performance 3d engine. Nor where a scripting language is appropriate. But that's still a large number of possible games.
     
  6. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    I would. It's fast enough now.

    Cas :)
     
  7. oNyx

    Original Member

    Joined:
    Jul 26, 2004
    Messages:
    1,212
    Likes Received:
    0
    >Nor where a scripting language is appropriate.

    Why? Using scripting in Java is as pain free as it gets (no glue code required). There are libraries for zillions of languages and even scripting in Java itself works great (with interpreters or super fast on-the-fly compilers).

    VM languages have a massive advantage there.
     
  8. bvanevery

    bvanevery New Member

    Joined:
    Jun 25, 2007
    Messages:
    369
    Likes Received:
    0
    I'd need to see proof. I think we've had this debate already, and last I remember it, the benchmarks said Java isn't faster.
     
  9. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Overengineering again hm? I said it was fast enough. Even if it achieves 50% of the speed of C++ - which it easily achieved many years ago now - it's fast enough that no-one's going to really notice given the incredibly broad spread of hardware about in the desktop market and the fact that in reality the bottlenecks are still all likely to be in the graphics rendering.

    <edit> BTW, that link leads to an almost entirely useless set of microbenchmarks that really don't tell us anything about the problem domain here.

    Cas :)
     
  10. oNyx

    Original Member

    Joined:
    Jul 26, 2004
    Messages:
    1,212
    Likes Received:
    0
    He said "It's fast enough now." tho. Additionally the author basically agrees with him: "It seems that it's much, much easier to create a well performing program in Java."

    What's also bad about that benchmark... it's off topic. Games aren't command line programs, which exit after a few seconds. You have to take VM warm up into account for realistic figures. What he measured there is start up + warm up + execution time instead of execution time after warm up.

    As if that wouldn't be enough already... the Ackermann test is pretty silly. Simply writing it in a less "clever" way speeds it up by 25% on the client VM. And the strcat test uses the slower (synchronized) StringBuffer instead of StringBuilder.

    Pretty pointless, really.
     
  11. bvanevery

    bvanevery New Member

    Joined:
    Jun 25, 2007
    Messages:
    369
    Likes Received:
    0
    This is bullshit, and it's tiring. There are some problem domains where the performance is needed. 15 FPS vs. 30 FPS is the difference between sucky and good in a game like BioShock. Don't pretend that scaling things back so you can use Java is the same thing as being able to accomplish everything in Java.

    If you don't know how to apply the relevance of a microbenchmark then you're not worth talking to about performance issues. Feel free to qualify what they can and can't tell you, but don't whine that microbenchmarks don't tell you anything.
     
  12. bvanevery

    bvanevery New Member

    Joined:
    Jun 25, 2007
    Messages:
    369
    Likes Received:
    0
    That's pretty dishonest of you to put it that way. Why don't you quote his 1st and 2nd conclusions before quoting the 3rd?

    Fine, I'll find other benchmarks to beat on and start a new thread about them at some point. There are tons of 'em lying around.
     
  13. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Hm, whatever. Wake me when you actually produce anything, ever.

    Cas :)
     
  14. bvanevery

    bvanevery New Member

    Joined:
    Jun 25, 2007
    Messages:
    369
    Likes Received:
    0
    I've done plenty in CMake land. So you should be awake.
     
  15. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Wrong forum.

    Cas :)
     
  16. bvanevery

    bvanevery New Member

    Joined:
    Jun 25, 2007
    Messages:
    369
    Likes Received:
    0
    You said anything, ever. So talk to yourself about the topicality of your barbs.
     
  17. oNyx

    Original Member

    Joined:
    Jul 26, 2004
    Messages:
    1,212
    Likes Received:
    0
    >This is bullshit, and it's tiring. There are some problem domains where the
    >performance is needed. 15 FPS vs. 30 FPS is the difference between sucky
    >and good in a game like BioShock.

    His games run fine tho. On a 500mhz machine that is. (That CPU is 7 years old!)

    No matter how you look at it - it's fast enough™.

    >That's pretty dishonest of you to put it that way.

    How so? I didn't quote him out of context or anything.

    >Why don't you quote his 1st and 2nd conclusions before quoting the 3rd?

    What for? Everyone can tell that C++ won in that benchmark (otherwise there wouldn't have been a reason for you to reference it).

    >Fine, I'll find other benchmarks to beat on and start a new thread about
    >them at some point.

    Go ahead if you think it's worth the trouble. ;)
     
  18. bvanevery

    bvanevery New Member

    Joined:
    Jun 25, 2007
    Messages:
    369
    Likes Received:
    0
    His games run fine. BioShock wouldn't at all. It's one thing to say that the performance of any given component, such as Java, is acceptable for one's own needs and ambitions. It's fine to recommend such things to people with similar ambitions. It is not fine to pretend that such things are adequate for everyone's ambitions, that more demanding performance scenarios simply don't exist, or that Java can meet them in the absence of hard evidence. The hardest evidence I've seen is that nobody doing commercial 3d engines, 3d device drivers, or high end modeling / animation software is using Java.

    The author said it's easier to program in Java, and that Java performance won't suck. He didn't say Java could go as fast as C++.
     
  19. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    FYI BioShock spends 60-80% of its time in kernel mode CPU on my system. Meaning at most 20-40% of it is in "game logic", and only a fraction of that is FPU processing. Which means in C++ you'd probably be able to double the speed of about 20% of the remaining 20-40%, ie. 4%-8% of the code would run about twice as fast. Giving us a massive 10% boost in frame rates. Or alternatively the game could be written in some other language, say Java or C#, and they'd target it at machines 10% faster than mine for the same result.

    However, in this forum, we're indie game developers, and no-one gives two shits about the performance requirements of Bioshock, because we cannot hope to produce that sort of game with our tiny budgets. So we tend to avoid pointless willy waving where appropriate and stick to what we know about. In my case, I'm one of the world's experts in Java programming, so I tend to tell people that in my informed opinion it's perfectly feasible. As I understand it you're a CMake expert who's never actually written a game yet, which would render your opinion on the matter somewhat irrelevant to almost everyone in this forum. I suspect I'm not the only one to hold this view. Please don't carry on with the flamebait and concentrate on writing some games instead and get a bit of credibility.

    </rant>

    Cas :)
     
  20. TeeGee

    TeeGee New Member

    Joined:
    Nov 28, 2006
    Messages:
    158
    Likes Received:
    0
    Erm... guys, what's the point? ;)

    And as for the topic - the answer was given few time already - both are good, use whatever you are comfortable with. Personally, I'm quite happy with GM and recommend it to anyone who wants to save some time and develop a 2d game. Of course it has its flaws, but the time saved is priceless... especially for half-time, one-man-team indies ;).
     

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