QueenOfSquiggles

Ludum Dare 49

I'm In!

I'm in, all of my votes are in too! :smile_cat:

I'm going to be using: * :robot: Godot (with plugins:)
* :openfilefolder: Aseprite Wizard (pixel art imports)
* :speakinghead: Dialogic (dialogue)
* :paintbrush: Aseprite
* :musical
keyboard: LMMS (default synthesizers)
* :musicalnote: Maybe SFXR
* I can do a lot more with LMMS but SFXR is easier so IDK yet :stuck
outtonguewinking_eye:

I know I want to do a 2D pixel art game because that's my strong suit. I'm hoping to ride the line between small enough to complete for a jam, but with enough possibilities that I can grow the game after the jam is complete.

Good luck everyone! :fist:

"Bugfix" Rule Question

So I recently learned that I can make bug-fixes for your submission and it's still all good for your submission. For my game, I made animations for a bunch of things in my game using Aseprite, and used a plugin for Godot to import the animations properly. For some reason it wasn't working at all so just now I found a different plugin that successfully imported the animations so all of the animations are working now. Would this version of the game be valid for the competition? Would anyone care that much?

Thanks for any advice!

Ludum Dare 51

My entry, why it won't get a ranking, and why I'm happy with that

I entered Ludum Dare as a "last hurrah" before locking myself down into proper and profitable endeavors. My plan was to build out my portfolio as best I could before I graduate this May. I had a few projects that I've seen as good portfolio builders for someone wanting to get into games. Specifically a game development tool. I wasn't sure what I would make, but since I love Godot, it was probably going to be some kind of Godot tool, likely for the kinds of games I like to make.

But then Ludum Dare came around, and the theme was announced, and I was brainstorming with my (romantic, non-developer) partner. And we came up with the idea of a programmer puzzle type game. That's how This Metal Heart Still Beats came to life.

I had the brilliant idea to make a simple scripting option. I was originally planning on using MoonSharp (C# Lua embedding library) to run Lua scripts that the user wrote. But then the C# builds of my game wouldn't run on the web and I didn't have time to debug it. I switched to GDScript and starting thinking of ways to make the game but without Lua. I realized there is a Graph-Node system built-in to Godot that I could lean on. I just needed a way to translate the node connections into meaninful actions, so I laid the groundwork and put it together as an "event" based system. The idea was events would trigger and the event nodes would receive those events. Then the chain of connections would execute their actions. I had to parse the execution order into something meaningful so I made a basic command system for the back-end that could parse into calling specific functions on the character.

And after the compo, I was able to see that I had just made a scripting language. Sort-of, it was not "complete" and it was quite limited. But it was the start. I knew roughly how to make a scripting language.

I knew that Godot 4 was going to be removing the old VisualScript language and hopefully finding a better solution. So I decided to be the one. I felt that I could do a good job and got down to it. It was called "Choreographer", a mutual on twitter recommended "c11r" for short. It was originally going to be a simple Godot C# addon, but as I got deeper and deeper it eventually became a C++ module for the engine, almost on-par with merging into the engine code itself. But this lower level control let me register the script as a standard language, and file type, and hook into the debugger. It let me write more performant code because it was running compiled C++ instead of C# or worse GDScript (similar to python if unfamiliar).

So here I am, working on a tool, originally planned to be a portfolio builder, now turned passion project, and I still was unemployed, currently a student, and generally down on my luck. But I believed (and still do!). I believed that this project was going to be worth it. I obsessed over all the information I could. I ran a research campaign to get a feel for what the community was interested in. And I looked at the various reasons that the old VisualScript was removed in the first place. And I came to a conclusion that I feel only more experienced developers can. Tools should be specific to the project they are for. That is why so many custom tools exist, and why they sell so well on asset stores. Godot itself is incredibly general purpose. You can make games, software tools, and soon even cinematics. It is powerful in part because of how general purpose it is. And the older VisualScript tried to keep in line with this vision, but became indistinguishable from traditional scripting because of this. I believe that visual scripting should be high-level. It should have specific functions related to the project. Because of this, I realized I needed to have a scripting option that was first-and-foremost, easy to extend for any skill level. I have experience with visual scripting in Unity and Blender, generally with shaders. Godot has visual scripting for shaders as well, but I found writing them out easier to work with personally.

My plan is to make the language extendable in three key ways: - Custom Nodes - Sub-Graphs - Composition

For custom nodes, they would have to be scripted in a traditional language supported by Godot. But this would give them as much power and customization as any experienced programmer would need.

For the sub-graphs, it would be an easy way for any developer to reduce complexity in their visual scripting by turning a segment of their graph into a single node they can use repeatedly.

For composition, this was what felt perfect. Godot uses the "Design By Composition" principle really well and this would continue to play into that. A free-floating node could be added to a graph, and itself would be saved elsewhere as a different graph. And the graph would "inherit" all of the event receivers in the composited graph. And they could be overridden on a case-by-case basis. Or even be called specifically to provide macro functionality. This would let a more experienced developer create a useful collection of reusable code, while allowing a less experienced developer to drop in functionality they want and just change what needs to change.

And if you can't tell by now, I am brimming with excitement over this project. I shouted it to the world and I desperately want to make it a reality. And I'm getting closer to making it a reality every day now. Thanks to some generous donations I'm able to keep up development full-time without needing to find a job elsewhere.

So you can imagine that I completely forgot about Ludum Dare, and that I needed to actively engage to get a ranking. But I wonder if I even want a ranking at this point? As I write the clock is counting down, but I already got what I wanted. I got my prototype. I know what I want to make and how incredibly awesome it could be. I'm happy without a ranking, because even if it got dead last, I know it is exactly what I needed that weekend. It got me to dream again, and this time the dream leaked into reality and I'm just living in it every day.

Thank you for reading my lengthy post-mortum(?). I figured if I'm not getting a rank anyway, it doesn't matter much when I do it. This last Ludum Dare has been a joy to participate in, and I hope you all got what you wanted out of it. Maybe I'll join again next time? Or perhaps I'll be busy getting this new project stable enough to use. Perhaps I could even use it for a game jam someday? That would be something wouldn't it? Take care y'all!


If you want to learn more about c11r, I'd say go to my Twitter. I have a pinned thread with all kinds of info about it.

Ludum Dare 54

I'm in woop woop!

I'm pretty excited for this Ludum Dare! It feels like forever since I've done a game jam!

My tools and resources

For this time around I'm going to be using my stdlib: - Godot (4.1.1-Mono) - C# - Krita - LMMS - (Various SFX libraries I've found on Itch)

