Recent Posts

Pages: « 1 2 3 4 5 6 7 8 9 10 »
61
Cute Discussion / Re: Admins
« Last post by SquareWheel on August 23, 2023, 11:52:05 PM »
Sure why not
62
Cute Discussion / Admins
« Last post by hubol on August 23, 2023, 07:40:37 PM »
Can the default theme for the forums be Curve Multi Color;vrt=pink
63
Cute Discussion / Re: do you lot still appreciate capies?
« Last post by SquareWheel on August 22, 2023, 06:55:27 PM »
I've been sort of wanting to replay it again too.  Guess it's a good thing I have an atrocious memory.  I remember a few unique regions and that's about it.
64
Cute Discussion / Re: IguaRPG 2 Devlog
« Last post by dcco on August 21, 2023, 10:58:35 PM »
The compiler problem is interesting. Some languages(?) have a "hot swap" feature. I know that I was able to use this when I was working with Java in Eclipse and maybe JetBrains. Basically you run the program with some special configuration and, while the program is running, certain changes to Java source files are picked up. This stackoverflow discussion from 2018 indicates that might not exist for Scala: https://stackoverflow.com/questions/50696440/can-hot-swap-be-used-with-scala
Yeah, it's definitely harder to figure out how to do stuff in Scala rather than Java. They do have a build tool that does rolling re-compilation (saves information about previously-compiled code in between recompiles) which makes things more bearable - but still kind of an annoying language for some aspects of game programming I find.

Quote
I think this problem is probably why some game engines embed scripting engines for the game logic. That way the big C++ (or whatever) engine gets compiled less frequently and your scripts are reloaded and reinterpreted by the engine.

Yeah I guess it would basically be a custom scripting language, but then the main language is also a custom language. Probably overkill, and not sure if it's worth bc I'll have to make all my own tools too, but I've been wanting to make my own language for game programming anyway.

Quote
Dummying them out sounds interesting, but also sounds a bit overkill for what I've done in my awesome game development career. I know that for certain (all?) formats for sound, you can stream the file to the audio device. This could be useful for music, since you wouldn't have to wait for the entire file to load, just enough to fill the buffer to send to the audio device.

In IguaRPG, I didn't do this because I didn't learn how. Maybe someday... But what I did there was load the music asynchronously and as-needed. When you enter the desert town, for example, the music files for the field, bar, inn, oracle, and witch's house all start to load (I called this "warming"). This is done with the following code written in the start-up of each "level" (roughly equivalent to the "Room Start" event of a Game Maker "room"):
...
Oh actually for browser, loading things asynchronously sounds like a better solution, since that's how browsers are supposed to work anyway. Sensible behavior for when the files aren't warmed probably is the trickiest part - but past that it's probably good enough to get most of the media loaded seamlessly. For my desktop game I front-loaded all media files at the start, but when I think about it doing something similar probably wouldn't be a huge issue, and would reduce the initial start-up time by a lot.
65
Cute Discussion / Re: do you lot still appreciate capies?
« Last post by dcco on August 21, 2023, 10:22:48 PM »
Yeah I thiink a lot of the fun in AUS was the discovery, and knowing where everything is it's not as interesting. The actual gameplay isn't as fun as other Maddie hard games.
66
Cute Discussion / Re: do you lot still appreciate capies?
« Last post by hubol on August 21, 2023, 08:48:51 PM »
So good. Love the delayed audio and WinXP hints.

I played AUS recently. Very nostalgic experience but also can't say I had a lot of fun...
67
Cute Discussion / Re: IguaRPG 2 Devlog
« Last post by hubol on August 21, 2023, 08:42:44 PM »
I've had this problem in game dev too only to a worse degree because scala compiler is notoriously slow (30s rebuild times pretty common). I've been theorizing a language that lets you change game code while the program is running (for certain classes of changes)..... Probably will be a long time before I actually do it, but definitely relate to the struggle lol.

