Jump to content
  • Advertisement

Julie.chan

Member
  • Content Count

    173
  • Joined

  • Last visited

Community Reputation

381 Neutral

3 Followers

About Julie.chan

  • Rank
    Member

Personal Information

Social

  • Github
    onpon4

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Julie.chan

    Pygame - alternatives?

    That's not going to tell you anything useful whatsoever. Of course the game loop takes "very little time". All game loops do. But you've completely missed the point that running such a short test is completely useless because all your results are getting rounded, and as a result you have zero information about when the slower parts are, which is the meaningful result. Getting multiple results with this pointless single-loop test you have is never going to get you any closer to understanding what's going on because of this. Yes, I know what you're talking about. You're worried that a 0.2% difference of timing, which is perfectly normal, must somehow be the cause of all your problems. But if you want to actually solve the real problem, that being the thing you describe as "jittering" (which is quite vague, and you haven't clarified what you mean by it), you need to drop the pretentiousness and think outside this box you have constructed. Otherwise, feel free to just drop all your work and start over with C if that's really what you want to do.
  2. Julie.chan

    Pygame - alternatives?

    That test seems much too short and limited to gleam any useful information out of. What did you test, exactly? I usually prefer to test the entire main loop, for at least a minute or two.
  3. Julie.chan

    Hidden information in local card game

    I don't really see wanting to learn programming as a particularly good reason to make a card game into a video game. Do you care more about the game, or more about learning software development? I propose the following: * If you care more about the game, then making it an early video game project (and only making it in that form) will just make developing the game needlessly difficult and stall your ability to actually play it (and most importantly, playtest it; a lot of the time what sounds good on paper isn't really so good in practice). * If you care more about learning software development, there are more efficient ways than developing a whole new game from the ground up with multiplayer network play. You could contribute to an existing project, for instance, like Argentum Age.
  4. Julie.chan

    Pygame - alternatives?

    180 FPS? Have you considered reverse delta timing, then (slowing things down to run at a higher FPS)? That would surely help. I have my games configured with a "delta max" (as it's called in the SGE) of 4 times the target rate, and a "delta min" of half the target rate. It would avoid noticeable "jittering" and make the controls smoother at the same time, plus this is much easier for the computer to do than keeping the FPS at a precise rate (which, like I said, isn't 100% reliable anyway since some refresh rates can differ from 60 Hz). Of course, you'll need to start using floats if you do this, so you'll want to store the "real" position separately from the displayed position. I just use floor() on the "real" position (and I'm not using Pygame's sprite system, so it's just a matter of calling floor() any time I blit a surface).
  5. Julie.chan

    Pygame - alternatives?

    In the few years or so I've spent optimizing the SGE Game Engine, I've found that the typical dogma regarding performance with Pygame is inaccurate. In particular, "dirty" sprites make almost no difference (and often none at all) in real-world applications; the real choke point is looping for things like collision detection, which is why the most important optimization I made with the SGE Game Engine was the "object areas" system, which groups all objects by general position so that looping is minimized. What framerate the machine can handle depends on the game. Have you verified the actual framerate the game is running at? You may be surprised if you haven't. I have this one game I developed (actually the first one I made with the SGE Game Engine) that's much, much slower than the rest, probably because I used scaling too much (though it's an unimportant game so I haven't investigated much).
  6. Julie.chan

    Hidden information in local card game

    My thought is, if you're requiring use of mobile phones anyway, why not just do the entire thing in the phones? Either way, you're still using networking, so I don't see how tying the game to a third screen is helpful to anyone. Actually, the most elegant solution I can think of is much simpler: just don't make it a video game, make it a physical card game instead. You can get cards printed quite cheaply at BoardGamesMaker.com (that's the service I use for a card game I designed, Keeper of the Cards), and then you don't need to worry about any technical concerns at all. The only reason I can think of to make a card game into a video game is so you can play it either over a network or against an A.I.
  7. Julie.chan

    Options/Advice for Selling Mod on Open-Source Game?

    I doubt anyone would undercut you unless you were incredibly successful, in which case you probably wouldn't have to worry about it anymore, and if nothing else it would make dealing with the competition quite a bit easier. That momentum you mentioned is quite valuable on its own. :)
  8. Julie.chan

    Pygame - alternatives?

    You mention vsync, which would suggest you're talking about tearing. But the problem you describe sounds more like the problem of using float positions, which is a different issue. That would be avoided by using only integer positions. If you're talking about actual tearing though (when the top and bottom halves of the screen are in different positions), apparently Pyglet is better for preventing that. It's true that mimicking the refresh display can minimize tearing, but it's not possible to time everything exactly as you propose. Plus, it's very possible for someone to have a different refresh rate, e.g. 59 Hz is one I've seen in some computers I've used, so it's not a 100% reliable solution anyway.
  9. Julie.chan

    Options/Advice for Selling Mod on Open-Source Game?

    I haven't tried it, but I think that already exists: https://colobot.info/ It seems to just be single-player, but adding multi-player to Colobot might be easier than making a whole new programming RTS. In the case of a multiplayer game, you can make money by hosting a server and charging for access to it. Yeah, that sounds like a nice idea. Actually, I wish more people would do this kind of thing. You'd just need to modify the game so you can run a premium server of sorts. Just one modification/clarification: anyone who receives a copy of a program under the GPL has to be given access to the corresponding source code, so while you don't need to advertise it, you still need to include either the source code or access to the source code for everyone who gets a copy of the binary from you (I usually just give everyone source code directly because that's simpler, but it depends how big the source tree is I figure). And one little suggestion/idea: make it so that people who haven't paid for access can still watch games on your server. That can help entice them to want access.
  10. Julie.chan

    Pygame - alternatives?

    PySDL2 seems like a good thing to use in my opinion. It's made using ctypes, which is nice. As for whether it's actively developed still, the latest commit on GitHub was in May 2018, so I'd say it's a bit stalled at the moment. Nevertheless, it's libre, so anyone can take up the project and continue updating it if they wish to do so. For what it's worth, by the way, Pygame is still being updated; the latest commit on the Pygame Git repo is from a couple days ago. I don't think there's an immediate issue of Pygame dying off, and it's been used so much that it's supported pretty much anywhere. For that reason my plans to make SGE implementations based on PySDL2 and Pyglet are actually on the backburner right now, and the main motivations would be to diversify and to have a version that works with PyPy (for a potential performance enhancement). I'll still be keeping the Pygame version as the main, reference implementation. Actually, maybe I should have asked this earlier: what do you mean by "rock-solid frame rates"? Are you talking precision or speed?
  11. Julie.chan

    Pygame - alternatives?

    A bit of shameless self-promotion: http://stellarengine.nongnu.org The SGE Game Engine is designed to be re-implemented in other backends. Future-proofing was one reason I designed it that way, though another reason is so (eventually) you can just choose what backend you want to use with no change in code. Currently I only have a Pygame version (though it also supports Pygame-SDL2), but I do intend to make a version based on PySDL2 or Pyglet at some point. On that note, Pyglet is another option you didn't mention. It uses OpenGL.
  12. Julie.chan

    Can I use these names and abbreviations?

    That depends on how you're using them. If you're referring to the actual respective standards, then that shouldn't be a problem. If you're using the names to represent something they're not supposed to, though, that could cause a problem. For example, there could be trouble if you refer to an optical disc as a "USB CD", since there is no such thing and it misrepresents what USB is all about. So in short, just call things what they actually are and you should be fine. Of course, I do have to mention that I'm not a lawyer and none of this is legal advice, just my personal understanding of how trademarks work.
  13. Julie.chan

    License for a Game Engine?

    Right, but I got the impression that he was concerned about people competing unfairly with forks he can't benefit from (i.e. proprietary forks). Copyleft protects against that quite well. It's the whole reason Linus Torvalds used the GPL for Linux (he doesn't care about the FSF's philosophy at all).
  14. Julie.chan

    License for a Game Engine?

    Where do you get that impression? It seems to me he just wants the benefits of copyleft: to give users the freedom to use and extend the engine, but make sure they don't keep the changes to themselves in a proprietary fork. For that goal, my recommendation is pretty simple: the GNU LGPL for the engine, and the GNU GPL for the editor. Of course the LGPL requires dynamic linking for proprietary programs (instead of static linking), but there's a good reason for that requirement: it makes it possible to modify the library in isolation and then run the proprietary program with the modified library. I think in this case, a lawyer is unnecessary. These are quite simple documents and getting help is quite easy The Free Software Foundation (authors of the GNU GPL, GNU LGPL, GNU AGPL, and the definition of libre software itself) actually has a whole page dedicated to helping libre software developers out on this issue, for example.
  15. Just to clarify, that wasn't the disclaimer I was recommending. I was recommending something more like this: "The car models in this game are not intended to resemble or portray any real-life car models. Any resemblance to real-life cars is purely coincidental." I don't know, it seems like an unrealistic standard to me. You can't design a car without referencing cars; first of all, you've already seen the cars, so you'll end up getting ideas from them subconsciously anyway, and second of all, all work is derivative; no one just comes up with 100% original art. This may seem like a nitpick, but I find your language here to be rather sloppy, and it stems from your insistence on the term "IP". A car design is not "an IP". It's a combination of various engineering choices (most of which are probably not patented), aesthetic choices (most of which are probably not copyrighted), and distinctive looks (some of which may be considered trademarks). Of course a lawyer should be consulted on stuff like this, but in this case, I don't see copyright as being a real issue. Trademarks seem to be the most important issue. And since, as you yourself said, trademarks are about preventing confusion, you don't need to start in a vacuum to avoid trademark infringement. In Canada, yes, but the U.S. has quite strong, flexible fair use protection.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!