Harvest of the Gods by jitspoe

[raw]
made by jitspoe for Ludum Dare 52 (JAM)

Note: The embedded version above does not appear to work on Chrome-based browsers, so if you get an error, try using Firefox or use the itch version: https://jitspoe.itch.io/harvest-of-the-gods

In 'Harvest of the Gods,' players take on the role of a powerful deity who must gather the souls of mortals in order to sustain their divine powers. The player must navigate through a series of increasingly difficult realms, each with its own unique challenges and enemies, in order to collect the souls they need to continue their journey.

As the player progresses through the game, they will encounter a variety of creatures and obstacles that stand in their way. With the use of their godly powers and strategic gameplay, players must overcome these challenges and defeat powerful bosses in order to harvest the souls they need.

This game is unique in that it was designed and developed using AI-generated content, including this description. By using artificial intelligence to generate as much of the game's design and content as possible, we hope to create a truly one-of-a-kind and immersive gaming experience.

Controls (Keyboard and Mouse): * Movement: WASD keys or arrow keys * Bolt of lightning: Space bar or left mouse button * Earthquakes: E or right mouse button * Teleportation: T or left control

Controls (Controller): * ​Movement: left joystick * Attack: right joystick click * ​Lightning: A button * Earthquake: B button * Teleport: Y button * Pause: Start button


Ok, human here. I wanted to do this project as a bit of an experiment to see how far AI technology could be pushed as it currently stands. It's fascinating how rapidly AI is progressing with things like ChatGPT, so I asked it to design a game with the theme "Harvest". The first design was a very generic farming simulator, so I asked it to come up with a design that was not farming related:

chat gpt design harvest of the gods.png

And Harvest of the Gods was born! With a good bit of coaxing I asked it to come up with pretty much every element of the game, though I didn't have time to implement it all, especially since I was trying to convince it to write usable GDScript code for Godot. Each line had about a 50/50 shot of being correct, so a whole script pretty much never was, but sometimes it came up with some really impressive or unexpected ways to implement things. It would likely have been much faster to implement things myself, but I'm pretty experienced with Godot, so this is a pretty powerful tool for developers learning new languages and engines.

The downside is that it often gives wrong answers very confidently:

chat gpt wrong.png

While I was fighting ChatGPT trying to get it to write usable code, I was also generating images with Stable Diffusion. In AI's current state, trying to get something that looks good and consistent is probably more work than creating art from scratch if you're a talented artist, but it was an interesting exercise.

centaur example.png

Most of the creatures generated, if they were more than a discombobulated mess, were cropped or occluded in some way and needed to be extended/altered, and of course alpha masked. Do you know how hard it is to generate a centaur? The one I finally ended up using had a horse head, which was kind of funny, but nothing else was really close enough.

For the music, I used something called "riffusion" which used images of sound (spectrograms) to train. A lot of the stuff it generated sounded terrible, but I just threw in "Harvest of the Gods" and it made something that was not completely unpleasant. Unfortunately, it was a whole bunch of independent segments that had to be manually lined up and pieced together to make a continuous song, but it had a couple little groovy moments.

I could not find any AI for generating sound effects, so I had to settle for the next best thing: Asking Chat GPT what sounds to record to make the sound samples I wanted. It suggested things like flapping a bed sheet for the wings, swinging a rope or broom for the teleport, and a deep sine wave with some noise, distortion, and reverb for the earthquake. So I went with that.

For the voice, I used uberduck.ai with an emulation of Mufasa's voice and pitched it down slightly. There are better tools out there, but I don't know what they are (if any are even freely available).

It was a big debate about whether or not I should enable ratings for graphics and audio, because 1) I was really curious, as kind of a social experiment, how a deliberately AI driven game would rank in these categories, 2) it was actually a lot of time and labor to make anything remotely game-worthy, and 3) having a game explicitly using AI getting rankings might sway the official rules one way or another.

Ultimately, I decided to opt-out, but I'd be interested to hear how you'd rank it in those categories in the comments.

Ratings

Overall 794th 2.598⭐ 48🧑‍⚖️
Fun 803th 2.25⭐ 48🧑‍⚖️
Innovation 411th 3.283⭐ 48🧑‍⚖️
Theme 633th 3.272⭐ 48🧑‍⚖️
Humor 576th 2.438⭐ 42🧑‍⚖️
Mood 739th 2.721⭐ 45🧑‍⚖️
Given 33🗳️ 51🗨️

Feedback

Kelvin Mulungu
09. Jan 2023 · 17:52 UTC
Art was pretty, kind of trippy but I guess that's what you get with AI huh?

Also that voice was pretty good.

Once I managed to grasp what the game is about it became mundane. I thought to myself, "Is that all there is?" But then I got to that second part, and I got absolutely destroyed. That first part is also a bit too long, and one soul escaping leading to death I found to be a bit punishing, I think I was fighting something and I killed a mortal by accident, and their soul just went up without me seeing it so I got a very sudden game over.

In terms of the experiment you mentioned in the description, if this was made with AI completely (including code) it's pretty successful.

We might be out of jobs soon :sweat_smile:
salmonmoose
09. Jan 2023 · 22:37 UTC
A really interesting experiment - if nothing else, it demonstrates that creatives have little to fear - even something like this which was heavily curated by someone who knows what they doing is at best mediocre - which, is where most AI generated content sits.
interface
10. Jan 2023 · 02:06 UTC
I love that you were able to carry out this experiment. It's interesting, for sure. I think using C# with Unity may have gotten you better results with ChatGPT's code, as there's definitely more C# out there beyond Unity as well.

The next year or two will be interesting to see how the field of AI developers and how it will get incorporated into things.
jackypark9852
11. Jan 2023 · 01:40 UTC
This is a very intereting concept. We were also thinking of making a game based on GPT three. The AI art looks great, I'm sure AI art will help concept artists iterate on their designs. The controls felt a bit off, the character had a hard time steering when it had any kind of momentum. Great work overall!
minidavid
11. Jan 2023 · 01:52 UTC
interesting game; though the gameplay felt a bit clunky, the art was superb and the music trippy. AI makes a strange thing
recursiveanomaly
11. Jan 2023 · 04:08 UTC
I loved the writeup that went with this game. My only struggle was with the controls, but it was interesting to hear how this was made. Thanks for the game!
LDJam user 0
11. Jan 2023 · 04:17 UTC
The concept of an AI game is cool, three days is pretty good for AI standards, controls were weird and and the gameplay was interesting. Personally I am not huge on AI art but I can see the appeal.
Xeke-Death
11. Jan 2023 · 06:09 UTC
Interesting experiment with AI. I liked the player character art and the backgrounds. The enemies were a little hard to make out what they are supposed to be, and the humans kinda blended in a bit. The voiceover was great, and the sounds fit pretty well.

Some notes:
- Healing didn't seem to heal me.
- The player movement vs the enemy movement seemed unfair, I had to take ages to turn around, they could just shoot fireballs at me.
- Lightning didn't seem to always hit things.
- Earthquakes are a great human herding tool!

Fun little game overall.
🎤 jitspoe
11. Jan 2023 · 06:31 UTC
@xeke-death Ah, shoot, I forgot to take healing out of the controls list. That was one of the abilities the AI came up with, but I didn't get around to implementing it. Also, the lightning is just a single-frame raycast, so you have to be very exact and it will only hit the first thing directly in front of the player.
GreatOT
11. Jan 2023 · 21:34 UTC
This is an interesting experience, seeing it was also AI generated, one thing I just found to be disorienting is the controls and I see many people also speak about that. Interesting experience nonetheless.
jcg
12. Jan 2023 · 00:58 UTC
A fever dream the likes of which can only be generated, cool experiment!

With at least Stable Diffusion, I often find myself fighting against it. To really coax it into something presentable, you do need to spend some not-insignificant time mucking with parameters and tricking it through the prompt. I feel it should be rated, but not amongst more traditionally built content. The final generated result makes it look easy, but there's still the time taken to make that happen.
OffworldDemon
12. Jan 2023 · 01:44 UTC
The controls are incredibly frustrating. Rotating the character is awkward and the hitbox for the attack is tiny. That fact was enough to make me want to stop playing, unfortunately.
Paroxysmal
12. Jan 2023 · 02:32 UTC
Interesting concept and experiment. The game control wise is difficult and hard to get into.
🎤 jitspoe
12. Jan 2023 · 06:27 UTC
@jcg Yeah, I'm not sure what the most fair solution is to rating stuff like this. I imagine in the future, it's going to become easier and easier to generate high-fidelity content (AI assisted or otherwise) that would not have been possible in the past. I was really tempted to enable ratings for audio and graphics as I was curious how it would rank, but somebody brought up a fair point that it would be bad for morale if it ranked higher than people's hand-drawn art that they put a lot of time into.

@offworlddemon For sure. I was trying to do my best to design and build things in the spirit of what the AI came up with, and it had just a single-frame raycast for damage. Personally, I would have had a larger area that detected over multiple frames, but I wanted to see how it played. Of course, AI can't play and feel frustrations and tweak the design. Perhaps I should have done some "this is frustrating because it's too difficult to hit enemies" prompts to see what it came up with, but, alas, limited time!
digital bacon
12. Jan 2023 · 09:50 UTC
Art was a bit weird, the robotic voice didn't really fit the fantasy aesthetic, gameplay was nothing special. I'll stick to human-made games.
therealjtgill
12. Jan 2023 · 14:09 UTC
An interesting take on the theme! Overall I think this was an interesting experiment. What would be really interesting is to use LD as a social experiment over multiple jams to find out the public's interest in AI-generated art. I guess in the next jam you'll have to use AI art and not tell anyone until after the ratings are finished ;)

### Things I liked:

1. Straight-forward gameplay
2. Art style was pretty cool
3. Wide open map
4. Goddamnit those souls are hard to grab sometimes!


### Things I noticed

1. I had a hard time getting my character to point the direction I wanted; pressing and holding one of the direction keys doesn't make the character go *that* direction, it just kinda turns the character
2. Couldn't find a way to regain health?

### Graphics

The art seemed like it was fine on its own, like as individual pieces. Mixed resolutions during gameplay looks a little weird for me. Maybe next time prompt it for pixel-art versions? Having extremely detailed drawings with strong shading is... weird... in cases where character models can change their orientation. The effect is that the models are exempt from the environment lighting, which makes them look like they're cut out of a magazine.

Thanks for the game, I had a fun time playing!
publicidadeba
12. Jan 2023 · 22:44 UTC
Super good experiement. Brave as well.
🎤 jitspoe
13. Jan 2023 · 01:17 UTC
@digital-bacon Yeah, there are better voice synths out there. I just didn't know where to find them. The one I tried was kind of robotic (Was supposed to sound like Mufasa). And fair point about human-made games, but I thought it would be interesting to see where the tech is today, and in the future we can look back at it and see how much things have changed (or not?).

@therealjtgill Yeah, I actually added a turn speed because trying to aim at things when you instantly turned was basically impossible. Now it's just obnoxiously difficult. 😆

I never added a healing ability, though the AI did have one in the design. The game is fairly short, though, so it's not super necessary.
TheOtherSamP
13. Jan 2023 · 05:04 UTC
I didn't particularly enjoy the game to be honest, as I found the controls very hard and I wasn't able to get into the flow of it. However, this entry is less about the quality of the game and more about the AI experiment, which is very interesting!

The initial Harvest of the Gods pitch that ChatGPT came up with is surprisingly decent. Using it for code and actual development clearly isn't productive right now, but using it to generate ideas seems actually interesting. If you had been more selective about taking its good ideas and rejecting the bad (like the controls) then it could be useful as a creative partner of sorts. Much like with the code, everything it outputs needs to be checked by an experienced designer, but it's a decent brainstorming tool!

Overall a very interesting entry!
Hawkin
13. Jan 2023 · 05:07 UTC
I definitely appreciate the experiment!! There are a lot of muddy questions in using artificial intelligence as an aide (or contributor), and reading about your process and experience was really interesting. I hope it serves as a model for conversations in the future!

Rating is fraught with the same complications: am I rating your ability as a game designer, or your ability to stich together disparate elements? I think you've achieved that stiching, but I'm not sure if this is the same game you would have designed from scratch. For that reason, it feels hard to dock you points for things I should attribute to the limitations of the AI ... you know what I mean? So take feedback with salt given that, that I don't necessarily know what was a _choice_ versus a _limitation_. I think that's what muddies the water with rating the result, separating the two.

To get to feedback, the flight control felt a little awkward to me, being cardinal directions. I think I would have preferred "forward to accelerate, left and right to rotate". Being what it was, orienting on targets and collecting souls was a good challenge to start (though I appreciated that souls were attracted to me). When it came to enemies that fired back, I really didn't have much success. The short range of my bolt and the fact that I had to fly head on to get a hit meant that I was generally vulnerable to their longer range attack as I came in. I don't think I got a single hit on them before dying. Maybe a soft reset rather than a hard reset would have felt less punishing?

As for the art and music, I would have given high marks for Graphics (very imaginative while also being readable). The music didn't seem to fit the style of the game, so I wouldn't have rated it very high.

And to close, I don't know where I stand on "should AI-generated content be ratable?" :)
🎤 jitspoe
13. Jan 2023 · 08:39 UTC
@hawkin Thanks for the detailed response! I wouldn't worry about the rating too much. Just rate the final game as you would any other. If you thought it wasn't very good, give it a low rating!

Regarding the enemies in the second level, I've found the best strategy is to take the hellhounds out first, since they do a lot of damage, keep your distance from the other melee enemies (supposed to be pit fiends, whatever those are), then you can take on the imps. The fireballs only do 1 damage, so you can take a few hits from those. Not so much from the others.

If you want to try just the last level, you can go to the console by pressing ~, then type "map FireyUnderworld1"
Mololo
13. Jan 2023 · 17:18 UTC
I loved the experiment, I was considering doing a short one as well but not in a game jam. Overall the art looks great, but the gameplay could have been improved. When working with ChatGPT Unity would be a better choice of an engine since it has more data on it, but It was interesting to test it in Godot. Great job!
LDJam user 300422
13. Jan 2023 · 17:30 UTC
Wow nice idea, of letting it all being generated by ai. As someone who's been using chat GPT to add a third voice to my head (for arguments, you know, to check the ethics of taking over the world and stuff) And who has used Dall-E for game art for my last two jams its quite interesting to see how weird a game can still be, left entirely to AI :joy: I liked your promotion video. But enough of that.
- The art looks okayish, but some things don't really work well together (i know how that feels lol)
- The controls for movement are quite messed up to be honest. I played on computer and it was quite hard getting to where i wanted to go. Sometimes pressing up was straight up, sometimes it was diagonally across the screen, even without momentum.
- The music worked quite well actually. Had a nice jam to it.
- The colliders on the lightning either don't match up or i have terrible aim.
- I've never used chat-GPT for code (don't need to) but i imagine its quite a struggle to tie it all together.

All in all, its a fun idea and good teamwork (:joy:) :thumbsup:
LDJam user 139668
13. Jan 2023 · 19:25 UTC
What a nice experiment. But ask AI to make movement a bit easier x)
Papabirb
13. Jan 2023 · 23:40 UTC
I gave up during the first part, because apparently one soul keeps escaping and I don't even know where they're going to so I can, y'know, prevent that. I'm too busy fighting off the bitey spikey things!

That being said, the concepts behind this are interesting even if I don't have the patience to get past the first level - while I would usually rate AI-assisted art/audio a 0 (due to the generally unethical nature of AI art at this point in time), if I ignored the ethical part of things I would give it a 4 for art and a, well, I'd say a 2 for the audio, maybe a 3 if I count the SFX and not just the music. I had to open the game back up to remember what the music sounded like. It's pleasant, but kind of generic. Like the weird generic guitar songs from [Jillian Michaels' Fitness Ultimatum 2009 for the wii,](https://tinyurl.com/5f7rpvkh) which I'd actually managed to repress my memories of until listening to the AI music again haha.

On a side note, nodes_in_radius() or nodes_in_circle() should totally be a thing. That would make a lot of things I've tried to do in the past way easier lmao.
Ethan Hair
14. Jan 2023 · 00:12 UTC
I like the idea of allowing AI to come up with your game. It was a bit confusing and that was probably why. I didn't understand that I had to not only kill enemies but collect their souls at first. The combat was rather difficult. Having to aim with your character along with the character movement being odd made it hard to aim. The character movement was strange because it wasn't quite a plain up, down, left, right but it wasn't quite left and right rotate while up moves forward.
🎤 jitspoe
14. Jan 2023 · 15:47 UTC
@papabirb Souls are the glowing blue things that float up after you kill something. You have to touch them before they float off the top of the screen. Regarding nodes_in_radius(), I personally would have just used an area with a circular collision shape to detect overlaps, but it didn't come up with that solution. In retrospect, I should have just asked it to implement nodes_in_radius (I've done that in the past when it tries to call functions that don't exist). It started getting super crazy with physics server stuff (using even more functions that didn't exist) before finally doing a distance check against nodes of a given group (which was kind of cool that it taught me how to use groups. Never used those before).
Papabirb
14. Jan 2023 · 16:42 UTC
@jitspoe Ah, that makes sense. I thought when I killed them, that was harvesting the souls (of the living). I didn't understand that I needed to catch them, too.

Yeah, I've used used area2D + checking groups before. I'm usually lazy and prefer to check body/area.name though. Funny that it went crazy with physics before it went back to basic stuff - kind of reminds me of that old SpongeBob bit with drawing the entire head then erasing it to get the circle, lol.
Honest Dan
14. Jan 2023 · 23:07 UTC
An interesting experiment jitspoe! I found the controls pretty hard to control, but at the same time it was more-in-line with how the character would move. Was great how fast you went if you built up momentum. I just found it quite finickity to aim.

The difficulty stepped up after the first level :D took me a while to realise I wasn't meant to try zap all the things I found in level 2! I liked the combination of having to capture the souls as well as zap and avoid the nasty bois.
Augmotic
16. Jan 2023 · 00:06 UTC
The development process was an interesting ride to say the least lol.
I would call this a successful experiment, you were fair about the pros/cons of it all.

Game wise I felt like the lighting hit box was a bit too small, I see a previous comment about it being a raycast. Maybe a box cast or something wouldve felt better, especially on stage 2 where alot more movement is required.

The character movement seemed okay if you were at a standstill or moving slowly, I think there's some weird residual velocity built up once you get to moving fast and it makes turning very clunky.

Overall it was an entertaining and informative experience to watch it play out and then play the result.