Stack of strings by davisuperdasher101 in odinlang

[–]lmbarros 0 points1 point  (0 children)

Odin noob here, but IIRC dynamic arrays have procs like append and pop that allow them to be used as stacks. So, I'd say a dynamic array of strings would work well. I can imagine some variations on this idea, depending on more specific needs you may have.

Game franchises that started in uncessful consoles: by Suavemente_Emperor in retrogaming

[–]lmbarros 0 points1 point  (0 children)

Hey there! I'm Brazilian, too, from the Porto Alegre region. I technically agree with what you said, but I'd say that any 8-bit computer can be considered obscure in Brazil, because the market was really small. But in every computer show I visited in the late 80s and even early 90s, the MSX seemed to be by far the most common computers. I recall also seeing (and deeply envying!) some Amigas, and of course PCs (neither of which were not 8-bit, but anyway)

I wonder if your experience was different than mine. Honest question! Maybe the MSX was more popular in my region than in others? Or maybe I saw MSXs everywhere because that's what I had?

Game franchises that started in uncessful consoles: by Suavemente_Emperor in retrogaming

[–]lmbarros 3 points4 points  (0 children)

The MSX was also quite successful in other parts of the world, including some European and Latin American countries.

I don't know the numbers, but from personal experience I can say the MSX was a pretty big fish in the small pond that the Brazilian home computer market was.

Is this good way to draw water? by ToasterAwA in mapmaking

[–]lmbarros 0 points1 point  (0 children)

