pyre

Members
  • Content count

    16
  • Joined

  • Last visited

  1. Thanks for the replies, Zinnie and RubbleGames. This game is so much more than Tetris, but if you play alone you don't see much of that apart from the new mistake detection and phase shifting (which people won't know how to use since it's not mentioned anywhere yet). I'll be working on a tutorial and a trailer that will make the new mechanics obvious, and hopefully I'll get some player population once Infinitris 1.2 is released. Preview:
  2. Awesome, thanks guys! :-) You're both completely right. It didn't occur to me that it'd be my web server which wasn't setup correctly to handle caching. pyre
  3. Hi guys, I load about 10mb of data for my game. But each time I refresh the page, everything has to be re-downloaded. It's like phaser can't save anything in the browser cache? Is there any way to fix this? Thanks, pyre
  4. I could create the render texture and get the frames back, but I couldn't create a sprite sheet from it. Whenever I tried to create a sprite with that texture, I couldn't set the frame on it without effecting all sprites sharing that texture. Instead, I created a spritesheet from a bitmap data object: game.cache.addSpriteSheet('key',null,bitmapdata.canvas, framewidth, frameheight);
  5. This worked well for me, thanks! I'm also wondering if this is the correct approach?
  6. I ran into this problem as well. You can instantiate your own loader. See the reply here:
  7. Release 1.1 This time, I have a gif of some of my workmates and I playing Infinitris :-) I've written a blog post about my journey from the previous release to now, feel free to have a read: Infinitris Blog - 1.1 1.0 -> 1.1 changes: New mistake detection algorithm - the player's block is now killed if they create gaps that can't be filled (Blocks around the player are no longer destroyed when they make a mistake). Added "Phase Shift" mechanic - After placing your block, if there are any spaces in the grid directly below it that can fit the block, it will be shifted downward. Added "Block Stomp" mechanic - Drop your block on another when it is in midair will stop your block from dropping and will force the victim into dropping until they hit the floor. Added Minimap. Added Number of players currently ingame to the landing page. Fixed line clear animation hiding the lines that replaced the cleared ones. More minor improvements and bugfixes can be seen here. I'd love some feedback!
  8. Hi, Infinitris - A massively multiplayer online falling block puzzle game, created using Phaser, React, Socket.io and Koa. Here it is: Infinitris.io Controls: Arrow keys and spacebar. Current Features: Classic .io style: Instant join - only specify your nickname and you're ready to play. Ingame chat (Press [Enter]) Grid that expands and collapses based on how many players are in the game. Horizontal wrapping when the grid is larger than the screen. Scoreboard Invalid block placement detection (needs work) Features to add: Spectator mode AFK detection Touch controls Minimap Mobile fullscreen Multiple game rooms Block collections and themes User registration to secure your nickname Facebook: https://www.facebook.com/infinitris Twitter: https://twitter.com/infinitris_io Blog: https://infinitrisblog.wordpress.com/ Please give it a try and let me know what you think! Pyre
  9. I explicitly set the mode to CANVAS (I'm just setting individual pixels on low-quality textures so didn't really require it, processing power is where I need to optimise ) I didn't have that rule - I added it to my Canvas CSS, unfortunately that made no difference. Thanks for the reply!
  10. Thanks for the reply! I tried setting that after switching fullscreen, and putting it in my game state's preload function. No luck, unfortunately :-(
  11. Hi guys, I'm making a pixel-art game so I don't want anti-aliasing on. Here's my code for toggling fullscreen when F11 is pressed: private toggleFS(): boolean { if (this.game_.scale.isFullScreen) { this.game_.scale.stopFullScreen(); this.game_.stage.smoothed = false; } else { this.game_.scale.fullScreenScaleMode = Phaser.ScaleManager.EXACT_FIT; this.game_.scale.startFullScreen(false); this.game_.stage.smoothed = false; } return true; } The fullscreen functionality works perfectly, except when I escape from fullscreen it sometimes turns on anti-aliasing. this.game_.stage.smoothed = false; doesn't seem to do anything at this point in the code. Does anyone have any suggestions? Thanks
  12. Nice game! In the PC version, when you drag your mouse outside the phaser window the air hockey puck stops moving, which is pretty annoying. I wonder if this is possible to fix... One other thing: Maybe add "points" to the end of here. Also it'd be nice if you didn't have to read a wall of text. http://prntscr.com/9jwswq
  13. Thanks for the reply. I tried with both an image and a sprite - the dirty flag doesn't cause a redraw at all. this.bmd.dirty = true; //placed instead of this.bmd.context.putImageData(this.bmd.imageData, 0, 0); Potentially a large portion could change in some frames, others little. So I need something that best suits both. - I guess by only updating those parts is just done automatically by only using setPixel32 on the pixels that changed, and phaser will handle the rest? Thanks again
  14. Hey guys, I'm wondering if there's a faster way to set pixels on an image. This seems to work OK but rendering is something that I'd really like to speed up if possible. Also, if I eventually only set pixels that changed, maybe I shouldn't be using putImageData to copy all pixels each frame? Any ideas or advice are welcome. for (var x = 0; x < this.map.width; x++) { for (var y = 0; y < this.map.height; y++) { var cell = this.map.cells[x][y]; var a = 255; var r = cell.r; var g = cell.g; var b = cell.b; this.bmd.setPixel32(x,y, r, g, b, a, immediate=false); } } this.bmd.context.putImageData(this.bmd.imageData, 0, 0);Thanks very much, pyre