Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
pseudorandom name
May 6, 2007

I mean, they invented it, and adding it to DirectStorage publicly exposed the previously secret D3D metacommands, so I have to assume they have had dedicated hardware blocks for it for years, to make moving data in and out of VRAM for CUDA more efficient.

Adbot
ADBOT LOVES YOU

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

pseudorandom name posted:

I mean, they invented it, and adding it to DirectStorage publicly exposed the previously secret D3D metacommands, so I have to assume they have had dedicated hardware blocks for it for years, to make moving data in and out of VRAM for CUDA more efficient.
Not sure what you mean by "previously secret D3D metacommands."

The design of the format was clearly intended for running on the compute units (i.e. it's all designed around processing 32 values at once), which only really makes sense if it had to run there instead of a dedicated decompressor that would be free of those quirks... especially deflate, there have been hardware deflate decompressors available off-the-shelf for quite a while.

pseudorandom name
May 6, 2007

The concept of metacommands weren't documented in the WDDM DDK reference on MSDN until after GDEFLATE got added to DirectStorage.

It's very clear that GDEFLATE was designed from the beginning to run on compute shader cores, but there's literally no reason for metacommands unless nvidia has dedicated hardware.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

pseudorandom name posted:

The concept of metacommands weren't documented in the WDDM DDK reference on MSDN until after GDEFLATE got added to DirectStorage.

It's very clear that GDEFLATE was designed from the beginning to run on compute shader cores, but there's literally no reason for metacommands unless nvidia has dedicated hardware.
I'm not sure. From what I can tell, metacommands were initially added for tensor cores years prior:
https://devblogs.microsoft.com/directx/wp-content/uploads/sites/42/2018/03/WinML_acceleration_GDC.pdf

But it looks like they're just custom GPU commands that the driver can implement however it wants.

The most I've seen NVIDIA say anything on it is from this:
https://developer.nvidia.com/blog/accelerating-load-times-for-directx-games-and-apps-with-gdeflate-for-directstorage/

... that they have "optimizations for GDeflate" but I've interpreted that as just meaning that they have a customized version, which wouldn't be surprising since there are parts of it that would benefit significantly from hardware-specific optimizations or instructions that aren't available in HLSL. I haven't seen anything suggesting that they have dedicated hardware for it yet, and I think they'd have said so if they did.

tango alpha delta
Sep 9, 2011

Ask me about my wealthy lifestyle and passive income! I love bragging about my wealth to my lessers! My opinions are more valid because I have more money than you! Stealing the fruits of the labor of the working class is okay, so long as you don't do it using crypto. More money = better than!
I’ve always preferred developing in OpenGL over Direct3D so Vulkan looks like it’s right up my alley. I actually really love low level poo poo. Video games were too expensive for me in the 1980s, so I taught myself machine language so I could crack the copy protection. I learned a ton about how computers work on a very fundamental level by stealing video games.

E: every cpu on the planet cannot function without a stack, stack pointer, registers and status flags, just to mention a few examples.

tango alpha delta fucked around with this message at 00:02 on Nov 28, 2023

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

tango alpha delta posted:

I’ve always preferred developing in OpenGL over Direct3D so Vulkan looks like it’s right up my alley. I actually really love low level poo poo. Video games were too expensive for me in the 1980s, so I taught myself machine language so I could crack the copy protection. I learned a ton about how computers work on a very fundamental level by stealing video games.

E: every cpu on the planet cannot function without a stack, stack pointer, registers and status flags, just to mention a few examples.

I've made CPUs (in vhdl) that have no fixed registers, no stack pointer, no defined region of memory as a stack

And even written programs for them taking a few hundred lines of code

I uh... I didn't try to port a C compiler to them though.

tango alpha delta
Sep 9, 2011

Ask me about my wealthy lifestyle and passive income! I love bragging about my wealth to my lessers! My opinions are more valid because I have more money than you! Stealing the fruits of the labor of the working class is okay, so long as you don't do it using crypto. More money = better than!

leper khan posted:

I've made CPUs (in vhdl) that have no fixed registers, no stack pointer, no defined region of memory as a stack

And even written programs for them taking a few hundred lines of code

I uh... I didn't try to port a C compiler to them though.

Hey that’s really cool. You must need some kind of instruction pointer or reference to tell the processor where to start running instructions. You still need to create registers, fixed or not because they are the workhorse of the CPU.

Can you create your own status register in vhdl or is it easier to initialize separate flags to handle overflow conditions and branching?

Are there bitwise functions for rotating binary numbers through the register for input/output functions? Can you specify whether the output is big endian or little endian?

Like I said, I love this low level poo poo

tango alpha delta fucked around with this message at 05:08 on Nov 28, 2023

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
You don't really need a status register if you use an ISA that doesn't need it.

Like yeah, if you're implementing x86 or something with "conditional branch based on whether a status flag is set" then you're gonna need a flags register that persists that state from the previous instruction to the branch instruction. If you instead have the more risc-style "branch if <some value> is equal to 0" then you might not.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

tango alpha delta posted:

Hey that’s really cool. You must need some kind of instruction pointer or reference to tell the processor where to start running instructions. You still need to create registers, fixed or not because they are the workhorse of the CPU.

Can you create your own status register in vhdl or is it easier to initialize separate flags to handle overflow conditions and branching?

Are there bitwise functions for rotating binary numbers through the register for input/output functions? Can you specify whether the output is big endian or little endian?

Like I said, I love this low level poo poo

One of the machines in question was a belt machine. So it did have registers. Shift registers. 32 bits wide and 16 bits deep. Instructions spilled results onto the belt. The instructions operated on belt offsets.

It did have a PC, but by no means did it _need_ one. Seemed a bit silly to have so much of the belt taken up by old PC values. You don't need to tell it where to start running if you only support running from a fixed offset.

It wouldn't be difficult to create a VLIW machine that doesn't have registers and instead references memory addresses directly for all instructions. You could even cut down instruction length a bit by segmenting memory. Could do the same with the PC and just store it at $1. You absolutely do not _need_ registers.

For implementation, you can do roughly anything you can do with gates and abstract those things as you see fit. So figure out your block diagram and how you want your busses to look then just model them. Tie the inputs of things to outputs of others.

Raenir Salazar
Nov 5, 2010

College Slice


Sometimes failure rather being frustrating actually just looks really awesome.

e: Actually got it right the second time though:



e2: EVEN GREATER SUCCESS:



I ultimately never quite got DrawMaterialToRenderTarget to work, but basically reversed engineered from the Kismet library K2_DrawMaterialTriangle which as it turns out basically does what I wanted to test the capability of doing in Unreal.

And since I can draw triangles this means I can draw basically any polygon, and thus voronoi in Unreal from a procedural mesh. At runtime in C++.

Raenir Salazar fucked around with this message at 04:04 on Nov 29, 2023

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
I'm having some fun raging against UE5 Common UI with Blueprint stuff. I have a Common Text Object with some default text in the content that I want to get (so I can later manipulate it). I have a Blueprint function to get the text as a string. In this function, the reference to that text object is never valid. What in living hell? The function is in the Blueprint class I created that contains this text title. I see it marked as a variable. That's what I drag into the function. Never valid. Always None.

Raenir Salazar
Nov 5, 2010

College Slice
I've decided that the solution to every problem is a state based machine.

walruscat
Apr 27, 2013

I want to learn how to make a game and make a Stardew Valley like game as a long term project. I've dabbled some in Godot and made a little platformer in it. Before I went in any further, I just wanted to ask for some advice on what's the best engine for a newbie to make game like this and if anyone has an indepth tutorial or learning resource they could point too, that'd be helpful too.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
Godot is a fine choice, but your initial projects should not be your dream project. Start small. No, smaller than that. Still smaller. Make the smallest possible game you can that is technically playable. Make Breakout, or Tetris, or Pong, or something along those lines. You can put your own simple spins on the concepts if you like, just keep the mechanics and scope as small as possible.

The reason for this is that game development is hard, and finishing games is, in itself, a skill that needs to be practiced. You'll learn a lot by making small games, and build skills that will make the process of making slightly larger games go waaaaaay more smoothly. Without that practice, odds are that you'll get a little way into making your dream game, get stuck, and quit from frustration or depression.

In any case, good luck!

Tunicate
May 15, 2012

TooMuchAbstraction posted:

Godot is a fine choice, but your initial projects should not be your dream project. Start small. No, smaller than that. Still smaller. Make the smallest possible game you can that is technically playable. Make Breakout, or Tetris, or Pong, or something along those lines. You can put your own simple spins on the concepts if you like, just keep the mechanics and scope as small as possible.

The reason for this is that game development is hard, and finishing games is, in itself, a skill that needs to be practiced. You'll learn a lot by making small games, and build skills that will make the process of making slightly larger games go waaaaaay more smoothly. Without that practice, odds are that you'll get a little way into making your dream game, get stuck, and quit from frustration or depression.

In any case, good luck!

The alternative is to be Toby Fox, make your dream game first and become a multimillionaire

walruscat
Apr 27, 2013

TooMuchAbstraction posted:

Godot is a fine choice, but your initial projects should not be your dream project. Start small. No, smaller than that. Still smaller. Make the smallest possible game you can that is technically playable. Make Breakout, or Tetris, or Pong, or something along those lines. You can put your own simple spins on the concepts if you like, just keep the mechanics and scope as small as possible.

The reason for this is that game development is hard, and finishing games is, in itself, a skill that needs to be practiced. You'll learn a lot by making small games, and build skills that will make the process of making slightly larger games go waaaaaay more smoothly. Without that practice, odds are that you'll get a little way into making your dream game, get stuck, and quit from frustration or depression.

In any case, good luck!

This sounds like a good idea. Making the platformer was fun, specially since I did it with my kid doing the art and level design. Do you have any suggestions for Godot youtubers I could check out?

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

walruscat posted:

This sounds like a good idea. Making the platformer was fun, specially since I did it with my kid doing the art and level design. Do you have any suggestions for Godot youtubers I could check out?
Since you already did a platformer and your goal-game is built on a common genre you can kind of half-and-half this by making a game that's *part of* your goal game, then you can keep building on it and head for your dream game. I mean like you can start with a top-down-walking-around-collecting-things game or dodging monsters or whatever, then add in items, then add in environmental features, etc. and eventually you might have your Stardew Valley. But don't try to go directly there, set "kind of a complete game" waypoints so you can feel your progress.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

walruscat posted:

This sounds like a good idea. Making the platformer was fun, specially since I did it with my kid doing the art and level design. Do you have any suggestions for Godot youtubers I could check out?

Sorry, no, I don't use Godot myself because I make bad choices :v: I do have two more pieces of advice, though. The first is to join the Dogpit Discord server, which is a chill gamedev server. Plenty of folks there use Godot.

The second piece of advice may well be redundant, but I feel I should point it out just in case: you'll never find tutorials that cover everything you need to know. There's always going to be some stuff you gotta figure out on your own. You generally won't find much tutorialization on things like "how should I arrange for this data to get from point A to point B" or "how high should my character jump". They'll be more focused on stuff like "how do you detect when the player touches a collider", or "how do you handle input from a gamepad". In other words, there's core engine functionality that everyone's expected to use more or less the same, and then there's the actual design and creative aspect of game development, which everyone does differently. Some folks expect to be able to be tutorialized through both aspects, but really there's only tutorials for the first type. That doesn't make the second any easier, but it's something you're going to have to learn by doing. Fortunately, if you have prior experience in other artistic/programming disciplines, that should help.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

walruscat posted:

I want to learn how to make a game and make a Stardew Valley like game as a long term project. I've dabbled some in Godot and made a little platformer in it. Before I went in any further, I just wanted to ask for some advice on what's the best engine for a newbie to make game like this and if anyone has an indepth tutorial or learning resource they could point too, that'd be helpful too.

Whatever you're willing to stick with. If you already know a programming language, something that uses that.

Tunicate posted:

The alternative is to be Toby Fox, make your dream game first and become a multimillionaire

You mean be Toby Fox and have a girlfriend willing to support you for several years while you work on a project that has no reason to make any return on the time spent.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

leper khan posted:

You mean be Toby Fox and have a girlfriend willing to support you for several years while you work on a project that has no reason to make any return on the time spent.

I feel like the vast majority of successful indie devs are doing it either with support from a working spouse, or after gaining financial independence from a previous career.

Tunicate
May 15, 2012

leper khan posted:

You mean be Toby Fox and have a girlfriend willing to support you for several years while you work on a project that has no reason to make any return on the time spent.
you're thinking of the stardew valley guy, Toby spent the dev time living with his parents and (metaphorically?) in Andrew Hussie's basement

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

TooMuchAbstraction posted:

I feel like the vast majority of successful indie devs are doing it either with support from a working spouse, or after gaining financial independence from a previous career.

Yeah it's the part of it that most people don't talk about, and it's super lovely because not talking about it leaves a lot of kids thinking it's something they can do when they absolutely do not have the resources for that life.

Armitag3
Mar 15, 2020

Forget it Jake, it's cybertown.


walruscat posted:

I want to learn how to make a game and make a Stardew Valley like game as a long term project. I've dabbled some in Godot and made a little platformer in it. Before I went in any further, I just wanted to ask for some advice on what's the best engine for a newbie to make game like this and if anyone has an indepth tutorial or learning resource they could point too, that'd be helpful too.

Like others said, Godot is a really good choice, especially for 2D games like Stardew Valley (though 3D is apparently catching up with Godot 4, not sure, never did any 3D). I'll also throw my two cents about starting small: in my experience, doing Tetris, or Pong, or a Mario clone are great steps to learn game development in incremental complexity steps, but only if you're doing them as like school assignments or something - if this is a hobby thing you're going to have to manage your motivation as a developer and working on something that you're not particularly interested in is going to murder it. My advice is to make the game you want to make but severely limit the scope of it so you can actually finish it. You can always come back to add more stuff or make a sequel.

Anyway, here's a list of godot nerds I've collected over time:

https://www.youtube.com/@godotneers, especially the components and state machine videos. State machines are basically everywhere in games, so get a good handle on them. The components video goes into how you can structure your game to keep spaghetti low in a Godot-idiomatic way (using scenes, using signals, keeping coupling loose, etc.)

Speaking of state machines, https://www.youtube.com/@TheShaggyDev is obsessed with them and made a few videos about their importance. Any video they have is good if you want to learn more about his way (not the only way!) to structure your game objects so you don't paint yourself into a corner and game design patterns in general.

https://gameprogrammingpatterns.com/contents.html is also handy to have. The examples here don't translate 1:1 for Godot - these patterns solve problems in strongly-typed, class-based environments, whereas Godot is duck-typed and has the layer of Scenes/Nodes on top of its classes - but you can take a lot of handy tips from them, especially if you're starting to copy paste a lot of the same code around.

https://www.youtube.com/@Gdquest has a lot of Godot tutorials on specific topics that you can just pick and choose, and some beginner tutorials too.

https://www.youtube.com/@ClearCode is not Godot specific, he makes multi-hour code-alongs using Python and PyGame. There's a video on Pydew Valley, where he makes a Stardew Valley clone that I thought might be useful to get you in the right mindset of the kind of moving parts your Valley-like is going to need. I prefer an +hour long video to multiple 15 minute videos of varying quality (that rethread the same beginner stuff), but your millage may vary, so you can just skip around and take ideas. This guy is fastidious.

Oh, adding https://www.youtube.com/@bitbraindev too for Godot tutorials on specific mechanics or effects. He provides the code through github so you can play around in those setups.

And finally, these loose videos by people that don't really maintain their channel, but the videos themselves were useful about a specific topic:
Custom Resources - A Godot Workflow GAME CHANGER
How You Can Easily Make Your Code Simpler in Godot 4 (this is about composition, though keep in mind Godot idiomatically uses "aggregation")
How to Use the New TileMap in Godot 4

Armitag3 fucked around with this message at 12:16 on Dec 2, 2023

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
Tetris and pong and similar are pretty small projects, especially with modern frameworks/engines. If you aren't aiming for shippable quality, you should be able to knock down the mechanics in a weekend. People really should start there, because the problems are so well understood a lot of people will be able to help get over whatever conceptual boundary you're stuck on if you're in trouble.

Raenir Salazar
Nov 5, 2010

College Slice
I dunno I think if we break down what makes a Stardewlike game it sounds moderately ambitious but in a way that lends itself to setting reasonable milestones.

Farming.
Gathering Resources.
Combat.
Dating Sim.
Crafting?

Individually they seem pretty reasonable; especially in their simplest forms.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

Raenir Salazar posted:

I dunno I think if we break down what makes a Stardewlike game it sounds moderately ambitious but in a way that lends itself to setting reasonable milestones.

Farming.
Gathering Resources.
Combat.
Dating Sim.
Crafting?

Individually they seem pretty reasonable; especially in their simplest forms.
Farming isn't a game mechanic, it's a theme.

Gathering resources is ambiguous - are you just increasing numbers (like Starcraft gathering resources where there are just a few resource types), which is simple, or are you gathering varied resources with independent states, in which case this implies a whole inventory system and all the interfaces that go with that which is a heftier project on its own than an entire simple platform game. If you're lucky there's a library or something for this because implementing it from scratch is a lot of work and is very boring. It's also weirdly important - a frustrating inventory interface can easily make you hate a game.

Combat could mean almost anything. JRPG turn based poo poo (very easy). Original Zelda style (medium easy). Mortal Kombat style (way more complicated than it looks). Space invaders. Quicktime events.

By Dating Sim I assume you mean "choose your own adventure branching story", essentially. Implementation-simple but tough to make a good design, and a lot of tedious work.

Crafting is super easy *after* you have a whole inventory system and all the interfaces that go with it, because it's basically just a little bit more of the same.

This breakdown has also not mentioned the buttload of sprite work, the game menus, saving and loading, etc. all the tedious poo poo that nearly every game needs which will crush your spirit (and doubly so if it's a surprise to you). Highly recommend developing with half-assed placeholder graphics, or slightly less half-assed placeholders taken from one of the periodic game dev bundles on Humble Bundle or fanatical.com, unless making the art is your passion.

Alterian
Jan 28, 2003

Game Maker is free now if you are looking to make a 2d game.

Tunicate
May 15, 2012

I'd say in godot zelda style combat is easier programmingwise than a turnbased rpg (since character and npc movement on the map are easy and something you'll need to implement anyway), but it requires a lot more assets and animations to do compared to a single static enemy sprite.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

Tunicate posted:

I'd say in godot zelda style combat is easier programmingwise than a turnbased rpg (since character and npc movement on the map are easy and something you'll need to implement anyway), but it requires a lot more assets and animations to do compared to a single static enemy sprite.
You also have to do more multiple-moving-things collision detection, and keep track of more moving objects (if there are ranged attacks) and stuff like that. But yeah, you do get to avoid the additional menus of JRPG, so maybe it's a wash.

