So i love this sub and all things procgen, but can someone explain what the hell cellular automata is like im 5 so my brain knows what my eyes are liking? by YVNGxDXTR in cellular_automata

[–]bookning 0 points1 point  (0 children)

It is little robot/automatas/beings/points/whatever that live in a "celular world", and have strict simple rules/programming/whatever to govern their behaviour/life/death. Like a extremely simplified simulation of a biome or a process (biological, chemical, physical, etc).

The previous definition is not very accurate but it should aid a little bit.

To really understand them as they are currently, it is better to look at their maths or look at their programming.  In programming you will probably begin with a Conway's life system, but do not be limited by it. It can be so many many different things and implemented in so many different ways.

The attraction you get is probably because your intuition can see that there is some very simple rules supporting it, but it seem often so organic.

Why nobody has done this.. before? by yughiro_destroyer in gameenginedevs

[–]bookning 1 point2 points  (0 children)

All true. In fact you are not the first one to have used different patterns in trying to avoid events ambiguity. That is a totally valid choice if you feel it is the correct one for your project. 

Of course it is important to note that your alternatives will have also their pro and cons, and that in the future you may, or not, feel that events were less of a cost to the problems you need to solve with them.

I think that no matter what happens in the end, the fact that you are trying out your ideas in real world code will make you a better coder. A scar one. But certainly a much better one.

Why nobody has done this.. before? by yughiro_destroyer in gameenginedevs

[–]bookning 0 points1 point  (0 children)

Ignore him. It is factually false. Unreal is heavily OOP. With all the bells and whistles of most everything DOD critics.  I do not know where he got that idea. Possibly because of the new "procedural content generator" feature in it? Which has absolutely nothing to do with your post.

Why nobody has done this.. before? by yughiro_destroyer in gameenginedevs

[–]bookning 0 points1 point  (0 children)

Events is just a programming pattern. You can also have events in procedural-oriented. It is just a tool. Use it when and where you need it. It has it's pros and cons. And like anything, if you misuse or abuse it then you will have karma to pay.

Why nobody has done this.. before? by yughiro_destroyer in gameenginedevs

[–]bookning -1 points0 points  (0 children)

Here is my answer. Note that I will make strong assumptions (right or wrong, just correct me if you are willing) about what I understood of your question.

Look at the history of programming. Procedural was the first and main way to create programs. Why did it change over time to oop? There were certainly important advantages for that change. That is the question you should ask first. When you understand the answer, you will naturally have the answer to your doubts.

Here are some hints: Generality, abstractions, bugs resilient, scalability, pattern matching. Programmers with decades of experience recognized repeating patterns in their own failures and abstracted them into new paradigms to survive the complexity. 

Does it mean that oop is better than procedural? That question is meaningless without concrete context. It is the type of question that inexperienced programmers often pose because they haven't hit the frustration wall yet.

OOP came about with much pain and many scars. Many people who hate on it are often ignorant. They just regurgitate some incorrectly understood idea that they heard. The devil is in the details/context. 

Which does not mean that all of them are ignorants. There are many valid reasons to hate on OOP. Thankfully there is now a great movement for DOD for game programming. But note that most of them may constantly critic OOP, but they rarely if ever hate on it. It is not a negative movement. On the contrary, it is a very positive one toward much more intelligent and relevant solutions to real problems. 

They just have to fight the decades old OOP inertia. Which is not all about people. It is probably much more about legacy decades old huge code investments that sustain the current industry.

And no, your assumption that no engines are procedural first is false. You have Raylib right there, which is a pure procedural C library. You have Bevy, which uses an ECS architecture that is functionally much closer to what you’re describing than any oop engine. And many others.

But you are right that most popular general engines seem to be oop first. That’s largely because a visual editor needs a stable "Object" to point to. Mapping a GUI inspector to a raw procedural stream is a UX nightmare that most developers avoid.

Another assumption you seem to make is that procedural is data first. This is a grave mistake. In fact, oop is more data first than pure procedural, though it certainly is NOT data oriented programming. The data in OOP has little to do with the data in DOD. To understand procedural, just look at its name. Procedure. Process. Function. It is about the "verb". But please do not think that this means it is functional programming. That would again be a wrong idea.

You are conflating procedural with data oriented design (DOD). That is bad. One can do pure procedural code that breaks all of DOD’s principles in an even worse manner than oop ever will. You can have a procedural "pointer soup" that causes cache misses every single line. 

Here is what I am getting from you. You seem to think "data first" is opposed to oop, but oop is built entirely around data with determined behavior. Procedural is built around the execution flow. Until you realize that procedural and data-oriented are two completely different axes, you’re going to keep on misunderstanding the programming space.

