Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 19 20 [21] 22 23 ... 31

Author Topic: Can delphonso make a commercial game?  (Read 49527 times)

Starver

  • Bay Watcher
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #300 on: November 27, 2022, 02:07:52 pm »

Even 'messy' graphics can be a style choice, possibly harder to do right than a full set of detailed Blender-rendered sprites with greebles/nurnies galore. (A decision to succumb to horror vacui, or not, is also a consideration.)

Either way, you need to be consistent. Or at least justified if you're not, like "this level is deliberately cartoon physics, so a different style"/"this status effect switches the view into a Matrix-esque ASCII-art overlay" might apply... making even more work for you, in the process!

As I haven't an artistic bone in my body, I'd probably put my effort into (possibly procedural) rendering based around a thematic skeleton/shell appropriate to a given item, fine-tuning the parameters untilnit looks Ok, but I admire those who can improvise purely "through the pen" without a second thought. And people will exist all across the continuum of capability. Work with what you can do. Try to make it a feature, if not develop something or other as your signature style...
Logged

EuchreJack

  • Bay Watcher
  • Lord of Norderland - Lv 20 SKOOKUM ROC
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #301 on: December 02, 2022, 12:50:56 pm »

Yeah, anything that is used to convey messages to the player should look good and also clearly send whatever that message is. It's jarring if you press 'start game' and the game immediately drops you into combat, for example.

I now think more games should do that.  Adrenaline rush for the win!

King Zultan

  • Bay Watcher
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #302 on: December 03, 2022, 03:09:25 am »

Yeah, anything that is used to convey messages to the player should look good and also clearly send whatever that message is. It's jarring if you press 'start game' and the game immediately drops you into combat, for example.

I now think more games should do that.  Adrenaline rush for the win!
Some times it's exciting but others it's terrible.
Logged
The Lawyer opens a briefcase. It's full of lemons, the justice fruit only lawyers may touch.
Make sure not to step on any errant blood stains before we find our LIFE EXTINGUSHER.
but anyway, if you'll excuse me, I need to commit sebbaku.
Quote from: Leodanny
Can I have the sword when you’re done?

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #303 on: December 03, 2022, 04:18:04 am »

Yeah, anything that is used to convey messages to the player should look good and also clearly send whatever that message is. It's jarring if you press 'start game' and the game immediately drops you into combat, for example.

I now think more games should do that.  Adrenaline rush for the win!

Come to think of it, more than a few arcade games do exactly that, but you know...they also had the controls printed on them too.

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #304 on: December 27, 2022, 06:39:20 am »

Okay, after a few rough weeks of unknown work resuming dates, covid wrecking havoc on this country, and the holidays, I've got a good 4 weeks before I have to work again.

So what can I do in four weeks?

I went back and played Sewer Kings for the first time since I released it and I'm actually quite pleased with it. It's like...a real game, basically. Short, but there's something there that suggests I might actually be able to be good at this.

Rather than just crank out a game, I think I'd rather put the next four weeks' time into learning important skills when it comes to game dev.

Notably - I need to learn how to save data permanently on a user's computer. I also need to learn how to make animations look good on Godot. Both of these are relatively straight forward, but are important skills that will require time and effort to master.

If I crank those out quickly...well, I can either begin/resume work on the whole River King clone, or I could try and make a XCOM-style prototype. I'm a big fan of those sort of games and have been playing a lot of Depth of Extinction lately. It's an entirely different type of game, and would also require learning a new skillset. Not sure if that's a good use of time because 1, River Clone won't be that type of game and 2, Depth of Extinction pretty much gives me everything I want from the genre, so there's no room for me to improve.

eerr

  • Bay Watcher
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #305 on: December 27, 2022, 03:06:02 pm »

The easy way is probably to go with plaintext w/ a little markup.

Modern csharp has the best text writing/parsing money can buy.

It's somewhat more complicated if you want to preserve a complex data structure.