Raenir Salazar
Nov 5, 2010

College Slice

roomforthetuna posted:

Farming isn't a game mechanic, it's a theme.

Gathering resources is ambiguous - are you just increasing numbers (like Starcraft gathering resources where there are just a few resource types), which is simple, or are you gathering varied resources with independent states, in which case this implies a whole inventory system and all the interfaces that go with that which is a heftier project on its own than an entire simple platform game. If you're lucky there's a library or something for this because implementing it from scratch is a lot of work and is very boring. It's also weirdly important - a frustrating inventory interface can easily make you hate a game.

Combat could mean almost anything. JRPG turn based poo poo (very easy). Original Zelda style (medium easy). Mortal Kombat style (way more complicated than it looks). Space invaders. Quicktime events.

By Dating Sim I assume you mean "choose your own adventure branching story", essentially. Implementation-simple but tough to make a good design, and a lot of tedious work.

Crafting is super easy *after* you have a whole inventory system and all the interfaces that go with it, because it's basically just a little bit more of the same.

This breakdown has also not mentioned the buttload of sprite work, the game menus, saving and loading, etc. all the tedious poo poo that nearly every game needs which will crush your spirit (and doubly so if it's a surprise to you). Highly recommend developing with half-assed placeholder graphics, or slightly less half-assed placeholders taken from one of the periodic game dev bundles on Humble Bundle or fanatical.com, unless making the art is your passion.

Farming is absolutely a mechanic? Maybe technically it's a collection of mechanics (Clearing, Planting, Watering, Harvesting), but in games like Harvest Moon, Minecraft, etc, it's a "mechanic" that these sorts of games are known for.

My point was to say that depending on how one breaks down the mechanics to plan what they want out of the project, it's a perfectly servicable beginner game project like any other; assuming reasonable respectable goals for a beginner; which is why I said "especially in their simplest forms" because its basically just like a half dozen smaller projects in one, as long as they have reasonable expectations and lower the scope as needed.

We're talking about a specific game that already exists that can be cribbed and learned from, the mechanics are well understood, and thus reasonable to breakdown them down into subsystems and tackle them separately one at a time; and then they can scale up or down further the scope as they wish.

The list I provided, isn't to say that this is the only possible breakdown, or all would be easy nor 100% inclusive of what I think the scope of the work would be; the point was that at a glance and as an example; that it doesn't seem totally unreasonable as a beginner project, because as I said its like 5 beginner projects in one. Is there stuff I'm probably missing? Sure? But it isn't my project either? It's not meant to be exhaustive, it's very ad hoc because I have my own projects. :) The exercise to actually sit down and think about what their goals are and what they want is ultimately walruscat's, I'm just saying that in my opinion that actually they should just go for it if this is what they want to do, it isn't that ambitious that it's wholly unrealistic to attempt as long as they go about it in a smart way.

