Jonny Shaw

Members
  • Content Count

    74
  • Joined

  • Last visited

About Jonny Shaw

  • Rank
    Advanced Member

Contact Methods

  • Twitter
    digilocker

Recent Profile Visitors

1896 profile views
  1. Thanks Ivan! I was on 5.14 checked that this morning and was the same issue. Updated to 5.21 and all seems fine now on mobile
  2. Brilliant thanks Ivan, will take a look in detail first, it maybe something else that's causing the error on mobile and report back. Device currently testing on is a Samsung Note 8 (though will try others)
  3. Sorry to bump this but just wondered if this had improved significantly with V5, or an alternative approach is recommended? I noticed that masks seem to act slightly differently in V5 someway in their stacking order. A system I had set up in V4 for instance with a Kawase blur filter on a masked container that animated. The filter would also blur the mask (which was the intended idea) but with V5 only the contents of the container were masked. Also seems that using graphics for masks on V5 doesn't work on mobile for me? In a project I'm working on at the moment I have a scene with 5 masks that are simple rectangular graphics and the height of the masks is tweened on occasion. Because the graphics arent working on mobile two approaches I thought of... 1. Rendering all the graphics to a single texture on the fly and having that texture used as a single sprite mask. 2. Just switching the masks up for simple sprites and keeping the rest as is with 5 masks? Is there any benefit on draw calls for instance if I had to mix 1 with 2, ie having one rendered texture but using it as 5 masks as opposed to 5 separate images for the masks? Also was interested to see what @cursedcoder mentioned about pixi-heaven - is this still applicable with V5 as I understand pixi-heaven still needs a bit of work with 5?
  4. Hi all, I have a backdrop for a little game that I'd like to split into layers (with some particles between) nothing major probably 2-3 layers at max. The game is for mobile and file sizes have got to be as low as possible. The backdrop in question is not something that can be tiled or recreated with an atlas so I'll need to split it into a few largish images. png 32s' tend to be too heavy, 8 bit will probably lose too much colour information. I was wondering about instead using a larger jpg (eg the backdrop is 1920x1080) but maybe extending it to a square 2k, then using that with alpha masks from (colourless pngs) as an alternative (if that makes sense). I thought this way I could drop the size of the jpg more without as much degradation as a png would have (& have finer control). Hoping the colourless pngs wouldn't make as big of a hit essentially just being an alpha map.. Sounds a long way around a small problem, just theorizing atm & wondering if anyone had tried anything similar, noticed any peformance hits using masks v png or even found a nicer alternative? Cheers for any advice!
  5. Hi all, I'm on the lookout for anyone who would be interested in collaborating on the development of a few PixiJS based games. I've done a fair few now myself but I'm quite pushed for time, I'm more of a designer than a developer & have a small backlog of projects that could do with a helping hand. Ideally I'm looking for someone more on the development side with at least basic graphic design skills needed to take the assets from a psd into the game (prepping atlases, 9 sliced sprites etc), but if you can do more than that all the better! Going forward the games will mainly be built in es6/PixiJSV5, with animation through GSAP & Spine. Example of the type of project we'd be working on below... If you're interested, feel free to drop me a PM and can go over in more detail and discuss rates etc, Cheers!
  6. Hi does anyone know of an easy way to check gpu drawcalls either via the console or a browser plugin? Having a few issues with Spine performance on iOS/Mac and wondering whether it would be worthwhile to merge some atlases. Thanks in advance!
  7. Hah, yeah the thing is with these things, you code, you test, rinse repeat and after a while you lose all sight of whether it's actually any good or not 😆 With the lobby I really wanted to try and make it feel more like a full native game experience. It's not really important in a lot of slots I don't think, but with the needs of this for the leaderboard and IAP's it kind of warranted it really.
  8. Thanks taoprox! I worked solo on this so it did take a good few months in total. The casino has backend developers who were working on a framework that was built around the game, so they were there to help when I maybe struggling with something & of course the good folks on here too 😊 Artwork I generally find easier & always enjoy. Coding I have a very love-hate relationship with, love the eureka moments, but can often feel far & few between! 🤣
  9. Awesome thanks! Oops, not the best choice of screenshots I'll agree, the video is more for my portfolio than as a game trailer which is why it's presented that way. Have updated with more gameplay shots 😊
  10. Hi all, finished this commissioned slot game last year, but just sorting some bits out for my site so thought it maybe worth a post. Artwork & Animation I put most artwork together with a mix of 3DCoat, Blender and Photoshop to finish. Spine was used for the symbol animations, external shop & bonus round animations. GSAP was used for the UI and a few pieces in game. Development My background is more on artwork, but I have worked on the development side of things too, (I started off my freelance work as a UI Designer in Scaleform). Had worked on the previous two games for this client in PixiJS which were used as a testbed to learn the ropes. For the animation I really needed something tangible to work with, so it was decided I would put together a prototype for the game. There were a few things I would do differently now for optimisation, and have since changed in the next slot game I have been working on. PixiJS was quite easy to pick up, and felt very similar to as3 and Flash which I had used quite extensively before on Scaleform projects. One of the challenges I found in particular was that I wanted the game to be playable in both portrait & landscape. So all UI & UX had to conform to this, but was quite pleased on the solution I found for that. The UI was a bit more extensive than I think you'd normally find in slot games too, having leaderboards, a shop for bonus entry IAP's and a secondary UI for mobile deposits. Shoutouts Just want to thank all those on this forum that have helped me with a few things as well whilst I've been learning the ropes too - you've all been awesome and the activity on this forum I find quite incredible! Links Behance Post Prototype Demo Video
  11. Hi all! I've been floating around the forums for a few years now and didn't realise I hadn't posted a plug in here! 🤣 I'm Jonny Shaw, 35, & a freelance artist & designer, based in West Yorks, England. I have a background starting in UI design, but more recently have worked in 2D, 3D, animation, sculpting, & development too. Lately I've mainly been working on a lot of casino games, which also led into development with PixiJS, Spine & GSAP. The last of which ended up being a full game prototype (just minus the comms). Always on the lookout for interesting projects, so if you feel like my work may fit the bill, don't hesitate to give me a holla! Cheers 🍻 Jonny Shaw Website | Facebook | Behance | Artstation
  12. scrap that! had another look .uvs property has changed to regionUVs, works perfectly now! updateRewardFlag(bonusAmount, flagNumber){ window.Game.flags.createFlag(bonusAmount); let meshTexture = window.Game.flags.latestFlag(); let num = this.monster.skeleton.findSlotIndex('rag1'); let slot = this.monster.skeleton.slots[num]; let attachment = slot.attachment; console.log(attachment); attachment.region.texture = meshTexture; attachment.updateUVs(); if(slot.currentMesh) { console.log(slot.currentMesh); slot.currentMesh.texture = meshTexture; slot.currentMesh.uvs = new Float32Array(attachment.regionUVs); slot.currentMesh.dirty = true; } }
  13. Hi sorry to bump this, but was something I've just been trying out and haven't been able to get it to work if anyone could help? Is this the correct way still to do this. I have an animation of a character with 3 different flags waving (as meshes) and need text on those flags, so thought it would be good to try and renderTexture out dynamically with the base png and text on top, then replace. rendererObject no longer seems to be a property - but have found texture under "region". With the below the texture doesnt appear updateRewardFlag(bonusAmount){ window.Game.flags.createFlag(bonusAmount); let meshTexture = window.Game.flags.latestFlag(); let num = this.monster.skeleton.findSlotIndex('rag1'); let slot = this.monster.skeleton.slots[num]; let attachment = slot.attachment; attachment.region.texture = meshTexture; attachment.updateUVs(); if(slot.currentMesh !=null) { console.log(slot.currentMesh); slot.currentMesh.texture = meshTexture; slot.currentMesh.uvs = new Float32Array(attachment.uvs); slot.currentMesh.dirty = true; } } if I comment out as below it does appear but massively out of scale and rotated. updateRewardFlag(bonusAmount, flagNumber){ window.Game.flags.createFlag(bonusAmount); let meshTexture = window.Game.flags.latestFlag(); let num = this.monster.skeleton.findSlotIndex('rag1'); let slot = this.monster.skeleton.slots[num]; let attachment = slot.attachment; attachment.region.texture = meshTexture; attachment.updateUVs(); if(slot.currentMesh !=null) { console.log(slot.currentMesh); slot.currentMesh.texture = meshTexture; //slot.currentMesh.uvs = new Float32Array(attachment.uvs); //slot.currentMesh.dirty = true; } } Any ideas greatly appreciated!
  14. perfect thanks, will stick to Container for now then, and try the other approach if I see any drops
  15. that's awesome thanks Ivan, will take a look at trying that out once this project is done, but might have to hold on for that one as I'm a bit behind already. For the moment I can either have 1 normal container for both emitters, or use 2 particle containers for each with one set to add. For now any idea on which of the two options may give better performance?