Artyom Volkov

Ludum Dare 47

Source code of HONK 2

If you're interested in Godot Engine and you like HONK II, you can download source code here and make your own HONK II with goose guy and weapons!

gif_003s.gif

HONK II soundtrack

If you played HONK II and fell in love with its OST, you could listen to it on Youtube!

https://www.youtube.com/watch?v=zzS7f1bfppM

https://www.youtube.com/watch?v=OuCpzyG_ZH4

https://www.youtube.com/watch?v=WMpuSaYxSVo

Some fun facts about HONK and Titled Goose Team

Some people asked about the first HONK while seeing HONK II, you can play it here.

gif_004.gif

Some fun facts:

  • Original game was a joke, I was frustrated because of LD45 theme and decided to make something fun;

  • Titled Goose Team also was a joke based on "Untitled Goose Game" Eventually, it became a team name for game jams if I don't work alone;

  • Each game jam Titled Goose Team has a different people, except me.

  • @sava-tsurkanu is the second oldest goose in the team, he worked with me 2 jams in a row.

  • HONK II is closer to the initial idea of original HONK, but that time I couldn't manage to make such a game during Ludum Dare;

  • I'm pondering about HONK III (D) for Ludum Dare 49;

Art-team of HONK II

Many people noticed that HONK II has a pretty good art, however the game isn't nominated in Art. It's because we used free assets from www.itch.io. And let me introduce the art-team of HONK II, people, who did a great job making free 2D assets.

I adore everyone, who shares free assets on www.itch.io, thank you very much, you are my heros.

Honk2Logo.png

Our HONKastic team

Titled Goose Team is a team which I assemble every Ludum Dare and GMTK jam, when I don't work alone. It always has different people, and let me introduce our composition for LD47 and people behind HONK II.

  • Sava T — an excellent composer, he hasn't worked much with games so much, but he's passionate about composing music for games. He composed all music for the game and sounds;

  • Ruslan Seferbekov - junior game designer, he's my former student and eager to find work as a game designer in the immediate future. He made some art and worked on level design for levels.

  • Tricky Fat Cat — and it's me, I'm a professional game designer and love to code. I wrote all the bugs in the game and helped with the very first level as a game designer.

We hope you enjoyed our game — HONK II.

splash_team.png

Simple input manager for Godot

HONK II has gamepad support, but I didn't manage to improve it during the jam. However, I have special input manager, which is very helpful when you need to switch between different input devices on the go and when some of your mechanics have different logic for different input method because of their specifics.

Make this script autoload and enjoy. Hope, this code will be helpful.

``` extends Node

enum InputDevice { KEYBOARD, GAMEPAD }

const JOYDEADZONE : float = 0.3 const JOYID_DEFAULT : int = 0

var currentinputdevice : int = InputDevice.KEYBOARD var joyidcurrent : int = JOYIDDEFAULT

func input(event: InputEvent) -> void: if (event is InputEventKey or event is InputEventMouse or event is InputEventMouseMotion) and not iscurrentinputkeyboard(): currentinputdevice = InputDevice.KEYBOARD Input.setmousemode(Input.MOUSEMODEVISIBLE) Events.emitsignal("inputdevicechanged", currentinput_device) return

if (event is InputEventJoypadButton or event is InputEventJoypadMotion) and not is_current_input_gamepad():
    if event is InputEventJoypadMotion and (get_analog_right_direction(event.device) != Vector2.ZERO or get_analog_left_direction(event.device) != Vector2.ZERO):
        return

    joy_id_current = event.device
    current_input_device = InputDevice.GAMEPAD
    Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
    Events.emit_signal("input_device_changed", current_input_device)
    return

static func getjoyanalogdirection(joyindex: int, axisx: int, axisy: int) -> Vector2: if joyindex < 0: pusherror("Gamepad with index %s not found" % joy_index) return Vector2.ZERO

var joy_x = Input.get_joy_axis(joy_index, axis_x)
var joy_y = Input.get_joy_axis(joy_index, axis_y)
var joy_direction = Vector2(joy_x, joy_y)

if joy_direction.length() <= JOY_DEADZONE:
    joy_direction = Vector2.ZERO

return joy_direction

static func getanalogrightdirection(joyindex: int = JOYIDDEFAULT) -> Vector2: return getjoyanalogdirection(joyindex, JOYANALOGRX, JOYANALOGRY)

static func getanalogleftdirection(joyindex: int = JOYIDDEFAULT) -> Vector2: return getjoyanalogdirection(joyindex, JOYANALOGLX, JOYANALOGLY)

func iscurrentinputkeyboard() -> bool: return currentinput_device == InputDevice.KEYBOARD

func iscurrentinputgamepad() -> bool: return currentinput_device == InputDevice.GAMEPAD ```

HONKastic music

If you played HONK II and fell in love with its OST by Sava T, you could listen to it on Youtube or on Soundcloud.

https://www.youtube.com/watch?v=zzS7f1bfppM

https://www.youtube.com/watch?v=OuCpzyG_ZH4

https://www.youtube.com/watch?v=WMpuSaYxSVo

HONK II music live

A composer of HONK II Sava T recorded a video of him playing a music from the game! Hope, you'll enjoy it.

https://www.youtube.com/watch?v=utRC83GV1ng

Thank you for playing!

According to itch.io analytics HONK II has been played about 1 000 times in browser and has been downloaded about 129 times.

I appreciate all your feedback and all your submissions, you are all absolute legends!

gif_004.gif

My toolset for jamming

I didn't use much tools working on HONK because I always try to keep everything simple.

  • Godot Engine. I switched to this engine this winter and I'm happy about it. It's fast, light-weight and easy to learn and to use. Of course, it's not ideal and has its own downsides as well as other game engines. However, in my opinion it's the best for jamming.

  • Asesprite. Although I don't make 2D art and work with free assets, I use this tool to work with pixel art assets. I think, it's the best tool to work around pixel art.

  • Affinity Designer. In my opinion, it's the best vector editor in the moment, I've used it for 5 years so far.

  • GitKraken. I tried a lot of different git clients, and this one I love the most, the only alternative for me is terminal.

What do you want to do before LD48?

After each Ludum Dare I have some sort of ToDo before next jam. This time I have pretty huge plans, as I'm eager to: 1. Learn C++; 2. Learn 3D modelling in Blender; 3. Switch to 3D for game jams;

What do you want to do before next Ludum Dare?

HONK2 stats so far

honk2emstats/em201014.png

Thank you all for playing HONK II, it's so great to see that we managed to make an appealing game! Thank you!

Thank you for 250+ ratings

Thank you for playing and giving feedback everyone. You are absolute legends who encourage us to make better games!

splash_team.png

Ludum Dare 48

Here is my suggestions

I'm not sure if I'll be able to assemble Titled Goose Team, but anyway, I'm in, as usual.

ksnip_20210214-125056.png