• Content Count

  • Joined

  • Last visited

About dhaber

  • Rank
    Advanced Member

Contact Methods

  • Website URL
  • Twitter

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

778 profile views
  1. dhaber

    Using spritesheets from OpenGameArt.org

    Shoebox definitely works, but if you wanted something a little lighter, I made a web based spritesheet tool that can do this as well: Leshy SpriteSheet Tool To do the remapping, drag and drop the spritesheet or texture atlas onto the page. If it is a perfect grid, the "Grid Remap" button can extract the sprites. Otherwise, the "Remap" button will find the sprites in the image. You can then use the "Prev" and "Next" buttons to cycle through the sprites and name them. After everything is named, choose a filename and format. I'm not certain which is best in Phaser, but JSON-TP-Array and JSON-TP-Hash formats are based off of the Texture Packer array and hash JSON formats, and at least one of them should work fine. The "Save" button will save the new sprite mapping. You can also remove sprites from the sheet, repack, etc. Here is a demo video: (A remapping example is done at 3:31.) https://www.youtube.com/watch?v=X67qLM8WcvE Shoebox is a good choice, but I just wanted to throw this out as another option for quickly building the mappings without leaving the browser.
  2. dhaber

    HTML5 to apk

    To add a couple more to the list: CocoonJS is extremely easy to use, has an accelerated native canvas, native box2d, and built in APIs for various phone features. They also have APIs for monetization and social networks and provide some analytics as well. The downsides are that it is a commercial offering, and at some point they may start charging for their service. Also, building requires uploading to their site and waiting for it to complete, which in my experience usually takes less than 5 minutes. I've never tried it, but Amazon also has their solution, though I'm not sure if they give you an APK, and it probably won't work for Google Play. It may just take a zip file (like CooconJS) and provide mechanism for testing it and submitting it to their app store. Here is a recent blog post about it from their app store developer blog.
  3. Thanks for the feedback. Nearly all the feedback I got from play testers as well was that the game was too difficult, so I made some changes: Arcade physics instead of realistic physics. Clicking now clears the downward momentum before applying the force, so that you always gain the same amount of distance for a click.Less rope. The package is now tied to the drone with a shorter rope, resulting in less wild swinging and making the player a little smaller.Less time between clicks. You can now add lift every 400ms instead of every 500ms.Less lift per click. Each click gives you a smaller push than before, so that it is easier to control and maneuver.Collision box fix. The fire ball's collision radius was too big. Now it lines up properly.It is still a very difficult game, but this seems to make it a fair amount easier. I have no doubt people will still tell me it is too difficult, but I'm hoping this is a better balance. More information about the updatePlay the game (Be sure to reload the page to make sure you have the latest version, and not a cached copy) Thanks again for the feedback!
  4. I've considered changing that a little. Over the course of development I got used to it, but there is an oddity that I'm guessing makes it very different than Flappy Birds. When you click, force is applied upwards, but your downward momentum is not removed, and so the faster you are falling the less you will rise. This is subtle and it is probably essential to understand to make it through some of the areas. I'll play around a little, but maybe if I disable that, lower the amount of force a little, and slightly raise how often you can apply force, then it will be a bit easier. Thanks for the feedback. I am tempted to make the change, because I keep seeing people try the game and give up too soon. I really want see some people beat the game.
  5. I agree with you, I'm not much of a Flappy Birds fan myself either. I tried to make it a little different and add some variety to spice it up, but at its core it is an intentionally difficult game with flappy-like controls. It seems like most people who have been trying it give up after the first bird or second volcano, which means most people probably aren't that into flappyesque games either. It actually was much harder before. I had a few people play test it at the game jam, and after watching I kept making it easier and easier. Last night I made some final changes to make it far easier. It is probably still too difficult, but I'm really hoping that somewhere in the world a Flappy Birds lover finds this game and actually makes it to the ending. I know they exist. Someone at the game jam showed me his high score on Flappy Birds on his phone, and it was over 400. (EDIT: Apparently youtube shows people getting far beyond that. It amazes me that people keep playing.)
  6. Yeah. It was HOGJam #5, put on by HouseOGame and Amazon. The theme was fire, and that is why there is so much fire. It was a good game jam with a great space, and it sounds like they may be planning more, so hopefully I'll see you at future ones. The game is named Amazon Delivery because it takes place in the Amazon, and makes no reference to the company that happens to be named Amazon.
  7. Last weekend I was the programmer on a team at a local game jam. We made Amazon Delivery, a game where you control a drone in the jungle and must attempt to deliver a package while avoiding obstacles. The game play is some what inspired by Flappy Birds (sorry!), but with varied obstacles, some different dynamics, and a proper ending. I used my own engine to make this game. I also used Box2dWeb for the physics, and TimelineFX to create some sprite sheets of the fire and fire balls. The audio is procedurally generated with SFMaker. We had most of the game completed in about 10 hours, and I'm pretty happy with how this turned out. Play Amazon Delivery (For the time being, this is Chrome only. It works less perfectly with other browsers or with mobile devices.) For a little more information on the game, see HERE. I did make a build with CocoonJS for the Amazon FireTV. I found that both that and an Android phone almost worked, but Box2dWeb occasionally caused performance issues resulting in jittering. Also, some of the audio didn't play on the Android versions. I'm not sure why that is. CocoonJS was a pleasure to work with, but I didn't really see any performance improvements over the mobile version of Chrome. I remember seeing that they had native Box2d support, and I'd like to try that out someday. That might fix the performance issues. As for the audio issues, I am using SFMaker as a library to procedurally generate the audio on load, and so switching to audio files could probably remedy all of those.
  8. Leshy SpriteSheet Tool does bin-packing when you add images, which is fine for texture atlases, but not as ideal if you are just trying to append images into a sprite sheet of perfectly even cells. Bin-packing tries to keep the new image square as well, which is undesirable for that. If you are up for command line tools, the way I do it is with ImageMagick. For example: convert player*.png +append player-spritesheet.pngThat will take all files named player*.png and append them horizontally into a new image named player-spritesheet. You can do "-append" instead to make it vertical. This is useful in combination, for example to add another row to the sprite sheet. For example: convert player*.png +append player-spritesheet.pngconvert enemy*.png +append enemy-spritesheet.pngconvert player-spritesheet.png enemy-spritesheet.png -append final-spritesheet.pngThat will create a player and enemy spritesheet row, and then append them together into final-spritesheet.png, each one as a single row. These types of commands work well in build scripts or Makefiles, if you are into that style of doing things. If you are on Linux or MacOS, this can be done through a terminal easily. On Windows, it should all work well through Cygwin. I know not everyone is into command line tools though, so there may be some better suggestions for those that prefer a graphical interface. Once you have your sprite sheet built, then you should be able to load it into Leshy SpriteSheet Tool to further edit or create an atlas or map, or into Leshy SpriteSheet Animator to create and test out animations using the sprite sheet. EDIT: After writing this I was just looking at the ImageMagick docs, and you can actually finely control a lot more details. You could definitely write a one liner to build a complicated sprite sheet of any dimensions. For example, the '-tile' parameter can specify the grid layout. For lots of example usages, see the ImageMagick montage documentation.
  9. dhaber

    Need help moving from spritesheets to atlases

    I just pushed an update to the web that adds the "Grid Remap" button to Leshy SpriteSheet Tool. This makes it possible to easily work with perfect grids. It is a little late and I did this quickly, so I'm hoping I got this right. Also, hopefully that helps with the original problem here. If anyone sees any issues, please let me know.
  10. dhaber

    Need help moving from spritesheets to atlases

    I'm the author of Leshy SpriteSheet Tool. I actually needed similar functionality a couple months ago, and so I implemented it into my development version. I added a "Grid Map" button that lets you define a height and width, and then creates a new map breaking down the entire sheet into rectangles of that size. From there, it is a texture atlas and you can name everything, add or delete images, repack, export sprite maps, etc. If it is useful I could attempt to put together a quick release and get that functionality into the version on the web. It may take me a few days to find the time. As for which exporter to use, someone else may know better, but I think Phaser supports what I call JSON-TP-Array in the SpriteSheet Tool. That is a format based off of TexturePacker's JSON array format. I'm not sure about the Phaser side of things though.
  11. I like what you are doing here, but base64 greatly increases the file size. I experimented with something similar, but I haven't had the time to do it properly. The proof of concept did work though, and I think it may be a good approach. My technique was to store all the assets in a single PNG file as data. (Meaning, not an image you'd want to look at.) This gives you a single file that is compressed and has everything you need for the game. You do need a javascript loader for it as well, but each game is stored in a PNG, and the same loader can load any game. You can do all sorts of obsfucation and encryption as well, but since the files do need to be unpacked to be used, I don't think there is any way of really keeping the assets secure.
  12. I'm not sure how rock solid it is these days, but I've always detected this by searching the navigator.userAgent for the string MSIE. For example: var isIE = (navigator.userAgent.indexOf("MSIE") != -1);
  13. I wrote a blog on some of the many JavaScript projects that I've worked on over the last few years that have not made it to release. Most of these are related to browser based game development, and so I thought it may be of interest to some people here. Read the Blog Post Here These were all made with my own toolkit and game engine, and all the games are canvas with the 2d context. I'm switching gears from working on piles of small projects to one big gamedev project now, and I wrote this post as a way of sharing updates and glimpses into projects that for now are on hold.
  14. dhaber

    What type of license is Babylon?

    If I understand correctly, the Apache license is fairly liberal. I think you can do nearly anything (including selling the software,) so long as you meet the terms of the license. These terms include maintaining copyrights, attributions, the license itself, and other notices. I don't think you need to share your modified source either. Here is a FAQ that may clear it up: http://www.apache.org/foundation/license-faq.html
  15. dhaber

    What type of license is Babylon?

    It looks like Apache 2.0. The answer is on their github page: https://github.com/BabylonJS/Babylon.js