Looking at the mechanics in context the reason there's many ways of scaling down the project relative to how it already works in games like Stardew or Harvest Moon, they don't need fishing, or mining, or even inventory, to get a basic gathering system working; but the decision is up to them but that would be a good in my opinion starting place to think about tackling the project. Divide and conquer.

Also, "dating sim" in the context of Moon-likes is just walking up to a character and giving them an item that the NPC "likes" to raise their affection meter so you can marry them so they'll live in your house. Not some big choose your own adventure thing, I think Stardew has dialog but I don't think there's any branching storylines? Downscaling this to just Walking up and giving an item you're currently carrying to an NPC that's a pretty reasonable "small" game project by itself.

Combat in Moon-likes is I think more Zelda-esque than not; so not quite anything, assuming that's what they're going for, you'd need presumably an Enemy to need to fight, and a weapon that may or may not be different from your farming implement, there's Decisions for sure to be made about this, I'd probably personally deprioritize combat until the main game loop was complete (gathering/farming) but again taken alone this is a pretty reasonable "small" project that doesn't really depend on any other system being implemented.

Like I'm very much not suggesting that they put together some fully working complex UI or saving/loading; quite the opposite in fact, but to view these sorts of things as modular subsystems and separate them out and work on them in at a time; and only on the most basic version thereof.

