I found competetive games super bad for my mental health, I became super toxic and very unpleasant to play with, and instead of boosting my mood after a long work day it just dropped me down
Also I can not develop my game every day, even deciding to do something requires much effort
Competitive games can be pleasant, but of course if players' skills are comparable to each other
user92578
Sounds very familliar :) Maybe on Saturdays I have energy to do something productive on my projects, most days I just stare at my task list and play something instead
Hi all. Does anyone here have experience with using Box2d and SFML? I am 99.999% sure I have config done correctly. (ie. I changed C++ Additional Includes / Linker Additional Library / Additional Dependency in project settings. They point to the box2d folder in something like C:/VS_Libs/....). I can #include "Box2d/box2d.h" without errors. I can add 'b2Vec2 gravity' to my code and it runs. But I add next line 'b2World world(gravity)' and it fails to load
user92578
"fails to load"? what does that mean? doesn't compile? doesn't start? starts but hangs? starts & crashes?
well i dont know all correct terminology. but if I press F5 (i think Build) in either the Release or Debug mode it fails , same message: LNK1120: 2 unresolved externals
there are more erros below
ie. LNK2001 unresolved external symbol "public: _thiscall b2World (struct....)
But I spent a few hours yesterday and today, I set up a few new projects and followed a couple tuts to input the linker settings etc and they really look fine to me.
BUT EVEN WIERDER FOR ME! After the first failed attempt to build, I get green squiggle
on the Start function (or whatever function i try to instatiate b2World). The quiggle says my funtion uses '103949' bytes and limit is 16k lol
ok, so the linking
will be fix most likely lie in Visual Studio linker settings? Or is it the way I build box2d, or the file structure I'm storing the box2d stuff in?
its strange how I can use b2Vec2 without issue
.. its a shame because I was really starting to enjoy working in raw code rather than a big game engine such as Unity or Unreal. But something like this can really put an end to that idea lol. I appreciate your efforts tho guys thanks
You have 2 things to make sure of: 1st is that you list the .lib in the linker > input > Additional dependencies section of your project's configuration
The way an IDE works is that it is just an "interface" to the underlying compiler and linker. The compiler and the linker are the actual things that matter. The IDE will take your parameters in nicely described and organized dialog boxes and "convert" the input you feed it to something that can be digested by the compiler and the linker.
You input items line by line in that Additional Library Directories, and it will gladly convert to what the linker needs, which is "/LIBPAH" arguments.
Ok, "all configuration" works for most situations, you need to libraries "per configurations" as you'll need the [lib]d.lib in debug and the [lib].lib in release.
i remember this same kind of problem put me off coding when i first try to learn many many years ago... if only websites like this were around back then i'd probably be a pro coder by now haha
sadly, i have to go work in about 5 or 10 mins, but i will be trying again when i get home lol. thanks again for all the help
@Krangogram When you "rebuild", there should be a line that starts with something like this 2> C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\link.exe
You need to make sure that one path in Additional Library Directories has the box2d.lib file, and that box2d.lib is listed in Additional Libraryof your linker setting.
Whether your keep the file where it is and update the library directory to reflect that, or that you move the file to another location is up to you.
Please paste the whole line that gives the linker parameter
The one that starts with 4> C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\link.exe or something like that, from you output pannel
sadly , i really have to go now lol in like 1 min :D I will try to gain access via my phone to continue on way to woirkl :D . really appreciate your help matesa
@Krangogram I'll try to find the option I'm looking for; I would expect to see listed the link.exe command. But you have at least a small clue: your box2d and your project have to be built with the same target architecture, either x86 or x64.
Ok, there it is; stackoverflow.com/a/1211886. The selection of "detailed" is enough to see the link command.
Because we would need lots of time to fix all those little bugs that can come up when you go to 64, plus make sure our installer installs the thing at the right place, etc. And we need to ship the thing.
So we don't really need, but we can't really go to 64 now.
Is a System in a ECS allowed to execute heavy tasks ? I only saw examples like "MovementSystem" => Sets the Player a few pixels forward each step based on his direction... I had a idea of a "LoadSystem" which collects Entitys around a certain location to send them to the player who requested them, this is quite a heavy operation containing multiple loops... good or bad idea ?
I'm digging into the physics engine we use. And really, I'm thinking about all those devs that want to write their own physics engine and I feel sorry for them.
Erin Catto mentioned in a talk that solving constraints precisely requires cubic time and quadratic space. What algorithm is he talking about when he mentions cubic time?
pdf of slides with following quote:
We can model and program our constraints perfectly. Good enough to drive a robot arm ...