Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit)

First, the project I'm working on is made in Godot and it been a really long time since I worked with GDScript. (Required with Godot 4 to make a WebGL build)

I'm finished with all of the behind-the-screen logic as well as the main menu & the general visual design on the GUI side, but have yet to work on the core gameplay loop.

The game has 100% functioning saving/loading  for both settings & player profiles menus, proper memory allocation & scene transition management, advanced graphics settings and some other stuff. (Also, the musics and use interface SFX are implemented.)

While my project is 3D, it has a retro feel to it because its settings is about space exploration in a similar style to the NASA Apollo program during the late 60's, but with a twist to it. There's a huge emphasis on its User Interactive graphics (GUI) as it's a game about resource and risks management, but at the same time it's a relatively simple game, gameplay-wise.

I'm planning on taking 2 days for the main gameplay loop and around 1 days for making the 3D assets still not done.

From the sound of it you've spent a lot of effort in the systems.  I'm only just working on my player state controller, still loads to do, today has had a bit more procrastination than I'd of liked, some of it unexpected, but if I can spend about 4 to 5 hours a day on it for the rest of the jam I should be OK, the 2D graphics I've made won't be anything special, there might not be a lot of "polish" in the end but my core objective is try and get a decent amount of story into the game this time.  New for me, but we'll see by the end if it works ...

The game I'm making for this Jam isn't a brand new idea, but it's based on one that I have previously though about for a past DevJam that I couldn't complete because, back then, I had barely 2.5 days of free time out of the 10~ish days. For this one, I had the 3 first days during which I couldn't put as much time (if at all) as I wanted, but that leave the remaining 7 fully open. Also, the idea/concept have evolved within the months since I originally had it with more realistic & realizable goals than what I originally had.

It's just that the theme of this jam coincidentally fit way too well with that old idea/concept I had to let it go while said idea doesn't really fit well for a commercial game in today's market or, at least, not the "Lite" version that I'm working on for the Jam.

The game I'm working on as a "Lite" version for the Jam is played primarily via 2 menus: 1 menu where you upgrade a machine and one menu where you have limited time to order the machine to do something after which it will attempt to do what you ordered with a day & night cycle. Depending on the machine's successes and failure, you acquire funds which allows you to upgrade the machine further to survive longer and so on and forth.

Basically, the game I'm working on is something akin to a NASA Rover simulator on a unknown planet. You have a limited window, each day, to give orders to the rover to move around and collect samples or discover new things (which gives you credits for upgrading the next one once this one breaks down). It's basically RTS walking simulator where your goal is to find hidden treasures while you slowly die as you move around with randomized events that, for the most part, goes against you (with a really few exceptions).

Each play-through is done on a randomized 512x512 sized micro-sectors board and the rover can only travel a limited amount of sectors per day on top of actually requiring you to give it order to do something (unless a certain upgrade is added) to interact with things. For example, if you give it an order to travel in a relatively straight line as far as it can within a day, it will damage itself over the distance (its wheels durability drops down) and while it might discover something along the way, you'll only find out about it the next day during the limited-timed "input action" phase and you might have to ask it to move back on its tracks to the discovery to actually analyze it. Hence, the gameplay loop is about choices & results of those choices versus the risks of actions or even inaction. 

I am doing this like a guerilla fighter... after reading your post, I just realized i don't even allow save/load... and this morning I just realized my player is taking damages but it has no game over mechanism even at 100% damage LOL. But i am enjoying every moment of this process, guess this is the charm of a game jam :)

(1 edit)

Small Update - I just finished the introduction (which includes a Tutorial).

Yes, I know... I'm kinda shooting myself in the foot with by adding a freaking tutorial to a DevJam that last only 10 days, but the gameplay is so much straight forward that it's going relatively smoothly... except that for some reason I hit myself against some insanely stupid problems along the way as I find tiny little systematic problems that seems so small and insignificant and, yet, I put hours in fixing those.

And, ironically, many of those tiny problems comes from the game engine I selected: Godot.

For example, when you start a new game in this project of mine, you get a relatively small introduction which ask for the player's name. Obviously, it doesn't have to be the actual player's name (it's simply the save profile's name and I also use that name in a few spots here and there and communicating with the player.) Well, at a first glance, you would think that it's really easy to do: add a LineEdit node (text entry field in Godot) in the 2D scene (2D menu in Godot) and read whatever the player enter in that LineEdit node...

But here's the kicker: Godot has barely ANY implemented method of restricting what the player enter in the LineEdit's field. For example, a player could enter a name like " " or "    " or "_ _ | _ _". Yeah. Those are underscores and spaces. You can restrict what's typed with a RegEx search for special characters, but what if I want to allow space between letters (never at the front or at the end of the name)? I can check the name characters as it's typed in, but what if it's copy/pasted?

And that's only one of the many tiny problems I have found myself tackling.

Ho... Also, just because I can and because I just love hitting my head against a wall... I also added... localization to my project because why the heck not? My project can be played in English and French (my native language).

As I take a break now and then on this project, I'm constantly wondering: Am I really working on a DevJam or am I not?

The good news about all those tiny problems that I'm facing and overcoming is that the solution I make will work universally with any other project made in GDScript Godot so it's not like I'm wasting my time. I have extended (written over) a dozen of nodes types (type of in-scene assets) to work better with various tiny bits of behavioral patterns I'm hitting myself against.

The one thing that I know I won't have time to do is adding full controller support. While I did instinctively implement controller support in the menus, I haven't gotten into implementing it in the actual gameplay loop and I know I won't have enough time for that within the next 3~ish days. Controller support is a pain to implement in most forms of RTS anyway (especially from scratch).

I also decided to not work on any sort of advanced beautification of the UI/Menus.

What I mean by beautification? Well, that's things that has 0 impacts on actual gameplay, but look nice. For example, it can be the transition between menu or having the menu have a really short animation as it opens and stuff like that. Right now, the menus goes "poof! open-sesame" instantly and I'm keeping it that way because setting up the menu in Godot to allow animations in the UI would be just a pain in such a rushing time.