And looking at it from that perspective I can see a bunch of ways of downscaling the scope of a harvest moon style game and dividing it up into smaller projects, and that's basically my suggestion if they're worried they're biting more than they can chew. Start small, split up the work, downscale. Iterate, test, iterate some more. And only upscale their scope slowly as they reach miletones and they'll have a demo that gives them dopamine in a reasonable amount of time.

Tunicate
May 15, 2012

roomforthetuna posted:

You also have to do more multiple-moving-things collision detection, and keep track of more moving objects (if there are ranged attacks) and stuff like that. But yeah, you do get to avoid the additional menus of JRPG, so maybe it's a wash.

yeah doing that from scratch would be harder, but since Godot's got a lot of physics built in you don't have to handle collision yourself, and spawning/autodeleting projectile scenes is easy peasy.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

Raenir Salazar posted:

And looking at it from that perspective I can see a bunch of ways of downscaling the scope of a harvest moon style game and dividing it up into smaller projects, and that's basically my suggestion if they're worried they're biting more than they can chew. Start small, split up the work, downscale. Iterate, test, iterate some more. And only upscale their scope slowly as they reach miletones and they'll have a demo that gives them dopamine in a reasonable amount of time.
Yep, on that we agree (I said doing it with intermediate "complete game" goals earlier). My concern was "stardew valley is just these 5 things" makes it sound *way* easier than it is.

