Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Justo Delgado

26
Posts
8
Followers
5
Following
A member registered Aug 25, 2015 · View creator page →

Creator of

Recent community posts

Hi! Thanks! yeah, the elevator game is quite buggy, ran out of time to fix it properly. Sorry!

The source code is in the page if you want to check it out (cooker/Fruit.gd) but, basically, each fruit is a Polygon2D (it doesn't need to be one but it's easier this way) and the knife has a polygon too. Then you need to clip those two polygons to get the parts with Geometry.clip_polygons_2d(fruit_polygon, knife_polygon) that will give you 2 or more polygons. After that you need to set the correct UVs for those polygons with:

        var poly = splitted_fruit.get_poly()
        poly.polygon = points
        poly.texture = Poly.texture
        var half_size = poly.texture.get_size() / 2.0
        var uvs = []
        for j in points.size():
            var vec = (points[j] + half_size)
            uvs.push_back(vec)
            
        poly.uv = uvs
Which basically moves all the UVs to the correct position in the splitted polygon.
This way you have them splitted, you can add them to a RigidBody2D and apply some forces (like I did in the game) so they fly out of the screen.

Hi! Thanks! I wanted to use the localization features of godot that's why I tried to do it in english and spanish. The idea was to have it in french and italian too but I don't know any of those languages and ran out of time to find anyone that could help me with them

Hi! Thanks! Yeah, about the audio issue..... I had it disabled in the editor and forgot to enable it before making the exports! I've fixed it and it should work on all platforms!

............ I'm dumb......... I had the audio disabled in the game itself! XD It does work on both Chrome and Firefox... Sorry!

............ I'm dumb......... I had the audio disabled in the game itself! XD It does work on both Chrome and Firefox... Sorry!

Hi! Thanks! Sorry about the sound :( I knew it wasn't working on Chrome for some reason but Firefox was working correctly on my end. Dunno... the game is using a beta version of the engine so maybe some bug or something? 

Hi! Thanks! Sorry about the sound :( I'm not sure why it doesn't work on Chrome and, sometimes, on firefox too. Maybe an engine bug? The game is using a beta version. I'll look if there's an issue opened or open one myself once I have some free time!

Oh I see, thanks! Well, I'll leave it up but with a note that says it doesn't work. Maybe some people have some success running it.

Hi! Thanks!

I tried to do a minigame per day but the proposal one (the final one) took me longer than I was expecting. It's also the most polished one so there's that.

Hi! Thanks!

Not sure about the audio issues. It looks like the HTML5 version running on Chrome doesn't play any sound but the Windows version should work just fine. Sorry about that!

Hi! Thanks!

Not sure about the audio issue, were you using the HTML5 version?  I only tested on Firefox and it worked fine but on Chrome it doesn't work :( Oh well, sorry about that!

Yeah, I ran out of time to add anything to the text part. I wanted to add it but I started adding that feature 30 minutes before the deadline and I still had to write and translate the text itself. Yeah, I speedrunned that part.

You are right, the proposal minigame is a bit tedious, I should had toned it down a bit.

Hi! Thanks! Sorry about those issues. The HTML5 version is a bit finicky for some reason... I'm not sure. It sometimes works fine and anothers doesn't.

About the MacOS version, it might be broken indeed. I first exported it from a mac and godot gave me the option to export it as a .dmg file but after that I used a Windows machine (which doesn't give you that option) and forgot to change the output file. I'll try and update it later.

Thanks!

Thanks!

Thanks!

Thanks!

Thanks! I kinda ran out of time for adding more sounds or more varied sounds because I didn't have the full 48 hours to dedicate to the game but I totally agree!

You can't throw the sticky notes out the window though! You only have one finger and the car only has levers, it would take ages to lower the window!

Thanks! It took me a few hours to come with the idea but I think it was worth it

Thanks! Right now I don't have any plans to continue development. Maaaaybe in the future, who knows?

Hahaha, thanks! I had to tone it down while developing it because it was driving me crazy too!

This is less of a hack and more of "I'm too lazy to do it the right way"

I'm using Godot for my entry https://mrcdk.itch.io/only-one-finger-driver-mark

Godot UI system is really powerful (the Godot's editor is made with the same UI parts you have access in the engine) so  I used them to create all the "GUI" elements in the game. My game gimmick is that you only have one finger so I wanted the cursor to be that, only one finger. Each UI element in Godot has a property to select the mouse cursor it will use (the arrow, the pointing hand,...) when you are interacting with it. Because my game uses a lot of those elements, changing the cursor mode to each one would take a while... unless you are me and do this in a autoload/singleton (in Godot, a node that loads at the beginning before the scene is loaded and is always loaded) :

func _enter_tree(): # a function called by the engine when the node first enters the scene tree
    # set the default cursor to pointing hand
    Input.set_default_cursor_shape(Input.CURSOR_POINTING_HAND)          # load a custom graphic for the cursor          Input.set_custom_mouse_cursor(preload('res://assets/hand.png'), Input.CURSOR_POINTING_HAND, Vector2(17, 5))
    # connect the scene tree "node_added" signal to the function "_on_node_added"
    get_tree().connect("node_added", self, "_on_node_added")
    
func _on_node_added(node): # the function connected to the scene tree "node_added" signal
    if node is Control: # if the node added is a Control (base class for all UI elements in Godot)
        node.mouse_default_cursor_shape = Control.CURSOR_POINTING_HAND # Set its default cursor to be a pointing hand

Part of https://github.com/mrcdk/gmtk_gamejam_2019/blob/master/Globals.gd
This way, I made sure that the cursor will always be the pointing hand one and didn't have to worry about adding new UI elements.

Another "I'm too lazy" moment was inputing the text in the fields. I really didn't want to code an input field from scratch... so... I created fake input key events when clicking on the on-screen "keyboard" buttons here https://github.com/mrcdk/gmtk_gamejam_2019/blob/master/Keyboard.gd and blocked all the input events that came from the physical keyboard:

func _input(event):
    if event is InputEventKey and not event.has_meta('fake'):
        get_tree().set_input_as_handled()

Part of https://github.com/mrcdk/gmtk_gamejam_2019/blob/master/Main.gd
Notice how I set metadata in the fake key event I generate in keyboard.gd and only consume the input key events that aren't marked by that metadata (all the ones triggered by the physical keyboard) 

So, some explanation on how this work. In Godot the input event system has the following flow explained in the documentation. As you can see, first the _input() function will process the event and, if the event isn't handled, then the GUI input will process it. Because I'm dealing with GUI elements, if I handle the input event in an _input() function I'll be sure that the event won't reach any GUI element. Put 2 and 2 together and that's how I did it.

This is mine https://mrcdk.itch.io/only-one-finger-driver-mark Using Godot 3.2 dev. The source code is in the description :D

Hi! thanks for the comment! The controls are, indeed, a bit painful to deal with but changing them would void the theme of the gamejam (or my interpretation of it)

hehe, thanks! :D

Yeah, it's annoying by design. I had a more annoying version of it in my head (like you lose if you crash once) but I toned it down because it removed the bit of fun that the game had. Thanks for the comment!