Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat
Topdown RPG template — Gideros Forum

Topdown RPG template

GreywineGreywine Member
edited January 2017 in Step by step tutorials
Hi gang,

I just wanted to make everyone aware of a little tutorial series I started writing that went live last weekend. In it, I give the basic introduction to Gideros Mobile and TileMap. Tutorial #2, I believe, is the simplest way to program with TileMap. The examples that come with Gideros Mobile require pre-generated Tiled maps which not everyone will want to use.

Anyway, take a look and tell me what you think:


+1 -1 (+8 / -0 )Share on Facebook


  • antixantix Member
    Accepted Answer
    That's a good start. I started a RogueLike a long time ago and thanks for reminding me that I really want to get back into it :)

    HeadsUp: When I first started with Gideros I made my own tilemap scrolling class. It was very cool but did not handle scaling very well. I found in the end that using the supplied tilemap features in Gideros was best.

    I'm looking forward to seeing how you go about generating the dungeons. Are you going to use some existing code and convert it to Lua? or are you going to roll your own?

    This post on my blog roughly explains how I generate dungeons and has some links to the better articles I found on the subject. This is a sample of my generators output.

    I hope you have some plans for implementing a user interface, that's kind of important in a RogueLike. This is a small video showing my user interface. You'll notice it's totally influenced by Pixel Dungeon" ;)

    Anyway, good luck with the tutorials, and I'm always happy to assist where possible :)
  • antixantix Member
    Accepted Answer
    Oh, and learn to use "justify" on your blog. I found it makes the blog look way better than randomly spaced text all over the place. That's just me however, others might like chaotic paragraphs :D
  • john26john26 Maintainer
    Accepted Answer
    This is awesome! I will link it from our tutorials page if that's ok. Please continue and complete the series this will be very useful to other Gideros users.

    Likes: simwhi

    +1 -1 (+1 / -0 )Share on Facebook
  • talistalis Guru
    Accepted Answer
    Personally i also like the tutorial so much. I am looking forward to see the next chapter.
    Thanks for the contribution @Greywine . =D>

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • Thanks for the comments gang.
    I'll put the next tutorial up this weekend.

    Antix, I love your website. You made a lot of progress. My next tutorial was going to go over random dungeons. Did you post your code for the dungeon generation anywhere? If so, I can link to it.

  • @Greywine. Thanks. I made a lot of progress but the project seemed to be something that would take at least a year so I shelved it because I needed to actually publish something.

    I never posted my own generator, as it will be used in my game when I get round to working on it again.

    Look forward to the next tutorial in the series :)
  • Hi gang,

    My 8-steps to a roguelike is now complete. Hopefully someone will be inspired to create their own game using Gideros Mobile!

    +1 -1 (+5 / -0 )Share on Facebook
  • Thank you very much for this great tutorial. First of all i like the language of tutorial so much, headers and explanations. It is unique in a way that , i never become bored while reading it.
    My biggest kongoratz!
  • antixantix Member
    Accepted Answer
    @Greywine, great stuff man. You have really been busy! Some things that stood out for me were..

    In part two you use Dependencies to make sure constants.lua is available to other files as required. It would be better to define all of your constants in main.lua, or better yet init.lua (which is loaded even before main.lua) so all constants will be available on demand and you won't need to ever look at the dependencies screen #:-S

    The tilemap images you use aren't free for a commercial product. It might be better to grab some off opengameart.org (there are heaps of those "LPC" style graphics there) just incase somebody followed your articles and published their result on the play store :)

    Maybe it would have been better to start using classes for everything immediately instead of introducing them in part 4 and having to re-code a ton of stuff :(|)

    Related to the above, maybe it would have been better to introduce
    SceneManager from the start also ;)

    Where you start adding EnterFrame events to classes. In my experience it is more efficient to have each class have it's own update(dt) function and then have just one EnterFrame event in your game class which calls the update function of each class every frame. EnterFrame events (as well as others) really begin to kill performance when you begin to have many of them :O

    As with a few other things it would be better to use a TexturePack for all graphics right from the get-go because it really is the easiest thing to use. You don't need to have loads of numbers to fetch regions, just "GetTextureRegion("somefilename.png") :)

    Of course I know this is a beginner tutorial but it sort of does pay off in the end to show people how things "kind of should be done" so they don't end-up going down a dark path (sad attempt at a pun there) ;)

    I think it would have been great to introduce a small inventory and have a randomly generated item to collect in the map too. This I feel would have pretty much covered everything since after-all you are playing to kill monsters "and" collect loot ;)

    Looking forward to your next great tutorial man :bz
  • Antix,

    Great feedback and ideas. Inventory is the thing everyone asks about so it looks like I'll have to write another tutorial!

    I struggled with classes when I was learning. Too many selfs and self. and self: !? So I decided to teach it along the way so others may see how to turn straight code into class code. Hopefully they'll see it's actually pretty straightforward, but for beginners sometimes you just want to get something on the screen that works.

    Thanks again for the comments.

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • @Greywine, yeah I get that. I picked up the selfy business pretty quickly. Maybe classes could be introduced sooner to avoid re coding stuff en mass ;)

    I look forward to an inventory tutorial :bz
  • @Greywine When I have some time, I'll definitely take a look at your tutorial.

    Likes: antix

    +1 -1 (+1 / -0 )Share on Facebook
  • Nice Roguelike :smile:
  • Apollo14Apollo14 Member
    edited January 2018
    Tutorial is awesome! Thanks a lot!!
    Actually tutorials & documentation seem to be the only weakness of Gideros (I've seen a post somewhere on the forum that many plugins are undocumented, though I don't what is their actual state currently)

    Likes: antix

    > Newcomers roadmap: from where to start learning Gideros
    "What one programmer can do in one month, two programmers can do in two months." - Fred Brooks
    “The more you do coding stuff, the better you get at it.” - Aristotle (322 BC)
    +1 -1 (+1 / -0 )Share on Facebook
  • @Greywine for some reason I can't access domain programmingbymoonlight.com from my IP (, Kyrgyzstan).

    With Opera VPN turned on domain is accessible.

    Probably whole IP range is blacklisted by your hosting provider for anti-ddos' sake.
    (but it's not big deal, no need to change something)
    > Newcomers roadmap: from where to start learning Gideros
    "What one programmer can do in one month, two programmers can do in two months." - Fred Brooks
    “The more you do coding stuff, the better you get at it.” - Aristotle (322 BC)
  • talistalis Guru
    edited January 2018
    @Apollo14 you can check your ip for well known blacklists.
    When i run the analysis this IP range is listed in 2 lists. But it is not a big deal, those lists are so much dynamic, soon it will be normal again.
  • @Greywine Thanks for this tutorial. It got me up and running on Gideros in no time. The level of detail and explanation was exactly right. I also like that it was text, not a video.

    Likes: antix, MoKaLux

    +1 -1 (+2 / -0 )Share on Facebook
Sign In or Register to comment.