I worked with a knowledgeable programmer on a game jam once.
He dug up his old save data parser,
aka it's something you can standarize enough to be mostly reusable out of the box.
(and i found the first bug in it)
Logged

Starver

  • Bay Watcher
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #306 on: December 27, 2022, 05:15:48 pm »

For my projects that need persistent data (in Perl, often), I use one of other of an arbitrary delimiter-and-linefeed separated text file (e.g. .csv), a full JSON export/import of data structures, occasionally something based on YAML or XML...

By default, they generate (offline-)editable files that can be easily messed with by someone (me, usually, who knows how not to break things when doing so... usually!), in useful ways that the next run of the utility can happily find to both its and (ultimately) my own advantage.

But if I were doing a 'savegame', then I'd use a reversible obfuscation on top of whatever initial encapsulation I used. It could be (though it probably shouldn't be) just ROT13ing it before writing to file. Perhaps even a form of token-aware LZWing that further XORs each byte in the save-stream (compresses as it converts, then further pseudorandomises it beyond trivial analysis), with a bit of periodic randomness and/or checksuming to defeat attempts to replay or analyse until something works (making sure that it quietly but later firmly fails, to prevent the usual brute-force methods of reverse-engineering the sensitive bits)...

But I obviously wouldn't use this exact method for a public project (having lost any degree of Security Through Obscurity. And if Godot doesn't have a nice handy set of data-object converters that'll do various pre-sanctioned (and, moreover, thoroughly and professionally tested) munging/demunging things, on the way to and from a suitable file-dump.

Also, if I did any of my suggestions in my .pl files, the key to a third party getting around my precautions against savestate-hacking would be to read (or even rewrite) my very fancy code and discover(/disable) every little one of my game secrets! I don't know (because I've yet to dabble in Godot, despite liking wat I heard about it from yu, a while ago) what methods and precautions a Godot project can use, but I bet it's a better situation than "if you can't read Perl, it's safe". ;)
Logged

King Zultan

  • Bay Watcher
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #307 on: December 28, 2022, 02:23:55 am »

Glad to hear you're still working on this, but I don't know anything that could help you on your project though.
Logged
The Lawyer opens a briefcase. It's full of lemons, the justice fruit only lawyers may touch.
Make sure not to step on any errant blood stains before we find our LIFE EXTINGUSHER.
but anyway, if you'll excuse me, I need to commit sebbaku.
Quote from: Leodanny
Can I have the sword when you’re done?

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #308 on: December 28, 2022, 02:32:48 am »

Well, it turns out that since Godot is a fully-featured game design tool, they have built-in formatting for save data so I don't really need to get too deep in the weeds with it. In fact, I could have done this without understanding how data is saved at all!

First off, json can be parsed natively in Godot, but because of the format, it struggles with Godot's data types (like saving vectors). I was presented with two immediate options: save as simple .dat files (I believe just saved in hex), or use Godot Resource files to save data.

On the topic of save manipulation, .dat is better, though the level of security is pretty light. Resource files are saved as plain text, and could be easily manipulated. As I thought about this more, though, I decided I didn't care and am comfortable with people editing their saves to have more fun/break the game.

That said, I did the .dat version of saving first, because it is easier to add to a project that is already in progress.



Remember this guy?

Well this has everything I need to test saving. So let's do it!

First, I assign the z key to save and x to load for no good reason at all.



Inside our character, when it's checking what keys your pressing to move your guy around/pick up worms/catch fish, now it also checks for z or x being pressed. We chuck a custom function into each of these.



It's not visible here, but the only variable that is kept outside the function is "save_path" which points to simply "user://save.dat"

user:// is a folder which the engine makes specifically for this sort of thing. It is persistent, on Windows I guess it's saved in AppData or User, probably. On linux, it'll save in ~/.local/share/godot/app_userdata and then whatever directories have been made for running godot projects. The tutorial I followed also mentioned the use of a Directory function that I could use to separate this stuff up, should I wish to (currently, I don't wish to.)