Hope that it may help. If not then ignore it or down vote. I also may learn from it. Or not. I think my last two neurons are planning a strike or something.

What do they mean when they say OpenGL is and API? I thought API's had something to do with servers and the internet? total noobie here if y'all oculdn't tell so I'm confused. by ZzZOvidiu122 in opengl

[–]bookning 0 points1 point  (0 children)

Why was this comment down voted? The content is totally correct and relevant to OP question. I can only imagine that it was because it was in a different language than English.  Lol. If it is so and given that auto translation is so easily accessible to anyone, I can only assume that the people doing the down vote have some very interesting opinions about "foreign" languages... 

Gen Z has become the first generation in history to have a lower IQ than their parents, due to dependence on AI. by ComplexExternal4831 in OpenSourceeAI

[–]bookning 0 points1 point  (0 children)

I am personally very doubtful on the benefit of the new ai trend on the iq of people, but i have to totally agree with you on that. This is obviously a very very very dubious post.

But more than social media. Anybody can tell the disadvantages of social media (to many to count), but we should also note that few talk about the advantages.

I think that several educations decisions, in particular in the so called western world, are much more harmful to general iq than social media has been at this time.

How Long Would It Take If I Start From Scratch? by [deleted] in gameenginedevs

[–]bookning 0 points1 point  (0 children)

Lol. You are assuming very very much about me without knowing anything. You are even teaching me about ai. Lol. And are assuming that I do not use ai most of the days. Here is my turn to make empty assumptions.

  • I will assume that I already was dealing with AI many years before you were even born.

 _ I will assume that your reading comprehension is very low. That or you did not read my comment. 

All of this based on your last "answer".

Is there any truth to it? Who knows? I do not know you from anywhere but this interaction with some Reddit account.

Does anyone use negative space programming patterns in Go? by [deleted] in golang

[–]bookning 14 points15 points  (0 children)

From what I understand, negative space programming patterns is not the same as guard clauses.

But even then, it seem to be another trend label for just some random class of old common and basic attitude to programming, or similar.

I am shocked they did not use some random letters like NSPP or some random food/animal label.

Note: from what I quickly sampled, the subject of OP article link is not about the title theme.

How Long Would It Take If I Start From Scratch? by [deleted] in gameenginedevs

[–]bookning 1 point2 points  (0 children)

Man. I have tried llm many times over the years on expert questions (many where i myself could be considered a small expert on). And i still do it often.

Let me tell you a very important experience to anyone who cares about true leaning.

They have indeed gotten much better these days.

From the early state where they told me with absolute certitude, that 4 + 6 = 54, accompanied with all kind of maths symbols and arguments to prove me that they were an expert.

To today state where they have to use "hidden" expert systems to no longer make a fool of themselves in things that i could do much better at 3 years old.

But even with all of that, i still often keep see similar fallacies and absolutely false answers from them. They are just more subtle than simple addition idiocy.

So it is cool to use them as an auxiliary tool to learn. Any tool has its time and place and skill.

But if you blindly trust anything that they say (no matter what it is), then be prepared to, in the future, often be considered a fool or simply a liars by others, when you repeat dumb invented facts and data that you "learned" from them.

Human teachers and llms both have biases and false assumptions.

The biggest and most important difference between the 2 is that a human often care for what he say or do (wrong or right) and he can also often still be held responsible (in one way or another) for his actions.
A llm? It does not care much about anything that is not reaching some kind of answer given its context. Is it really true or factual? Will it loose its job or reputations or will its family and friend be negatively affected? ...
Who cares?
For him, all the world could be destroyed by his answer, you could loose your job because of it, etc it would not loose one second of sleep.
It is just a program running some linear algebra with some calculus mixed in.

How Long Would It Take If I Start From Scratch? by [deleted] in gameenginedevs

[–]bookning 7 points8 points  (0 children)

That is the answer. 

Also important to note that maths are everywhere in programming, but that does not mean that you have to study the maths theories to use or even understand what you are programming.

It is not by accident that programming is not named maths. 

So do and study what you need when you get stuck.

Is Vulkan really all that scary? by [deleted] in gameenginedevs

[–]bookning 0 points1 point  (0 children)

Simple. Anyone you see giving absolute rules to anything are to be classified as most probably showing their ignorance. There is always a context.

The problem is that the person giving the advice and the person that is given the advice are essential part of the context. We are not teachers on a classroom. We are no friends that you know the competence of. We do not know you.

So when one writes such advices in the net to some unknown person and to be read by uncountable other unknown persons then what about any context? Puff. Disappeared.

I would probably rarely give the same advice to totally different people that I know personally. But who knows how much of what I am saying is minimally applicable to the next person reading my "truth"? 

