HNHacker News
TopNewBestAskShowJobs

buba

278 karma · joined February 8, 2017

submissionscomments
buba··on Ive used deepwiki from devin.ai to document my project and its awesome
It's crazy how good this tool is generating documentation almost live https://deepwiki.com/PRDeving/easy-auth
buba··on MMO Architecture: Optimizing Server Performance with Lockless Queues
tbh i'm in the same state, actually working in a PoC architecture to stress the theory (https://github.com/PRDeving/MMO).

Regarding DBs...MMOs don't rely on them that much, it's safe to have everything in memory and persiste from time to time, and if it goes down, you just pull the backup and are good to go.

buba··on MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve
Yep, I noticed. It's an interesting approach tho xD
buba··on MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve
I've some other posts planned about this topic, I don't know when or even if im going to deliver, but you are free to follow the blog and receive the update if I ever do.
buba··on MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve
to be honest, i know nothing about private WoW servers but i promise i'll check it out!

Thanks!

buba··on MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve
yep
buba··on MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve
Interesting aproach to data ownership philosophy, I/O techniques and source of truth fuckery in MMO-like systems
buba··on Writing a game engine in pure C: The Graphic Initialization
yep, i said "get what you wrote" and it's true, if you want your iterations to not get out of range you have to do it yourself, if you want to make a dynamic array you have to do it yourself and if something is not working as expected means that you wrote something wrong, that's far from the opaque flexible behaivour on javascript, f.e.

I meant that i think is easier to understand C than other languages cause you see all the flow without weird library stuff, maybe i'm wrong, dunno :(

buba··on Writing a game engine in pure C: The Graphic Initialization
sad, but true
buba··on Writing a game engine in pure C: The Graphic Initialization
yep, I choose C89 for this project because there's no Object/Prototype/Class/overloaded bullshit, you get what you wrote and no more, i think it's easier to understand than any other high level language where you have to use obscure things by design.

Actually, this tutorial is not just about "building a game engine in C89", it's more about learning the concepts behind game engines, the language and the code is just illustrative examples.

buba··on Writing a game engine in pure C: The Graphic Initialization
Absolutely, i stick to C89 in this serie for clarity as you said, knowing what a game engine does under the hood is the only point here and C is a self explanatory language by design (even if it can be "tricky" sometimes), Im also doing tricky things with it (not that tricky anyways) like the method-like function pointers in the structures that can be "obscure" for those who only work with high level languages but i'm trying to explain everything with detail.

As i said previously, i'd never do a profesional game proyect (or even a hobby one to be sold) with C89, it takes lots of boilerplate and it feels like reinventing the wheel over and over. I'll have to code a hash map approach, a growing array (already did), a "garbage collector" in C89, things that you either don't need or have in the C++ Stdlib, so yep, you are absolutely right.

Also, i enjoy C :D

Maybe after this i could do the same with C++ macroprogramming

buba··on Writing a game engine in pure C: The Graphic Initialization
uh, interesting....

C++ tho, but i could port it, i'll give it a glance

buba··on Writing a game engine in pure C: The Graphic Initialization
this is not about SDL, it's just an easy way to open a window, import assets, handle events and reproduce sound.

Would you like to see a tutorial about how to do that in c89 compatible with windows, mac, Gnu/linux, consoles, etc? it'd take half million lines and 3 years.

buba··on Writing a game engine in pure C: The Graphic Initialization
good thing this is not an SDL tutorial xD

i'll address that things when needed but the project has like 500 lines, don't think that momment is now, to be honest...

Anyways, thanks for your support, lovely fellow

buba··on Writing a game engine in pure C: The Graphic Initialization
my first idea was to use glfw indeed, but i took SDL cause it's easier to set up and it gives me audio, image loading/parsing and input.

The project will not stick to SDL anyways, the idea is to use it as a high level API, not to build a game with SDL. I would like to use this engine for PSP also, and i'll have to take SDL out and put osLib in. problems for future me...

buba··on Writing a game engine in pure C: The Graphic Initialization
handmade hero is a piece of art, upvote
buba··on Writing a game engine in pure C: The Graphic Initialization
interesting, i'd suggest you to follow the blog, iv'e already implemented something like a dynamic array in the first post and will have to implement some other "modern" things in the near future, it's awesome what you can do in C89
buba··on Writing a game engine in pure C: The Graphic Initialization
true, i'd never do a C89 game from scratch as a profesional project, but this is not a profesional project, it's more like a hobby-academic approach to the lower level of game engine design :D
buba··on Writing a game engine in pure C: The Graphic Initialization
Just want to explain how things works, i don't know if i'll ever finish this proyect, but if i don't i want the things i did explain crystal clear, i want every concept well presented so every single post in the serie can be a piece by its own and you can learn something. I'm now trying to write two articles a week but it's hard, coding C89 is not fast, there are a lot of cavities and undefined behaivours xD
buba··on Writing a game engine in pure C: The Graphic Initialization
C gives you all control over your machine, there are no obscure libraries, grabage collector or unexpected stuff, if something doesn't work as expected you know you have fcked it up. I'm using C here cause 1st, i like it a lot, and 2nd, i think it's the clearest language out there, you can follow the code execution from start to end and "almost" know what's happening, it doesn't have function overloading, obscure scopes, garbage collectors or automatic weird typing.
buba··on Writing a game engine in pure C: The Graphic Initialization
Well, the point is to learn how to build an engine with modern capabilities (those that you are supposed to use with C++ like namespaces, methods, ECS architecture, networking...), SDL is just a tool to not having to write the whole window/input/media/opengl logic from scratch. I could write a SDL tutorial and make a game in 3 hours; it's not as interesting i think, for me the objective is not to write a game but to explain how engines works and desmitify them a little :S

But you are right, it'll take a daaamn long time. I've the third and the forth parts almost ready, covering the engine architecture itself, the private scene scope and the image->texture->sprite stuff but i havn't started yet with ECS, fs, configurations, physics, networking... this field is really extense.

buba··on How does a CPU work?
I totally agree with you, but as you know, a CPU is pretty complex and is not possible to explain it all in just one article. Before writing it i've been looking for something similar and have not found any other article that explains as much as i've covered, so, to me it can be considered far from being perfect but "good enough".

Also, i'm technical but don't want to spoon-feed anyone, the article says what a logic gate is, how are they built and which ones are the basic ones, after that, just some wikipedia and google will be enough to teach any reader how to build the other variations, same applies to flip-flops.

I'm not witting this as rude as it looks, indeed, i agree that i've been far from explaining exactly how everything works and fit together, but i tried my best to make it simple, not too techie and easy to read, and becoming a text-book was just out of my scope.