Anyway, pretty straight forward - a single save file is opened and written. File.store_var will save whatever we want it to, so for the example, I just saved a number.



Loading is just as simple. We dump everything from the save file into a variable.

So let's use this to...like make a game.

First, we need to know what to save, and this is where I clearly see the flaws of this method. I have to do a mental checklist of everything I would want to save. Scrolling through the script, I grab these 5 values, but on a more complicated game, this could be a lot.



The easiest way to automate this, I think, would be to save all these stats as a separate file, then save, load, and update from that file instead of from each variable separately. This would be done using Resources in Godot - which I did a bit of in Sewer Kings. Tomorrow, I'll probably attempt to do something like that with this same game. It's simple enough that I could make those adjustments in less than an hour. Anyway, that's for tomorrow.

I set the data that is saved to this in the save function, which would be loaded in the load function, but needs to be applied to the game world. To do this, I create a new custom function:



The net and rod should always reset themselves, but I put it in there just in case something weird happens mid-save. reset_text is a function that was already in the game that just updates all the information that is visible to the player - which should work great now that all the values have been updated.



A quick tap of the z and x keys show that everything should be working alright. I walk a bit to the right, save, then I close the game, then walk to the far side of the screen. Pressing x reloads! This also works during the game - allowing you to save and load at any time. The randomize function is never recalled, so the pseudorandom numbers are still in their queue, I believe. Just a note for next time.



Tomorrow: see how much of this I can automate without having to type in every single variable I want to save and load. Obviously that would be something to keep in mind at the START of a project, not the end of one - but it's good to know I can add save/load to any gamejam game pretty easily with what I learned today. Using Godot's data-type Resources, the processing time should be way faster, it also saves all the data types in Godot without issue, though there is a persistent bug of having trouble loading data inside other data. I have no idea if that would even come up in whatever I try and make, so it may be a non-issue. Really I need to figure out what I want to save before choosing the best save method to do so. Alongside that, I'd really like to make a big list of everything I would need to do to make a River King clone that doesn't look like shit.

For the record, I took all of this from GameEndeavor's tutorial here: it's 10 minutes and very good.
« Last Edit: December 28, 2022, 02:34:48 am by delphonso »
Logged

King Zultan

  • Bay Watcher
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #309 on: December 28, 2022, 05:20:15 am »

Already starting to look like an interesting game, also why do you get health can the fish hurt you?


Also what about putting the save file in the folder the game EXE is it, I've noticed that that's what most small games do.
Logged
The Lawyer opens a briefcase. It's full of lemons, the justice fruit only lawyers may touch.
Make sure not to step on any errant blood stains before we find our LIFE EXTINGUSHER.
but anyway, if you'll excuse me, I need to commit sebbaku.
Quote from: Leodanny
Can I have the sword when you’re done?

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #310 on: December 28, 2022, 09:11:26 pm »

Already starting to look like an interesting game, also why do you get health can the fish hurt you?


Also what about putting the save file in the folder the game EXE is it, I've noticed that that's what most small games do.

This was the first prototype of River King clone that I made - you dig for worms, and occasionally, get beat up by rats while looking for worms - thus the health.

According to the Godot documentation:

Quote
Self-contained mode¶

If you create a file called ._sc_ or _sc_ in the same directory as the editor binary (or in MacOS/Contents/ for a macOS editor .app bundle), Godot will enable self-contained mode. This mode makes Godot write all editor data, settings, and cache to a directory named editor_data/ in the same directory as the editor binary. You can use it to create a portable installation of the editor.

So yes, I should be able to keep everything in the same folder, which is something I hadn't thought of, but will likely do because that seems like a convenient thing to do (assuming the game size is pretty small to begin with.)



EDIT: Didn't read literally the next line...

Quote
Note