The compiler problem is interesting. Some languages(?) have a "hot swap" feature. I know that I was able to use this when I was working with Java in Eclipse and maybe JetBrains. Basically you run the program with some special configuration and, while the program is running, certain changes to Java source files are picked up. This stackoverflow discussion from 2018 indicates that might not exist for Scala: https://stackoverflow.com/questions/50696440/can-hot-swap-be-used-with-scala

I think this problem is probably why some game engines embed scripting engines for the game logic. That way the big C++ (or whatever) engine gets compiled less frequently and your scripts are reloaded and reinterpreted by the engine.

I can even imagine it doing something like excluding resources / dummying them out when you only need to test subsets of the game (Music has always taken me the longest to load so often not loading most of the game music helps me).

Dummying them out sounds interesting, but also sounds a bit overkill for what I've done in my awesome game development career. I know that for certain (all?) formats for sound, you can stream the file to the audio device. This could be useful for music, since you wouldn't have to wait for the entire file to load, just enough to fill the buffer to send to the audio device.

In IguaRPG, I didn't do this because I didn't learn how. Maybe someday... But what I did there was load the music asynchronously and as-needed. When you enter the desert town, for example, the music files for the field, bar, inn, oracle, and witch's house all start to load (I called this "warming"). This is done with the following code written in the start-up of each "level" (roughly equivalent to the "Room Start" event of a Game Maker "room"):
Code: [Select]
jukebox.play(Country).warm(NewDesertOracle, Bluehouse, Shop, DesertField, Witch);
From: https://github.com/hubol/igua-rpg/blob/518103cf89ff2e0921af74631d750d42befaff6f/src/levels/desertTown.ts#L39

When .play is called on the jukebox object, the jukebox asynchronously waits for the "warming" process to finish (or starts one if one was not already started), then begins to play the song! The asynchronous nature here means that the game doesn't freeze during this time.

I found the warming approach to be satisfactory. And when the music file is not "warmed" (e.g. when the player loads their save file), the load time for the music file is pretty fast on desktop. Probably less than a second! This is probably from a combination of:
  • Using the .ogg format
  • Having short music files ^_^
  • SSDs are fast

(It is quite a bit worse in the browser since it has to make an HTTP request and that can take a while!)

Also I've heard of Trello before, have you used it a lot already? I've been thinking of using one of those corporate task organizer things but I'm bad at adapting new workflows lol.

I have now used it for SBW2 and IguaRPG! I like it because I choose not to empty out the "Done" column, so I end up with a big huge pile at the end of the project, which I think is cute! You can see the one I had for Igua, here, I think: https://trello.com/b/Zmb2cdPl/iguana I've got some silly column names.
68
Cute Discussion / Re: do you lot still appreciate capies?
« Last post by dcco on August 21, 2023, 04:20:09 AM »


still my greatest gaming achievement
69
Cute Discussion / Re: IguaRPG 2 Devlog
« Last post by dcco on August 21, 2023, 01:22:36 AM »
Towards the end of development of IguaRPG, my code-change-to-reload time was slowing down due to the number of simultaneous HTTP requests needed to get all of the sprites and audio files!

I've had this problem in game dev too only to a worse degree because scala compiler is notoriously slow (30s rebuild times pretty common). I've been theorizing a language that lets you change game code while the program is running (for certain classes of changes)..... Probably will be a long time before I actually do it, but definitely relate to the struggle lol. I think a resource management cool is a much more practical middle ground for that kind of thing lol. I can even imagine it doing something like excluding resources / dummying them out when you only need to test subsets of the game (Music has always taken me the longest to load so often not loading most of the game music helps me).

Also I've heard of Trello before, have you used it a lot already? I've been thinking of using one of those corporate task organizer things but I'm bad at adapting new workflows lol.

Overall excited to follow this devlog while I'm unable to do game dev of my own lol.
70
Cute Discussion / Re: IguaRPG 2 Devlog
« Last post by hubol on August 21, 2023, 12:14:32 AM »
Oops I just fixed the permission issue (-:

And thanks! I try ^_^
Pages: « 1 2 3 4 5 6 7 8 9 10 »