A new addition to which will be a custom Godot framework I've been developing rather actively that I call Squiggles Core 4X (SC4X). It's a fairly robust framework that is free and open source and it sits inside of a Godot project (crucially not as an addon) and provides a ton of extra functionality such as accessibility settings, menu management, and configuration of many different sub-features.

https://github.com/QueenOfSquiggles/Squiggles-Core-4X

If you're worried about that being against the rules, both Jam and Compo allow you to use any tools or libraries. And this framework is much like a library in many ways. Also it's not like it's a private framework, anyone else is free to use it as well if they so like! I've even gotten a documentation website up and running for it with some basic info.

Wanna play a game?

A little tradition I've made for myself is to come up with a particular "bonus challenge" for myself. The first few times I did Ludum Dare the challenge was "be reasonably healthy while competing" but now that I'm more experienced I've focused this challenge for the actual game.

For this ludum dare I'm taking the challenge of making my game 2.5D. I've only ever done one 2.5D game before, and that was many years ago and in Unity on top of everything.

Closing

I hope everyone can have fun this time around! I'm really excited to see what everyone makes! Good luck to y'all!

Cross-Platform Rating Exchange

Hey y'all! So I use Linux as my computer's OS, so there's a lot of games on here that I can't really play & rate since they're only built for windows. I'd love to play and rate lots of people's games but I can only do that if: - :penguin: There is a linux build - :globewithmeridians: There is a web-based HTML build (not webgpu :no_entry: ) - :question: a secret third thing that I don't even know???

Anyway, feel free to drop links to your games in the comments and I'll try to get to all of them. Though of course I'll prioritize people who rated my game :smirk:

Let the exchange begin! :confetti_ball:

My game is here: https://ldjam.com/events/ludum-dare/54/contact-range

2 (ideally 4) Ratings to go!!!

ludumemdare/emtrade_offer.jpg

  • Though it might take me a day or two because I've been super busy
  • Image made by me, but feel free to reuse it for yourself :wink: (credit would be super cool)

Hey, hi! I made a fun little game called Contact Range and it's very close to the threshold of 20 ratings. I need one more rating in graphics, four more for humour, and two more for everything else! I'd really like to qualify for a ranking in all of them!! I promise I tried to make my game funny! I guess it just didn't land for roughly 20% of people :sob:

Video Trailer

https://www.youtube.com/watch?v=7z3I9_15p2w

Links

https://ldjam.com/events/ludum-dare/54/contact-range

https://queenofsquiggles.itch.io/contact-range

Hints and tricks:
  • In the options set difficulty to 3 or less (it's pretty hard otherwise!)
  • Make sure to disable some of the graphics options if you are using a PC with integrated graphics
  • Because of the way I did some things (against Godot standard practice), there is a stutter when a new "thing" is loaded into the scene for the first time. Things like items, VFX, etc... trigger this
  • There is a bug where sometimes the battle doesn't end correctly, this soft-locks the game. I still haven't found a solution for it!