Self-contained mode is not supported in exported projects yet. To read and write files relative to the executable path, use OS.get_executable_path(). Note that writing files in the executable path only works if the executable is placed in a writable location (i.e. not Program Files or another directory that is read-only for regular users).

Either way, yes I could do that pretty easily. instead of setting 'save_path" to user://save.dat I could simply set it to save_path = OS.get_executable_path() then add the file after grabbing that path. Or add a folder for saves.
« Last Edit: December 28, 2022, 09:15:17 pm by delphonso »
Logged

King Zultan

  • Bay Watcher
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #311 on: December 29, 2022, 03:34:38 am »

Holy crap I helped somewhat I didn't think that'd happen since I know nothing about coding.


Also getting your ass kicked by rats sounds like it'll be funny.
Logged
The Lawyer opens a briefcase. It's full of lemons, the justice fruit only lawyers may touch.
Make sure not to step on any errant blood stains before we find our LIFE EXTINGUSHER.
but anyway, if you'll excuse me, I need to commit sebbaku.
Quote from: Leodanny
Can I have the sword when you’re done?

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #312 on: December 30, 2022, 07:01:05 am »

I didn't do any coding today and you can blame it all on Mookzen, who gifted me Vampire Survivors for the XMAS GIVEAWAY.

This game is great - very addictive, very simple.

It's coming to a 3 day weekend, so I'll be busy with the kid the whole time, so maybe I can break this addiction and get back to coding.

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #313 on: January 01, 2023, 03:03:06 am »

*I stride in, slide a folding chair across the ground toward the table. It catches on a rug and snaps closed, taking three of my fingers with it. I squat awkwardly at the table, the pale grasp of unconsciousness creeping into my eyes.*

Okay, so here's the plan.

Save files by use of Resource

If I rewrite the fishing game, I can store everything in Resource files - I can then tell the game to search through all nodes in the scene, and save any that are of the type "Resource", thus saving all stats/progress as long as they are in Resource, but also not saving stuff I don't want, like...the current level (no need to store that in a dat file, right?)

This process /should/ be pretty simple, and I think I already grasp it.

                                         Narrator: He does not.

But rather than making the same project over again, I've got a much WORSE idea!

Hey kid, you wanna buy some tactics?

Been playing a lot of Depth of Extinction (great game that is just XCOM) and also Horizon's Gate (great game that is just Final Fantasy Tactics).

XCOM's core mechanic is cover. It's a tactical shootbang game, so the most important thing is getting into cover.

FFTactics relies on "facing" - since it's a (mostly) melee game, it's about moving in and keeping your back to a wall/corpse of an enemy that no one can stand on.

I think I can meld these two elegantly by having ranged be countered by cover, but melee countered by being in the open, giving you a dodge chance. I'd like to explore this more and make a simple tactics game (no levels/progression, just the basics) while at the same time, implementing the different save system.

So I grabbed some assets from OpenGameArt and am going to get started tonight.

The following is a list of things I need to figure out:

Resource-based save system + loading.
A* pathfinding for grid-based movement.
Writing tactical AI (yeeeeesh)
Calculating line of sight and cover.
Calculating dodge chance in melee (easy)
Figuring out a turn-order system (also...probably easy?)

Wish me luck!

King Zultan

  • Bay Watcher
    • View Profile
Re: Can delphonso make a commercial game?
« Reply #314 on: January 01, 2023, 06:12:19 am »

So you can't just add that stuff to your existing game?

Also exciting sounding new game you've decided to make.
Logged
The Lawyer opens a briefcase. It's full of lemons, the justice fruit only lawyers may touch.
Make sure not to step on any errant blood stains before we find our LIFE EXTINGUSHER.
but anyway, if you'll excuse me, I need to commit sebbaku.
Quote from: Leodanny
Can I have the sword when you’re done?
Pages: 1 ... 19 20 [21] 22 23 ... 31