scheffgames

Members
  • Content count

    76
  • Joined

  • Last visited

About scheffgames

  • Rank
    Advanced Member
  • Birthday 09/01/1983

Profile Information

  • Gender
    Male
  • Location
    Land of Biting Bytes
  • Interests
    Programming, Photoshop, Design, Games
  1. I may not be very qualified to answer since I don't know Mysql but here's what I do if I had to communicate with an object to retrieve some values knowing that the response might not be instant. I'd make small quick and fast cache data object - that lives in the code - containing some essential mirrored database entries and which I can access instantly. When the game loads I would update all these cache objects (since now it doesn't matter a couple seconds of delay) and while the game runs I would use them for querying instead of the database. Every now and then (when it's convenient) I would write the cache object entries to the database.
  2. Hehe - I just posted a tutorial here some days ago.
  3. I have no clue about Mysql and databases in general but the solution seems simple from a programmer's point of view - just keep a small local database (offline) and upload/download it from the server at convenient times.
  4. Interesting little game - I really like the concept. One thing that would improve the game IMO would be to not consider spaces as characters.
  5. An online version would be nice so we can play it easily. Bitbucket offers free hosting if you don't have one.
  6. Simple. By rendering a number of objects and see when my FPS drops considerably. At 30+ sprites on screen the fps drops, a lot. Add some transparency and it drops way more. By comparison in Phaser I can draw 50 to a 100 without significant losses and transparency it's not an issue. As for the documentation maybe we didn't look in the same place - there's an API and DEMOS page but that's about it. The last I remember the API was poorly documented - it seems the page it's broken so I can't give an example. Also changing the way the game scale or background color was a nightmare - I had to dig deep into the source code and still couldn't solve my issue. So ease of use when implementing sponsors requirements and API's - zero. Running into a specific problem that's not mentioned in the DEMOS or other guides it's usually a dead end since the forum dedicated to QICI it's mostly dead. That's about sums it up.
  7. I'm wondering if any of you had any experience with publishing html5 games on Kongregate. There's a rather long list of requirements and api's to implement in order to publish it (lazy, I know :D) compared to itch.io or newgrounds. And I'm also curious how games fare commercially - I hear there's a 50/50 split of all add revenue for game views. Thanks!
  8. Tried it some months ago (before touching Phaser actually) - interesting and easy to use but poor documentation and slow performance. Some native Phaser capabilities are missing. Was impressed though by the box2d plugin. It has a lot of potential but it's definitely not there yet.
  9. You could try Phaser.Math.getShortestAngle or take a look at an older thread discussing the same issue.
  10. Was curious who the speakers were, accessed this page and got hit with a Mysql error - they must be game developers and not web developers. Always wanted to attend the event but it's across the ocean so... Let us know how it goes there.
  11. I read your article and still haven't understood the nature of html5 game development. It's a bit light the article, isn't it? You list some engines, say that it's easy to learn and that the HTML5 market is booming. Well, we already knew that. How about some deep personal insights into html5 development process? Or a thorough analysis of something html5 related (monetizing, developing, resources, etc)? The rest of the articles are in the same vein as this one so....there's room for major improvement. And this is the wrong section of the forum to post into - it says Game Showcase - your post belongs to News category. I do like the visuals of your games though.
  12. I'm still trying to find some use for currying in my day to day game development but nope, nada. I have the feeling that it will make my code less readable and flexible. Can you provide a practical day to day example of currying, something that you use daily in your game dev code?
  13. I've learned this one from Effective Javascript . Basically it says that instead passing a long list of arguments to function just pass an options (opts) object. This way even if you'll add additional args in the future everything will be kept neat and clean and the user (you or others) won't have to guess what each arg is intended for. This may seem like an overkill for simple functions but imagine functions that take 5, 10 or even more arguments. You could say that it is bad practice but you'll have a function like this in your program one time or another. Or you could use named arguments but they do have to be in a specific order (last in args list). And using the opts object has it's advantages - you can pass args in whatever order you like and omit as many as you like and the function will still probably work - because you'll have implemented an arg check section that sets them to defaults - you'll probably do it anyway with normal arguments. So hands down this is the trick that is making my code waaayyy more usable, clean and easy to use. Let's see it in action - I'll be using examples from the book: Here's a function without an option object with lots of args (USAGE): var alert = new Alert(100, 75, 300, 200, "Error", message, "blue", "white", "black", "error", true); Here's the same function with an option object (USAGE) - note that you can input them in any order you want or miss them completely: var alert = new Alert({ x: 100, y: 75, width: 300, height: 200, title: "Error", message: message, titleColor: "blue", bgColor: "white", textColor: "black", icon: "error", modal: true }); And here's the implementation of the function with the option object: function Alert(parent, message, opts) { opts = opts || {}; // default to an empty options object this.width = opts.width === undefined ? 320 : opts.width; this.height = opts.height === undefined ? 240 : opts.height; this.x = opts.x === undefined ? (parent.width / 2) - (this.width / 2) : opts.x; this.y = opts.y === undefined ? (parent.height / 2) - (this.height / 2) : opts.y; this.title = opts.title || "Alert"; this.titleColor = opts.titleColor || "gray"; this.bgColor = opts.bgColor || "white"; this.textColor = opts.textColor || "black"; this.icon = opts.icon || "info"; this.modal = !!opts.modal; this.message = message; } It may be a little bit more work to do for the arg check but you're going to use it a lot more times than write it. And it forces you to do arg check and provide defaults (which is a very,very good thing). And it's more readable and "writeable" IMO.
  14. Cool little game! I'm curious about the revenue model Gamee offers - on the website they said they're working on a revenue share model - any idea if it's up and running?
  15. And on a different note - your website looks very good. If I may ask, which technologies did you use and did you make it yourself?