Posts

Automatically export your Godot project using Gitlab CI pipelines!

Image
Hey all! This is Tutorial about setting up a basic Continuous Integration Pipeline in GitLab In this video I'll: - Explain how a basic pipeline works for automating your development work - Create a Gitlab pipeline CI - To automatically create exports for all platforms - This will happen everytime you update your release branch (and you're ready to release a new version of your game) - Talk about how to extend this pipeline for automated testing - Show real world working examples of how you can use this in a team environment Please let me know any clarifications, questions or comments :)

Duck Typing and Interfaces in Gdscript and Kotlin: Advantages and Disadvantages

Image
Hey all, I'm sure you've heard the term "Duck Typing" thrown around in regards to Godot's gdscript. In this video I present a simple explanation of what it means and how flexible and powerful it is. I also do a quick comparison to other programming analogous programming concepts such as programming to Interfaces (Kotlin), and the advantages and disadvantage of using each.

Godot Tutorial: How to read all files in EVERY sub directory (Breadth/Depth first Search)

Image
Godot Tutorial: How to read all files in EVERY sub directory (Breadth/Depth first Search)     Hey all, So I was thinking of writing some automated smoke tests in Godot for a project I'm working on and I realized, I don't think I've ever done directory I/O in Godot. - The tools is so well integrated that I've never really had to mess with it yet. - I'm willing to bet many of you guys haven't either. - Don't worry it's easy, lets get into it. You'll learn: - How to read all files in a directory to process however you'd like - How to use Depth First Search - How to use Breadth First Search - The order that both search styles will traverse a tree Code From Tutorial: How to use: - Create a "Node" type of Godot Node    - Note in Video I used Node2D which is OK, but slighly better to use plain Node since no 2D coords etc are needed - Attach this script to that Node: https://gist.github.com/Razzlegames/28dcb74ba...

Programming Tutorial Bits: Kotlin Data Classes

Image
Programming Tutorial Bits: Kotlin Data Classes https://www.youtube.com/watch?v=Telif4fZtrs This is a great place to start learning Kotlin if you have even basic Java experience.  More videos to come. In this video we will learn:  How to use data classes in Kotlin.   How to decompile Kotlin code to understand what it provides  What Kotlin improves on from Java with data classes   We will also touch on Nullable and Non-Nullable types and what happens when we try to call a non Nullable type with null form Java (Oh noes!!!) Clarifications:  Auto Get and Set generation:   If the member is declared with var and is accessible to class users (not private etc) you have access to setters and getters - If it is declared with "val" this NO SETTERS are generated. "val" is essentially like declaring "final" in Java the world.   EXPERIMENT AND TRY IT OUT! :) !! Not-Null assertion operator I touched a little the ...

Creating a Fake Refraction, Bubble Shader for your 2D Godot Game!

Image
Video Version Asset Creation : https://www.youtube.com/watch?v=udbPym1JjkY&t=192s Shaders: https://www.youtube.com/watch?v=-W_2OzjnUl4 OK so you have that cool 2D Bubble Bobble inspired game but you want to add some modern flare?  Or maybe you just got some random pixel assets you'd like to experiment with adding fake "refraction" too?  I've got you covered!   Cheaters that don't want to read? You when you don't read this tutorial For cheaters, here's the code, right away, to play with : https://github.com/Razzlegames/GodotBubbleShaderTutorial Refrac-What? So what is refraction?  In simple terms light bends and changes direction as it goes from one medium to another. For example when it passes through water in a glass, it slows down and changes direction causing a distorted appearance to anyone looking through the glass.  Different materials have different refraction amount, and the angle and effect is more pronoun...

How to use Blender as a Box2D Platformer Level Editor [Tutorial]

Image
Hey guys so you want a level editor but don't want to build one yourself right? Who does? You basically need to create a entire tangential project, with full GUI editor and undo tree etc. Unless that's a goal of yours (selling etc?) you probably want an easier solution. Well folks, look no further than your good friend Blender 3D. The same tool you use for modeling crazy cartoon knights swinging swords and whatnot, can be your level editor for your 2D game. A Plan So how do we do this? What do we need? We need a output format that's easy to parse. We need to decide on attributes that we can assign meaning to (for box2D and our game) The texturing and vertex placement etc, comes for free since we're using a 3D modeling format :) The OBJ file format. Why OBJ? This is super easy to parse. You could use another format, if you're already using a parser (I recommend ASSIMP :) ), but for this tutorial, I'm going to use OBJ so you ca...

How to render Parallax Background and Foreground Layers Completely in the Shader [Tutorial]

Image
EDIT Oct 16 2014 : Changed precision to lowp for fragment shader. Consider using this as a default for mobile, unless you really need something better.  I saw a 2x speed increase on Kindle by doing so. Hi all! Here's a quick little diddy for anyone curious on a quick way to get a layered effect in your 2D game (note: we are still using 3D vertices): I did a little more progress on Hoarder Monkey   and I am happy to have parallax backgrounds working all in the shader and in 1 draw call per object type (static VBO, dynamic sprites, Semi-transparent VBO, semi-transparent sprites).  :) The background scrolling is all handled in the shader, and works surprisingly well.  I also do some color tweaking to make things a little darker in the foreground and blue-ish in the background: Notice the closest graphics are darker Notice the background objects are a more blue/white hue. In case your curious the shader code is pretty simple (as it should b...