Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

381 Neutral


About Julie.chan

  • Rank

Personal Information


  • Github

Recent Profile Visitors

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

  1. Julie.chan

    Open Source Licenses

    If you're referring to when a company takes a permissively licensed program and derives a proprietary version, that's what copyleft is for. Use the GNU GPL, GNU AGPL, or GNU LGPL depending on your needs. This has nothing whatsoever to do with commercial exploitation. Take a look at Linux. Companies that use Linux contribute to its development all the time, because the copyleft license it's under (the GNU GPL) doesn't allow them to release proprietary versions. So their best bet is to just contribute back, and that's what they do. If you're running a server, charge for the use of it. Simple as that. As for "monitoring any code commits", if that's such a burden for you, just ignore them. You can't eat your cake and have it too; if you want others to contribute, you have to pull those contributions. You can't just expect to gain something for nothing. And yet, thanks to Git, it's not even that hard. It sure sounds greedy to me, but I have nothing against greed. By all means, turn a profit. But it's hypocritical to write Communist software for a profit. If you want to forbid commercial exploitation, don't commercially exploit it. You keep appealing to your personal needs, as if that was an argument for hypocrisy. I don't see how it is. And what's more, it's not going to work how you are imagining. What you are proposing is a proprietary program, and you will almost certainly develop it entirely on your own, just like any other proprietary program. Companies certainly aren't going to contribute to software they have to pay for, so you're not going to get any contributions from them. And everyday hackers like me? We're completely turned off by restrictive licenses such as what you propose, so you'll get nothing from us. Except for the Communists, but Communists will be turned off by the fact that you're turning a profit. Overall, what you're proposing is a total lose-lose situation on all fronts. If you want to make money from developing libre software, you need to either join an established business (that's the easy route), or set up your own business, work very smart and very hard, and hope it works out (because, yeah, starting a business is a highly risky endeavor). There is no license that can magically give you a profitable business doing exactly what you want to do.
  2. Julie.chan

    Open Source Licenses

    Well, of course, because that's part of the definition of both libre software and open source. They're not exactly going to recommend licenses that don't fit their respective definitions. If I may be frank, a Communist software license probably wouldn't attract many contributors. I can't say I understand your goal; you want to suppress commercial contributions because you don't want to deal with pull requests? Why not just ignore the forks if you can't be bothered with them? No one is forcing you to pull in external changes.
  3. 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.
  4. 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.
  5. 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.
  6. 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).
  7. 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).
  8. 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.
  9. 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. :)
  10. 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.
  11. 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.
  12. 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?
  13. 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.
  14. 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.
  15. 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).
  • 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!