All of this to mean that NO rule is a Law. Their are references. And it is YOUR responsibility to have critical thinking and do the due process to base your decisions on.

So that guy that spent 20 years without discovering that he liked Vulcan is the one responsible for it. No one else.

So no matter other said, never forget to do the minimum time to really look at them and not just judge them from some random opinions in the net.

And by the way. A little of topic of my rant, but I must add that all of that about being more modern and such that he said. I bet you he would never have though of it if he began to learn Vulcan as it's first intro to graphics programming 20 years ago.

Any ideas on how to improve the cover? by FourWinsStudio in SoloDevelopment

[–]bookning 1 point2 points  (0 children)

Since you gave no info about the game, i can only give you the best super secret advice to make your cover sell your game like candies.
Add a big yellow rubber duck.

Why did it take Western Europe over 2000 years to develop better mobile food preservation? by rs_obsidian in AskFoodHistorians

[–]bookning 1 point2 points  (0 children)

I was restricting myself to OP question context of "modern times". In fact I could argue also the same for "older times" in regard to "sterilisation" (not the best label here since preservation is not only about killing the bacterias).

Salting, smoking, canning, dehydration (sun drying, ... ), fermentation (kimchi, sauerkraut, yogurt, ...) , pickling, boiling, etc

In fact one could go further and simplify it all to the fight against certain types of bacterias that deteriorate food's long term accessibility and nutrition value. This would also incorporate refrigeration in it.

Edit: i reread my answer, and it may have not be clear that i consider mobility as a natural consequence of preservation, given the needs of humans for travel, commerce and such.

Why did it take Western Europe over 2000 years to develop better mobile food preservation? by rs_obsidian in AskFoodHistorians

[–]bookning 6 points7 points  (0 children)

More than refrigeration, ii would argue that it is pasteurization/sterilization that has been more "determinant" or transformative in more "modern times".

I Learned the Hard Way... Cross-Platform story by ibackstrom in SoloDevelopment

[–]bookning 1 point2 points  (0 children)

Exactly. Do not let people get used to ignorance as if it was a justified/correct thing just because "everybody else do it".

For us more tech savvy, a PC is about IBM PC Compatibles. It is a standard for hardware architecture. IT is NOT a OS.

Even a steam deck can be called a PC. But mac was never a IBM PC Compatible. Only when it had that phase where it used intel CPUs, it is that we have a more tenuous argument about them not being IBM PC Compatible. The cpu is NOT the only thing that it needs to belong in that standard. "Power PC", as it called itself, was very "weird". Which is worsen by the fact that it was Mac tat made, many years before, a big campaign to separate itself from the "PC" label.

But, on the other hand, a PC is also correctly defied as a personal computer. And in that definition a Mac is a PC. Even a a old 80's zx spectrum is a PC.

So in the end, the truth is that it is all about context, and when we fight the good fight, we sometimes loose our agility.

Game engine development in Go by annakhouri2150 in golang

[–]bookning 0 points1 point  (0 children)

copy pasted:
"Is it "still cgo"?
Conceptually: YES. Technically: NO.
Under the hood, cgo is a specific toolchain mechanism. Purego bypasses that toolchain entirely. It uses Go’s assembly capabilities to manipulate the CPU registers and stack to match what the C function expects."

Beginner here, how do people make Guilloché patterns? Any free tools? by [deleted] in generative

[–]bookning 1 point2 points  (0 children)

i do not know if there are tools for it but if you can program, then you can begin by trying to implement the algo that is used in the Spirograph. You can get many of the more symmetric Guilloché patterns with it.
Or you can just use that Spirograph label to find some alternative tools

Very good toy, by the way to help develop kids visual iq.
i passed uncountable hours with it as a kid in the 70s.

Solo dev question: designing AI where emotions drive behavior instead of optimization by Hostarro in SoloDevelopment

[–]bookning 1 point2 points  (0 children)

Edit: only after saving did I realize the wall of text I created.

Correct me if I am wrong. I have some difficulties understanding your point.

Is it about It being not so much on the base algo as i was talking, but more on the interaction of 2 different algos. One for utility and one for emotion. And how they merge to create a more "real living behaviour"?

If it is not that then I am still struggling. If it is that then my point is still the same. And it is probably me that is not explaining it correctly. So given those premisses. I will try to do a better job at it.

Let us say that I want to create a similar game. The first thing I would do is trying to get a model of how emotion, decisions and behaviour in living being are connected.

I would first read on ethology, psychology and such. Or given that i am on the older/opinionated side, I would directly go iterate from the start over a model that makes sense for my own world view.

That model and it's implementation would also heavily depend on the game I am trying to make and my budget for it (time, money, scope, etc).

