Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
My Videos - Inspirations / Tutorials - Page 2 — Gideros Forum

My Videos - Inspirations / Tutorials

2

Comments

  • if a some code is in a function then it's not executed until the function is called.

    if it's not in a function then it's executed in the order that it's loaded.

    Likes: Ninjadoodle

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • Apollo14Apollo14 Member
    edited January 2018
    @Ninjadoodle! I found your profile on ArmorGames! I would say your game "One Button Bob" is absolutely awesome! :) It's one button simple, yet there is some special magic involved, atmosphere is very lovely :)
    Btw, where do you usually get soundtracks like this?
    You published some games on ArmorGames in 2016. Is html5 as dead as people say? Are you satisfied financially with publishing game on ArmoredGames in 2016?

    @Ninjadoodle could you make quick mini-series about coding simple game mechanics like in "One Button Bob", using Gideros?
    Many thx! @Apollo14 :)

    Likes: antix, Ninjadoodle

    > 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 (+2 / -0 )Share on Facebook
  • NinjadoodleNinjadoodle Member
    edited January 2018
    Hi @Apollo14 - sorry about the late reply! The holidays have been crazy with family stuff and some house renovations lol.

    I'm really happy you like One Button Bob - I'm looking at bringing it back this year and finally putting it on mobile (with more episodes etc.).

    I get all the music for my games from a site called opuzz.com, the tracks/CD's are pretty cheap considering they are royalty free.

    I don't think HTML5 is dead at all - in fact, in my view it is the future, as long as websites and the internet exist there will be some form of 'HTML5' and you'll be able to run games inside a browser etc.

    It is up to us to think of how to monetise it. As far as I know there are a lot of sponsors out there still dealing with / buying licenses for desktop browser games.

    Most of the time I find a couple of people to sell a non-exclusive license to. If you are willing to sell an exclusive license, you will find a lot more sponsors.

    I will definitely make a series about a One Button Bob style game, but first I wanna get through this intro series just to ease my self in and iron out a few of the issues (e.g. - crappy sound etc.).

    Hope this helps! If you have any more questions, let me know :)

    Likes: Apollo14, antix

    +1 -1 (+2 / -0 )Share on Facebook
  • NinjadoodleNinjadoodle Member
    edited January 2018
    Hi guys

    New Geeking with Gideros vid - Texture Packing

    New Inspiration Station vid - Pocket Puzzles

    If you want you can also check out some of the other vids on my channel :)

    Thanks!

    Likes: Apollo14

    +1 -1 (+1 / -0 )Share on Facebook
  • Nice one @Ninjadoodle. I feel you should have just used the default Gideros TexturePacker for your video since it is what comes with Gideros, and is free :)

    You certainly like puzzles don't you? I know who to pester if I ever need puzzles in my games :D

    Likes: Ninjadoodle

    +1 -1 (+1 / -0 )Share on Facebook
  • antix said:

    Nice one @Ninjadoodle. I feel you should have just used the default Gideros TexturePacker for your video since it is what comes with Gideros, and is free :)

    I couldn't find if Gideros Texture Packer has @2x/@4x settings?
    Or user himself should resize sprites manually before feeding them to Gideros Texture Packer?

    Likes: Ninjadoodle

    > 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
  • The Gideros TexturePacker doesn't do the @xstuff as far as I'm aware. You would need to manually resize (or auto resize if you have a program that does that) and make the different textures.

    Likes: Ninjadoodle

    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    It should not be too difficult to add this functionnality to Gideros TexturePacker.

    Likes: antix, Ninjadoodle

    +1 -1 (+2 / -0 )Share on Facebook
  • There is also the possibility of not bothering with that and have them auto-resize to smaller on loading.
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+4 / -0 )Share on Facebook
  • There is also the possibility of not bothering with that and have them auto-resize to smaller on loading.

    that could be one awesome possibility :)

    Likes: Ninjadoodle

    > 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
  • @antix - I think I'll do a bonus session with the Gideros Texture Packer, but it would be awesome to have it supporting the @xtuff as it really makes sense to me, and it's one of the awesome features of Gideros. I also use Texture Packer with other software like Panda, so it's I find it very versatile.

    @hgy29 - it would be cool if the Gideros Texture Packer supported @2x / @4x etc, otherwise I feel a little bit like it's not supporting one of the awesome features that Gideros has going for it :)

    @SinisterSoft - If this was possible without crashing weak devices on startup, that would rock!

    Likes: antix

    +1 -1 (+1 / -0 )Share on Facebook
  • SinisterSoftSinisterSoft Maintainer
    edited January 2018
    It was discussed a while back (may have been on slack), basically if you loaded a file that was set to bigger than the normal resolution, eg one with @4, then it would auto-resize on loading to one of the lower set file resolutions if needed (and if there was no lower resolution file) - it wouldn't be loaded into texture memory before this - so it wouldn't crash weaker devices (as long as the file would actually fit into normal ram).

    So you could then just include your biggest version and it would be ok. I suppose the texture.new command would have to have another parameter though to specify the resize system for loading - smooth or not?

    Likes: Ninjadoodle

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • Resizing on startup just depends on how long it takes to resize the textures I suppose.
  • Shouldn't take that long.

    Likes: antix

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • NinjadoodleNinjadoodle Member
    edited January 2018
    Hi guys

    I just put up a video about my favourite sound (effects and music) resources for game design. Hope some of you find this helpful :)

    Likes: Apollo14

    +1 -1 (+1 / -0 )Share on Facebook
  • @NinjaDoodle, nice one. It's freesound.org, not .com :D

    It would be good to have them listed in the text for the video too.

    opengameart.org has tons of sound effects and music

    freepd.com has a heap of free music

    newgrounds.com is interesting for music. There are many musicians there who are more than happy for you to use their music with attribution and links to their pages.

    I'm sure I have more links lurking somewhere :)

    Likes: Ninjadoodle

    +1 -1 (+1 / -0 )Share on Facebook
  • NinjadoodleNinjadoodle Member
    edited January 2018
    @antix - I always have to mess something up lol. I'll start putting all the links in the description tho, I always forget :)

    My two favs are opuzz for music and the universal sfx lib :)

    Thanks of the extra links!
  • It would be good if Gideros could generate 'analog'/'chip' sound effects live...

    Likes: Ninjadoodle, antix

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+2 / -0 )Share on Facebook
  • It would be good if Gideros could generate 'analog'/'chip' sound effects live...

    Now that would be something!
  • Hi guys

    New Geeking with Gideros: Scaling Modes is up, as well as a couple of Inspiration Station vids - Wizard of Wor and Scooby Doo: Mystery Inc.

    Thaaanks :)
    +1 -1 (+2 / -0 )Share on Facebook
  • FitWidth and FitHeight are my favorites :)

    Likes: Ninjadoodle

    +1 -1 (+1 / -0 )Share on Facebook
  • New Geeking with Gideros tut - Containers and Scenes

    Hope it helps somebody out there :)
    +1 -1 (+3 / -0 )Share on Facebook
  • @Ninjadoodle hey cool episoide. Do you think you might consider creating your own github repo for the projects in these tutorials? It would be good to just be able to point people to one place.

    Also for code have you thought much about things like readability? For example you have a global called pack which is good but if you called it PACK then you know (no matter which source file you are working in) that you are dealing with a global variable.

    Then inside code you can make that a local variable by using like local pack = PACK

    And for code (again) to save so much typing you could have for example something like this for the menu scene...
    Menu = Core.class(Sprite)
     
    function Menu:init()
      local pack = PACK
     
      local container = Sprite.new()
      self:addChild(container)
      self.stageContainer = container
     
      local bmp = Bitmap.new(pack:getTextureRegion("ball.png"))
      bmp:setAnchorPoint(0.5, 0,5)
      bmp:setPosition(160, 240)
      container:addChild(bmp)
      self.bmp = bmp
    end
    I find it always easier that way but you might have a different view.

    Anyhoo, good job man and look forward to next episode :)
  • Hi @antix - A Github repo is definitely something I've been thinking about, especially when I start actually using real graphics (not just a circle lol).

    But yeah, I'll be adding more code and stuff soon, so I'll set something up :)

    I like the uppercase method for globals, I think I'll adopt that. Normally I use very few but seems like a cool idea!

    Thanks for the tips btw!

    Likes: antix

    +1 -1 (+1 / -0 )Share on Facebook
  • Apollo14Apollo14 Member
    edited January 2018
    @Ninjadoodle you mentioned that you don't use GTween for fade-to-black effects.

    First thing that came to my mind is to write something like this:
    (but I think it's not the best option possible :) What option is better?
    --Creating black shape:
    local blackShape = Shape.new()
    blackShape:setFillStyle(Shape.SOLID, 0x000000, 1)
    blackShape:beginPath()
    blackShape:moveTo(0,0)
    blackShape:lineTo(application:getContentWidth(), 0)
    blackShape:lineTo(application:getContentWidth(), application:getContentHeight())
    blackShape:lineTo(0, application:getContentHeight())
    blackShape:lineTo(0, 0)
    blackShape:endPath()
    blackShape:setAlpha(0)
    stage:addChild(blackShape)
     
    --Start fading after 3000ms:
    function onEnterFrameFunc()
    	blackShape:setAlpha(blackShape:getAlpha() + 0.008)
    end
     
    function onDelayedCallFunc()
    	stage:addEventListener(Event.ENTER_FRAME, onEnterFrameFunc)
    end
     
    local timerDelayed = Timer.delayedCall(3000, onDelayedCallFunc)

    Maybe somebody could write a standart reusable class? Fading is needed very frequently for many people, I guess. :)
    > 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)
  • Hi @Apollo14 - Hey, I was talking about the default transitions that come with scene manager :) I don't use the default 'Fade' transition.

    I do actually use Gtween for my own transitions, because it's simple to setup and I also use it for sprite animations. I know that people say it's not the most efficient, but when using Gtween - I don't really make games with crazy amounts of sprites on the screen :)

    What you're doing there is a good option too and would work just as well imo.
  • Hi @Apollo14 - Hey, I was talking about the default transitions that come with scene manager :) I don't use the default 'Fade' transition.

    I do actually use Gtween for my own transitions, because it's simple to setup and I also use it for sprite animations. I know that people say it's not the most efficient, but when using Gtween - I don't really make games with crazy amounts of sprites on the screen :)

    What you're doing there is a good option too and would work just as well imo.

    uh, I'm sorry, you was talking about SceneManager, not GTween - my mistake
    > 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)
  • antixantix Member
    edited January 2018
    @Apollo14 forget Shape, use Pixel for your vignette..
    local blackShape = Pixel.new(0x000000, 0, application:getContentWidth(), application:getContentHeight())
    So many lines of code averted :D

    Likes: Apollo14

    +1 -1 (+1 / -0 )Share on Facebook
  • olegoleg Member
    edited January 2018
    Apollo14 said:


    Maybe somebody could write a standart reusable class? Fading is needed very frequently for many people, I guess. :)

     
    function speed_fade(sprite,alpha2,speed)
     
            alpha1 = sprite:getAlpha()
            speed=speed/1000*60
            sprite.fade = MovieClip.new{
                    {1, speed, sprite, {alpha = {alpha1, alpha2, "linear"}}} 
            }
            sprite.fade:gotoAndPlay(1)
    	function fadeout()
    			 sprite:dispatchEvent(Event.new("out"))  
    		end
    		sprite.fade :addEventListener(Event.COMPLETE, fadeout)  
    end
     
     
    ------------------
     --variant1
    self:addEventListener("out", 
    	function(e)	
    	    e:stopPropagation()
    	     sceneManager:changeScene("menu", 1,  SceneManager.moveFromLeft,easing.inBack)
    	end)
            speed_fade(self,0,300)
     
     
    ------------------
    --variant2
     
     
    local blackShape = Pixel.new(0x000000, 0, application:getContentWidth(), application:getContentHeight())
    self:addChild(blackShape)
     
    blackShape:addEventListener("out", 
    	function(e)	
    	    e:stopPropagation()
    	     sceneManager:changeScene("menu", 1,  SceneManager.moveFromLeft,easing.inBack)
    	end)
     
     speed_fade(blackShape ,1,300)

    Likes: Apollo14

    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
    +1 -1 (+1 / -0 )Share on Facebook
  • @antix @oleg - Awesome tips!

    @antix - I like the pixel method for setting up the fade ... just recorded a new tut using your method :)

    Likes: antix

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