Hi guys
My new game
'Lost Caverns'is up on the Play Store and the iOS App Store
https://play.google.com/store/apps/details?id=com.firecroc.lostcaverns&hl=en_GBhttps://itunes.apple.com/us/app/lost-caverns/id1045041311?mt=8&ign-mpt=uo=4"Prepare yourself and head off in search of adventure and forgotten treasure. Lost Caverns is an exciting 2D platform game that will test both your reflexes and puzzle solving abilities. Reminiscent of old school arcade platformers - but with a twist! Use your claw gadget to grab precious gems, gold and relics from within the Lost Caverns."Here's the trailer I made for the game:
Thanks to the forum regulars and posters here for the help making the game. I would have been lost without you.
If you give it a download, please let me know any bugs / issues. I only have one Android test device here.
Thanks!
EDIT: It's uploaded again and should be on the Play Store.
Tom
Comments
https://deluxepixel.com
https://deluxepixel.com
Yep it's Box2D. It has a few quirks when using it for a platform game but the stuff you can do with it is incredible. Used if for the collision detection too and it didn't seem to cause much of a hit.
https://deluxepixel.com
If you haven't already, I recommend integrating Crashlytics. It shows the actual lua error and speeds up debugging things like this a lot.
@SinisterSoft it's 60fps 99% of the time. Still get an odd dip but they are rare.
Likes: SinisterSoft
Can you explain more how you create the level. You have written an level designer for yourself or you have coded the level by yourself?
Sorry at the moment i work on my first / little game with gideros. But the power behind Gideros is so amazing.
Hello, yes Gideros is very powerful and stable. It's literally a pleasure to work with!
As for coding the Levels one of the things that can be tricky with Gideros is laying out large levels. My previous tools (Game Salad and then Stencyl) had a visual level editor. So I went looking for one with Gideros. The software that I've been using is:
https://www.iforce2d.net/rube/
This is a brilliant tool because you can have a small set of graphic assets and use them to create pictures (as they show on the website). You can position them, rotate them or scale them to build levels.
You can add images and also physics bodies to your game and then export the code from RUBE into your game.
While Gideros can read the JSON files that RUBE creates, I wrote a program in php that converts RUBE data directly into a lua table for your game. This is so your game doesn't have to use processing power to read the json file into a table each time it loads a level. It makes more sense to do it once yourself.
I wrote a bit about it here...
http://giderosmobile.com/forum/discussion/2346/rube-and-gideros/p1
BUT here's the process I used for this game. It's changed a bit since then.
1) Design the layout in RUBE
2) Export as 'raw' file format and upload that file into my little tool:
http://firecroc.com/json-to-lua/
3) In gideros, create a Level 1 Data.lua file in your game. You paste the output from the php tool into this file. It looks something like this:
4) You then need a class called rube.lua that reads this information and puts the sprites on screen in the correct position, scale and rotation.
This sounds pretty complicated but I'll include the exact source code from my game. It's pretty well commented and my code is really basic anyway.
The files I've included are:
1) Level 1 Data.lua - contains the code generated by my online tool.
2) Level 1.lua is a scene and this sets up the classes etc. It sets up Rube like this:
For example, rube.lua sees plain fruit.png and sets up the correct class:
Likes: GiderosFan, jeromegsq
Likes: GiderosFan, jdbc, jeromegsq
Also on Crashlytics, I am trying to add that at the moment. Looks very good (it's now part of 'Fabric'). I also noticed you can see the crash, and lua error, in the developer console. Are all crashes reported in the console like this?
In crashlytics most crashes are reported; some seem to kill the game beore Crashlytics can kick in, and some happens when you're offline. Not sure about developer console. In comparison they seem to be a lot fewer to Crashlytics, but do let me know of what you see!
Back to the game! Really smooth gameplay. Impressive! How did you do the character animations? The bitmaps look very smooth. Do you show them 100%, or do you resize them (or the game world)? Also (many questions!), how do you fill in the space between the terrain edges? A shape with a repeated texture?
Anyway, great work!
Niclas
The crash was down to this line of code:
For the character animations, I used Spriter - http://www.brashmonkey.com/spriter.htm for many of them. It can be a bit fiddly to get running but it's well worth it as the sprite sheets you need are tiny. (I've attached one below). From that you can have an animation with 100s of frames.
Probably a bit overkill but I was fascincated with Plants vs zombies and how those animations have so many frames.
The code I use to get the spriter files into my Gideros game is here:
http://firecroc.com/spriter-to-lua/
It converts the scml files into movieclips which can be added to the game. I'll also attach the php code to the bottom of this post. If you have a look into it, you'll see it's pretty basic but gets the job done.
I just show them low res or @2x depending on the device. Rather than using Gideros scaling, I've left the game at 'pixel perfect', and I'm leaving enough bleed around the edges of each level so that the terrain fills different sized screens
I'm aligning the navigation and interface elements using code, based on the device scale. I started the game when 480 x 320 was the norm, so using stretch made the already large characters look HUGE. Plus the graphics were stretched and looked a bit blurred. The down side is the game won't work as is on larger screens without some further work.
As for the large expanses of terrain, I started pasting loads of sprites of mud over and over then realised I could just use a shape texture, with a repeating texture inside (as you guessed!) Surprisingly you can scroll HUGE chunks of terrain around like this and not have any impact on performance (thanks Gideros!)
I'll attach my worm monster class, which has the converted data pasted into it towards the bottom. The sprites, rotations and positions are converted into a movieclip mc
Once it's in there, you can call the animations like this:
My online converter:
http://firecroc.com/spriter-to-lua/
Reads the scml file.
I should have explained what the fields are:
- Browse - selects the exported scml file from your hard drive.
- Scale, this needs to be 4x
To explain this - create your animation images at 4x scale. Eg a leg, a head, an arm. These sprites are imported and animated in spriter.
You'll also want to create a 1x, 2x, and 4x texture sheet of the sprites. (like in the zip file) below, for use in your game.
- Atlas is the name of the texture. In this case it's wormWraithAtlas (this step isn't necessary, it was just to save coding it in the game later)
- #Frames Animation[0] etc...
The animation can have between 1 and 5 sub animations. In my example I have walking, hit and die. These are on the right side in Spriter. Put the number of frames you want each sub animation to span. For example 100 for animation one will result in 100 frames animation in your game for the walk animation.
It's a bit of a clumsy way to do it, and it's a shame there's not a way to do it directly in Gideros, but it does work. Hope this helps.
Basically the scml file is just an xml document.
http://www.brashmonkey.com/ScmlDocs/ScmlReference.html
There was another implementation of it for Gideros but I can't find it at the moment.
Likes: pie
https://www.kickstarter.com/projects/1219798749/daydreamer-0
They did a nice video describing the backstory. Such beautiful gfx deserve some story telling element to make it really epic/moving!
I think this game has enough depth to do well on Steam also. While I was playing I kind of wanted to play it on a bigger screen with physical controls to really appreciate it.
Some improvements: I did have difficulty at first learning to use the hook, so more tutorial signs would be nice for that. I notice there are two hook control buttons, one a the top left of the screen and one at the bottom right. The latter works but the other seems to do nothing, so suggest removing it. I tried using the top-left one first and couldn't make it work. I also notice the hook doesn't always point where you expect. Eg if the character is pointing right and I touch the hook control it should point right until I rotate the angle, but often the initial angle is elsewhere causing the hook to apparently jump and have to be realigned. Should be just a case of initialising a variable.
Also, in Witches Lair (I think) the whole level is a circle with stuff inside. But the character can fall right off the sides and then he just stays there and can't be recovered. Better if he dies or put a barrier to prevent this.
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
Thank you for trying my app and for the feedback. Very much appreciated. I completely forgot about the left pad. As far as I know it's not possible to disable it (I'm using the superb TNT Vpad - http://www.tntparticlesengine.com/ ) So I moved it 200 pixels off screen. Of course this is no good as it shows on larger displays. I'll fix that now.
I'm also going to patch the other bugs you found. Thanks again. I'd love to make a game for Steam. I buy a lot of Steam games myself! Too many probably.
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
I never used TNT Vpad, but if the left pad is a Sprite I think that you can use these functions from @ar2sawseen's giderosCodingEasy to hide it
Likes: john26, hgy29
@Totebo - Thats funny because I was worried there wasn't enough content in the game. If I'm being honest there's only 12 stages at the moment, but I tried to add some value by having an impossible mode players can unlock. I guess if I get any downloads I will look into expanding.
I'm going for iOS next. I've put one game on there before but XCode and apple change so fast I'll have to re-learn a lot of it. Thanks again for testing out the game!
@hgy29 - I've yet to test on an ipad. It works ok on 7 inch tablets but I'll have to do a separate version to get it working on a 'full' iPad. The sprites are pretty big so I think they might look clunky and too large if I simply scale it up. Ipad mini should work fine once it's on the app store though.
I'm trying to wrap my head around which units work best in terms of smooth simulations.
Awesome work!
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975