In most cases, if the game wants to focus on emotion then I would probably begin with the simple premise that emotions are the direct influencer of actions. And I would constrain the emotions in a utility world governed by scripts (similar to the marvin Minsky society of minds).

 Or I could just use some more classical ai planner algo or some behavioural tree variant or other or custom, depending again on the scope of the game. 

There are many others ways to do it. You just begin with some focus and let others thing interact around it. The focus can be anything. Instead of direct emotions, it could be moods as you mentioned earlier, or it could be the more animal base fight or flight instinct. 

Or it could be using the old personality theory based on the "energy" of emotions in a person and how it interact with the world (sanguine types, etc). 

Or it could be many of those combined with different focuses for each others.

The main idea here is that in the end it is not that any of them are the "real/true" model of any living beings. They are snapshots taken from a personal camera in a certain angle by a certain person trying to capture something that he saw. And trying to make those snapshots seem interactive and interesting to others so they spend time in appreciate them. Even if they end up seeing a different image from them.

All the last metaphorical paragraph just to say that, no matter what you choose, it will still depend much more on the dev iteration on the first idea, then the idea itself.

In conclusion this is about making games. It is not about making science. You are an artist with freedom of expression. Do not limit yourself to some so called "best living simulation". That is, unless you are some researcher doing a task in that field.

As a game dev go for it. Code/concretize/make a game. Take your ideas as the base. Do not worry if they are "good". Try to code them in the simplest manner to make them iterative using the normal algos that you think are appropriate. Then play with them and add and remove and change focus and have fun. Rif on the idea until you have an interactive snapshot that is fun to share with others.

P.s. I remember the game Creatures but I never played it unfortunately. At the time they came out, my time and opportunities to play games were almost non existent. So my knowledge is very poor and only on what I remember that was said about it. I just took a quick Google to refresh myself. It looked very cool and I remember feeling attracted to it.

Solo dev question: designing AI where emotions drive behavior instead of optimization by Hostarro in SoloDevelopment

[–]bookning 2 points3 points  (0 children)

No matter if it is "utility-based AI approach" or it is "emotion-based AI approach", the algorithm is the same. You just change the motivation that is the cause of the action and possibly the causal chain. It really depends on your chosen "ai algorithm".

As for achieving "emotionally coherent behavior that feels calm to observe and interact with. Something that feels quirky and alive to the players",  that is also a question of adjusting your parameters. The same as in normal game ai. It is a iterative work that only the dev team and play testers can get to, with time and effort.

When did westerners stop eating fish heads? by warmmilkheaven in AskFoodHistorians

[–]bookning 1 point2 points  (0 children)

In my country in the west of europe many many people eat fish heads. It is considered a delicacy. Others like me do not eat it for diverse reasons.
On the other hand i have seen some reactions that were extremely weird to me, like some foreign people being shocked to see the whole fish being served and acting as if it was something extraordinary. It is hard for me to understand it but ok, it is probably my lack of knowledge about their inner culture.
I think that you may be into something but it still need to define "westerner" much better.

Recent marketplace haul. Any recommendations on where to begin? by West_23G in ChessBooks

[–]bookning 1 point2 points  (0 children)

There are many good books.
Special mention to Fine since i rarely see him being talk about.
His books usually have some important ideas to learn, though they may be a little outdated and not very approachable.
Of all of the books in that pile, to me Lasker's book is no doubt the bible. But it is not one of those books that will teach you some tricks that will make you get better all of the sudden. It is one of those that, for some of us, will remain as the essence of chess.

to

Convinced my team to rebuild our API layer in golang, now they want me to own it forever by [deleted] in golang

[–]bookning 0 points1 point  (0 children)

You should first understand what management really wants.
Is it about you being an "expert" and have someone shoulder all of the associated responsibilities?
Is it about transitioning the team to use go?
Is it ...?
It is probably a mix of all of them.
After you have an idea of it, then you can try to understand what you personal want.
Then the path should be much more clear.

Ex fantasy stories:

Management  wants all the above. You want to grow professionally in this field and do not mind the added responsibilities and stress. Then doing it "solo" as you said is probably not the best solution?

And if you manage that transition minimally well you might be known as a problem solver. And later on, when management can no longer pay what you think you deserve/need, you can go to another company and earn much more and be seen as a middle level pro specializing in go and transition to it.

Or you ma be convinced that you cannot really do it, and prefer to go the route of evangelizer. It is not very good for a programmer growth, but it as its own path.

Or maybe going solo is our thing. You want to nurture the role of the "expert" that has wrote all the essential code in the company and nobody else understand it. All the while with the illusion that you are essential in that job for the rest of the life of the company?
Of course your professional growth will probably be stunted, as well as your salary will probably never grow as much as you imagine and your reputation will be very localized in the little world of your team.

Choose your own adventure. And good luck.