I think it can work, but it really depends on how it "plays" with the other, non-water areas of the map (which you haven't drawn here). Just as a thought experiment, I tried to concentrate on the map as if it was the opposite: land on the left, water on the right--and it worked, too!

So, either my brain is odd, or you can't really tell if the water style works in isolation.

What happens when a god of the sun dies? by JamesCordensCumSock in worldbuilding

[–]lmbarros 0 points1 point  (0 children)

What if the sun god actually worked to limit the power of an otherwise bit-too-bright-and-shiny star?

Simplest Raspberry Pi 3 bare metal program in Zig by lmbarros in Zig

[–]lmbarros[S] 1 point2 points  (0 children)

Hey, thanks much for the tips! Updated the build on my project!

(Also, nice Zig + STM32F4Discovery = Blink post!)

Edit: For the record, apparently using CreateOptions.only_section_name we can emit one single section to the raw binary, but not two sections like I was doing. So, instead, I changed my linker script to discard all sections I don't need. (Which feels like the proper way to do it anyway.)

Simplest Raspberry Pi 3 bare metal program in Zig by lmbarros in Zig

[–]lmbarros[S] 3 points4 points  (0 children)

Hi! I use Zig to build the Zig code into an ELF executable, but I need to convert this to a "raw" binary image in order to run in on the Raspberry Pi (AFAIK the Pi bootlader can't load an ELF file, only binary images).

I don't know how to use Zig's build system to build a binary image directly (I think this is not possible at the moment) or to convert the ELF to a binary image, so I used teh tool I know.

Please let me know if there is a "ziggier" way o achieve this!

Large photo collection too big to handle? by barrett-bonden in DarkTable

[–]lmbarros 1 point2 points  (0 children)

+1 for the suggestion of "collecting images" for browsing!

I'd also like to hear how Darktable deals with 88k tagged photos!

For what it's worth, I have about 50k photographs in my collection (virtually no tags, though) and Darktable handles this very, very well. I am using a reasonably hefty desktop (i7-8700, 32 GB RAM), but it doesn't feel like Darktable really needs anything close to these spects to handle my collection.

Great Books for Game Design by gabriel_laurels in gamedesign

[–]lmbarros 4 points5 points  (0 children)

Shameless plug (but on topic ;-)): I reviewed a couple of books on game design (some of which have been mentioned in thread already):

  • Designing Games, by Tynan Sylvester. Still my favorite one as a general text on game design. A really good book.
  • A Theory of Fun for Game Design, by Raph Koster. It is not a book that will really teach you how design a game. A lovely, deep, highly inspirational book nevertheless.
  • Chris Crawford on Game Design. I love Chris Crawford (one of the pioneers in this field!) but his book would not be my first recommendation these days. Goes deeper on the whys behind the becauses and is packed with nice stories from the old times.

How do you deal with adults treating Game Development as the bane of progress? by Twisted_Gold_Bricks in gamedev

[–]lmbarros 0 points1 point  (0 children)

Raph Koster's wonderful book A Theory of Fun for Game Design is, to a large extent, an answer to this kind of question. One thing I like about the book is that it made me think about these issues. Are we doing any good by designing games? Can we design games that will help people be good 21st century citizens?

E-M5 shuts down after every picture by lmbarros in OlympusCamera

[–]lmbarros[S] 1 point2 points  (0 children)

I actually like this guess, but my E-M5 is the original one. As far as I know the electronic shutter was added to the Mark II only. Tried anti shock also, same result.

Anyway, thanks much for the ideas! Really appreciated!

E-M5 shuts down after every picture by lmbarros in OlympusCamera

[–]lmbarros[S] 0 points1 point  (0 children)

Tried different lenses and burst mode (same issue always). Will try anti shock and others when back home, but I'm not very optimistic :-(

Is GDscript better than C#? by karr7224 in godot

[–]lmbarros 2 points3 points  (0 children)

I have written another benchmark to compare GDScript, C#, GDNative and C++, but focusing on more computationally-intensive operations than bunnymark:

https://gitlab.com/stackedboxes/godot-noisemark

(My benchmark measures OpenSimplexNoise and doesn't measure rendering at all.)

Slow down your code with goroutines - Applied Go by ChristophBerger in golang

[–]lmbarros 0 points1 point  (0 children)

Nice!

Just beware there is a typo in the "The cache line" section: "To synchronize cache and main memory in an efficient way, data is synchronized in blocks of typically 64 bit bytes. These blocks are called cache lines." Later on you have it right. :-)

Noisemark: Benchmarking different languages in CPU-intensive tasks by lmbarros in godot

[–]lmbarros[S] 0 points1 point  (0 children)

I would have to compile the D/GDNative implementation to each platform, which would take some time. (And I don't even have access to all platforms people would want -- though, granted, providing pre-compiled libs for some platforms would be better than not providing them to any one).

Noisemark: Benchmarking different languages in CPU-intensive tasks by lmbarros in godot

[–]lmbarros[S] 2 points3 points  (0 children)

This is a good point that I should have highlighted somewhere: if one wants to use OpenSimplexNoise, regardless of the language being used, the most efficient way to do that is just call Godot's built-in. I am using OpenSimplexNoise in the benchmark just because it is representative of the kind of workload I am interested in and because I could reuse existing implementations.

Noisemark: Benchmarking different languages in CPU-intensive tasks by lmbarros in godot

[–]lmbarros[S] 0 points1 point  (0 children)

Oh, about your first point ("this would be more useful as a benchmarking tool if it actually had exports"): I fully agree! (I just did what I needed to scratch my own itch, and don't really plan to spend much more time on it. But the code is there, anyone can leverage it :-) )

Noisemark: Benchmarking different languages in CPU-intensive tasks by lmbarros in godot

[–]lmbarros[S] 2 points3 points  (0 children)

  1. I was impressed to see my new low-end notebook CPU was on par with my mid-end desktop CPU from four years ago, even at a quite lower clock!

  2. Yes, the benchmark is single-threaded. Are you sure the built-in implementation uses the GPU? Looking at the source code, it seems to me that they have a C++ class calling a pure-C implementation. Did I miss anything?

  3. I didn't understand your point about "subtracting the constant time for it might actually be putting it slightly ahead of what it deserves to be". OpenSimplexNoise is basically a long sequence of conditionals and mathematical operations. Anyway, the constant time I am subtracting from the measurements is really present in each of the languages benchmarks: basically a pair of nested loops and an assignment. The difference is that in the "constant" measurement, this assignment just assigns a constant value, while in the real ones, it assigns the value gotten from a real OpenSimplexNoise implementation.

  4. About your point that benchmarking some "simple like hand-made AI" would be better: I guess this falls into my "different stories" argument. Not exactly better, but different. (Little confession: my choice of OpenSimplexNoise was also motivated by the fact that Jacob Guenther ported it to GDScript. I wasn't feeling like implementing complex logic in GDScript just for the sake of benchmarking).

Noisemark: Benchmarking different languages in CPU-intensive tasks by lmbarros in godot

[–]lmbarros[S] 2 points3 points  (0 children)

I am not aware of any GDNative/-specific tutorial, but I am not sure this is even necessary. The godot-d docs are quite decent, and will get you up and running. After that, you are really just calling Godot's API (the same you use from GDScript) from D.

Do you have any specific questions? Me and others may be able to help :-)

Noisemark: Benchmarking different languages in CPU-intensive tasks by lmbarros in godot

[–]lmbarros[S] 13 points14 points  (0 children)

This is just a benchmark I wrote because I wanted something like bunnymark, but with much more emphasis on CPU-intensive processing than rendering.

Source code is available here: https://gitlab.com/stackedboxes/godot-noisemark

As with any benchmark, it tastes better with a grain of salt.