It specifically called out to me because I've been burned by this repeatedly - I think "oh this game is easy" and make most of the game and then need to backfill menus and poo poo and I hate that part so much that I just abandon the whole thing and do the fun part of some other project instead.

walruscat
Apr 27, 2013

Thank you all for the responses and discussion, and specially the discord link and youtube suggestions. I really appreciate it.

Vanguard Warden
Apr 5, 2009

I am holding a live frag grenade.
I've been learning Godot myself over the past couple of weeks. I had dabbled with Unity a bunch a few years back before a long hiatus of touching any gamedev stuff, and with the whole Unity news thing a bit ago I definitely wasn't going back to that so I started looking into Godot out of curiosity.

I'd say it's definitely a fantastic choice for 2D stuff, the built in tilemap tools take so much loving work off of your hands. A* pathfinding for NPCs only takes like two lines of code too since you can paint both nav-meshes and collision-meshes directly into your tileset. I don't know if Unity improved much in feature-set over the years I hadn't been using it, but I remember needing to do basically everything short of rendering myself via code. The 4.2 version of Godot that launched just recently finally added better handling for rotating/flipping tiles without needing a bunch of duplicate variants in your tileset, too.

My biggest recommendation is to watch any of the Godot tutorial videos on youtube about "composition" early on, you can get a lot of work done just moving stuff around in the editor without needing to write more code if you use the node/scene hierarchy tools right early on.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
I'd like to have a screenshot as a thumbnail for each save game in a UE5 project. I found the Blueprint block/function/whatever that will save a screenshot to disk. Is there a way to derive that path in a platform-independent way so I can carry it over to the save? Is there some other screenshot mechanism I should just use instead?

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!
Oh nice, I was just wondering if Godot has a "don't set fire to the processors" mode yet, and it does, "low processor usage" mode (doc) makes it only rerender when things are changing, almost exactly what I wanted. (Still doing frame-based input rather than operating system idle input, but 1% CPU when you're on a static screen is a lot better than 20% CPU and GPU.)

And WebRTC support too.

Kaedric
Sep 5, 2000

TooMuchAbstraction posted:

I feel like the vast majority of successful indie devs are doing it either with support from a working spouse, or after gaining financial independence from a previous career.

I've noticed a loooot of non-american devs able to at least make an attempt at making and selling a game, which I think is due to many of the countries having cultural funds that can help with this if you give a good pitch.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
UE5 was all about the Blueprints for everything, but then I wanted to make a subsystem, and suddenly it threw me into the C++ hell with all of UE5's whack-rear end stuff. I'm kind of surprised you can't subclass a subsystem as a Blueprint. What a strange line to make.

blastron
Dec 11, 2007

Don't doodle on it!


Rocko Bonaparte posted:

UE5 was all about the Blueprints for everything, but then I wanted to make a subsystem, and suddenly it threw me into the C++ hell with all of UE5's whack-rear end stuff. I'm kind of surprised you can't subclass a subsystem as a Blueprint. What a strange line to make.

The big problem with Blueprints is that you can build an entire game with them, but only if you stay within the bounds that whatever team worked on whatever feature you're using decided on, and those bounds can be pretty clearly defined as "would a programmer want to foist this off onto someone else so they don't have to deal with it?". There's a general assumption that the kind of person who wants to integrate against the EOS backend for identity management is the kind of person who's already writing most of their stuff in C++. You can make a whole game exclusively in Blueprint, but if you want to ship that game, you're going to need to interface with that whack-rear end stuff.

If you're running into weird C++ poo poo, @ me in the Dogpit discord. I'm not super active, but I've been working in this engine for far, far too long and can probably point you in the right direction.

Adbot
ADBOT LOVES YOU

Raenir Salazar
Nov 5, 2010

College Slice
I'm pretty lucky that when I accepted my current job they were using Unreal with c++ super heavily, so I feel like I've dodged many bullets and gained better development habits for using unreal out of it. :)

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply