Is this game concept viable in Godot?

I have a concept for a very unique game. I need someone with much more experience than myself to tell me if this is even viable in Godot. I am more than willing to put in the time and necessary research to bring it to life, but I’m not sure it is even possible.

I want to create a game that allows a player to set up an environment. This includes choosing characters with clothing options and accessories. All of this would be choices made from a library. The player could then place the items in their chosen environment arranged as they please. This would be quite detailed with options for lighting and such. I’m pretty sure this is possible, as these are all things that could be done with code. Now comes the tricky part.

Could the player’s options be saved and then played back in an open world where others could watch an animation using all the player’s options and choices? The others (audience) could then rate the performance taking into account the player’s choices. All of these ratings could then be compiled to create a score, which in turn rewards the player.

It isn’t essential that all audience members watch it in an open world. It would be fine if they watch it individually, since there really isn’t any interaction at this point. They are simply rating a performance.

I guess a simpler explanation would be you have an animation and the player gets to choose which character animates. Then that animation is played back, using the player’s choices, to an individual that can then vote on the performance. It would be kind of like recording an animation and playing it back for someone to watch.

Any ideas, suggestions or thoughts would be extremely helpful. Have any of you ever seen something like this before?

Thank you very much for your time and consideration.

From what I understand you’re making a game where players set up an environment and place objects, but also there are audience members that can watch a playback of everything being created. This sounds a bit like House Flipper 2 or SuchArt.

The one thing Godot can’t do here is open world. There isn’t really built-in mesh streaming and custom terrains like other engines enjoy. If by “open world” you mean a small space the players can sandbox in, then it’s possible. But if you mean actual open world where you can seamlessly travel from area to area in a huge open world, then I don’t think Godot is there yet.

The other issue (which might not be an issue depending on you and your studio) is that Godot just doesn’t have that much support yet. There isn’t an asset store or abundance of extensions like Unity or Unreal have. Chances are if you need something specific like the replay system, you’ll have to implement it yourself.

If you’re not sure about it I think Unreal might be the best choice, since your game might want more beautiful lighting and open world support.

Thank you for your prompt reply.

I probably don’t really need an open world. I just need a way to replay an animation with the player’s options.

I’m not concerned about assets, as they will all be very custom. I can create everything I need in Blender. I am a programmer, not a game designer, so that’s probably an advantage here.

The replay part is definitely the challenge. If there was some way for the player to run the animation with their options and “record it” for playback, that would be ideal.

I’ll check out those games and keep searching. I really don’t want to go the Unreal route. I would probably abandon the game before I would use another engine.

Thanks again.

I think it would be possible. Animation Players can play any animation, and you can create an Animation from code. You can see an example here - https://docs.godotengine.org/en/stable/classes/class_animation.html#class-animation

The “easiest” way you could do this would be to, as the player records, get their position and rotation then record those as key frames, maybe every 10th of a second? I don’t know how much space that would take up, but I feel like it would be worth experimenting.

Thank you for the suggestions. I think I should be less secretive about this, since you are all trying to help me.

This is a fashion designer game. The runway show is the conclusion that the player will share with others for scoring.

The runway animations will be set. The paths will not change. The variable is the character chosen and the garments they are wearing. This won’t change the animation in any way. Also, the runway stage dressing will be up to the player. They can place assets (lights, props, etc) wherever they want to create their unique venue. Again, the stage sizing, walkway and such will essentially be static.

After they make their choices, the animation will run and people can vote.

I have to create the gltf files with the characters and clothing being animated outside Godot and just play the animation files in the game. That’s a crapload of work, but necessary if I want realistic cloth draping/animation.

Does this change your recommendations in any way? Thoughts?

Oh wow, cool!

Okay, so I understand why you were saying the animation would be difficult. So would you want your game to export the gltf model the player creates into something like Blender, have that spend some time rendering the animation for the runway and then output it back into Godot for the player? Or are you just making the animations in Blender and then the player chooses which one they want? Both possible, I think, but the latter would be much easier!

Here’s what I’m thinking. I would create my runway models in Blender. Nothing complicated here. No major hair system or anything. I may even make them mannequin type. I rig the character and animate them walking the stock runway with the turn and such.

I output this to Marvelous Designer. (I’m an advanced MD user). I put the clothes on and use MD to create the cloth sim. Export that back out to Blender.

I use Blender to create the gltf file with animation (of course) and take that over to Godot. I would have to do this for every single model and clothing item.

The player gets to pick their model and then the garment(s) that they wear. I need to create a system for the player to change the texture/material of the garments, but I don’t see that being a problem. Just need some color pickers and different textures, even some patterned “fabric”.

The player also gets to customize the venue, as I mentioned before. The model will just follow the appropriate animation for the chosen garments. It has already been rendered.

The audience then gets to vote on the fashion designers show. Typical game scoring type thing here.

I’m thinking that the designers (players) will pay a fee to play. The audience doesn’t. They get the “game” for free as audience members. This would encourage good participation, hopefully.

That’s basically the whole thing. Not really complicated, but it definitely takes a specific skill set to build. I’ve know everything in Blender and MD, but I know zip about Godot, other than some beginner tutorials.

I’m a quick learner :slight_smile:

1 Like

Sounds good! In that case, I think I definitely think it would be possible.

From the Godot side of things, you would import the 3D assets (Models and animations) in, and provide the user the chance to choose which ones they want, and edit/select materials, which is totally doable in Godot. They can also move things around in a 3D environment, you can do this fairly easily using the prebuilt 3D editor as a base. You can send data about the selected models, clothes, environment and materials to a database, and then “audience” members could load it on their side to play the animations.

You should look into httpsrequest and general 3D assets importing. But I totally think it’s doable in Godot!

1 Like

If you also know C++, that would be a big advantage, then you could customize or extend the Godot Engine according to your needs.

For example, there is this extension that could be used for Open World.

Yay! That’s what I wanted to hear. I’ll look into everything you’ve recommended. Thank you so much for your time. I’m very excited to know this is a viable option. Just got to learn some stuff, but I’m good with that.

Probably more ambitious than recommended for a first game, but its a subject I’m very familiar and experienced with. Just need some Godot know how.

Thank you for the link. I’ll check it out. C++ is not my specialty, but a language is a language. Just need to learn the correct syntax.

I don’t really think C++ is necessary to pull this off. godot already has mechanic’s to pull this off. your just building an interface to do it in game. C# should be good enough. I would use gdscript to figure things out its more user friendly. then convert those parts to c# for speed.

Also maybe instead of charging to play the game, sell asset’s to addon to the base game.

I see no reason why this wouldn’t be possible. Godot may not be as capable as Unreal Engine, but it’s pretty darn capable. A runway game sounds like a straightforward task for the engine at least as far as features you mentioned. Good luck!

I’d prefer to work with GD script, if possible. We’ll see how far that gets me. Thanks for the tips.

It’s so good to hear that I can do this in Godot. Thanks for the encouragement.

1 Like

Disclaimer: I said “straightforward,” not easy :sweat_smile:

It’s been pretty fun learning/using Godot so far, though, so I’m sure you’ll have fun as well!