Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Raicuparta last won the day on April 10 2020

Raicuparta had the most liked content!

About Raicuparta

  • Rank
    Advanced Member

Contact Methods

  • Website URL

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

1570 profile views
  1. Hi @WilX94. I'm glad you like the post post and the game. Unfortunately I don't really have any other tutorials, and don't plan on writing any, since I haven't really developed anything similar in a few years. Best I can do is provide you with the source code for Curvatron. But to be honest, I would strongly advise against using it for learning, we were very inexperienced when we developed it. It is full of spaghetti code, and poor practices in general. Plus, it is based on a very old version of Phaser. You shouldn't have a hard time finding good tutorials and example projects for recent versi
  2. Not from me, at least. And I don't plan on updating this guide any time soon, since I haven't published a game again since this one. That part of the process should be pretty straight forward and documented in many places, though. And most of the stuff about integrating with Steamworks should still work in a very similar way, just with newer versions of the tools.
  3. Updated the links in the thread. You can also look at this thread for further discussion on the subject.
  4. Is there anything for handling scaling, like the old ScaleManager? Looked around but didn't find anything. Right now I'm just using zoom to make it fit the screen.
  5. Hey, I made a quick game using your bootstrap: https://github.com/Raicuparta/square-touch Or if you want to try the game (better on mobile) http://square-touch.surge.sh I had to comment out the UglifyJS stuff from the webpack production config file, otherwise deploy would fail when it found something like this: const b = 20 const c = 30 const values = { a: 10, b, c, } Fails on the comma after b inside values, with the error: Unexpected token: punc (,) But this bootstrap really made things a lot faster, thanks!
  6. I'm making some BitmapData squares, and painting each individual pixel randomly, like this. It works like 90% of the time, but for some reason, some times, it generates something like this. The code that generates the BMD: generatePattern (size) { let pattern = this.game.make.bitmapData(size, size) for (let x = 0; x < size; x++) { for (let y = 0; y < size; y++) { let color = this.randomColor() pattern.setPixel(x, y, color.r, color.g, color.b, true) } } return pattern } I then use the generated BMD as textures for my sprites with
  7. Thanks for the heads up, guys. We had set up the redirect to prevent this but apparently it doesn't work with the articles, only the main blog page. I edited the main post so the links should work there now.
  8. Sorry for the late response. Yes, I ended up not working on Part 5, I should probably edit that out. Is there anything in particular you'd like to read about?
  9. I wrote a bit about that. Other than what I already talked about there, I guess the biggest problem I had was not being able to get the Linux and Mac versions working properly. Valve takes 30% of all the sales made through Steam.
  10. Curvatron on Steam We have finally released our first game on Steam. Some of you may know, I have documented the steps I took to have it working on Steam. I'll probably write a new blog post about the whole thing, in the end it was quite a bit of effort and there were a lot of problems, but we're finally done. I'm still not 100% sure but I think this is the first Phaser game to be released on Steam (although there are a bunch of other HTML5 games there). So yay!
  11. No idea why I didn't try the most obvious one in the first place, but it doesn't seem to be making any difference... I'm just looking at the memory usage in the Windows task manager, should I not be doing that? Not sure how to read the Chrome timeline thing, should I be looking at the "JS Heap"?
  12. I tried all of these: this.music.stop() this.game.sound.remove(this.music) this.music = null this.game.cache.removeSound('level_music') this.game.sound.removeByKey('level_music')They don't seem to do any difference. Every time I load a new music (with this.game.load.audio()), the memory usage goes up by a pretty big amount (some times more than 100MB) and it never goes back down, even after calling all of those functions. Also, it seems like loading the music isn't actually the main problem, playing it is what causes the memory usage? It's hard to tell.
  13. This seems to have worked! Thank you! Now I don't have to add those 15ms manually, which could probably result in failures in the replays.
  14. How do I know if I'm doing this? I thought using time instead of frames would prevent that kind of problems.
  15. The game in question only uses one key, so the cheapest way to save a replay would be by storing the input times. What I'm doing is something like this: totalTime = 0inputTimes = []replaying = falsefunction update () { totalTime += game.time.physicsElapsedMS if (replaying && totalTime >= inputTimes[0]) inputTimes.shift() keyPresed()}// called on key pressfunction keyPressed () { if (!replaying) inputTimes.push(totalTime) // also player movement, etc...}function setReplay (times) { inputTimes = times replaying = true}I try recording a session, the passing the resulting ar
  • Create New...