« first day (3486 days earlier)      last day (44 days later) » 

11:07 AM
hello!
 
11:45 AM
due to different time zones this chat is empty every time when I'm here
 
#rip
 
12:00 PM
@trollingchar I blame the sun!
 
12:25 PM
how are you?
 
 
2 hours later…
2:30 PM
@trollingchar I'm ok. Pissed off beacuse I can't park my car at my usual parking lot.
 
I'm not ok these days. For some reason I can't do anything properly anymore
 
Need vacation?
 
yes
you know, I had 50% win rate against my friends in one game
now it's 10-20%
 
because I sometimes just don't block their attacks
I used to perform combos and meme moves, catching a super attack with counter super attack
 
2:40 PM
Is it because you care less about that game than before?
 
No, I'm just so tired
 
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
 
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
 
FFA games is less pleasant if there is only one winner and more pleasant if there is only one loser
But anyway, losing the ability you had is painful
The worst is that I must sit there at work with my task finished until it's time to go
 
2:49 PM
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
 
"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....)
 
linker errors are the worst
 
Did you specify the .lib file in the box?
 
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.
 
2:52 PM
how do you build the project?
 
I will specify now exactly what I did:
I create folder on c drive. This is where box2d.lib is stored: C:_Dev_Tools\VS_Libs\Box2d\lib
This is wherte all box2d h are stored : C:_Dev_Tools\VS_Libs\Box2d\include\box2d
(BTW I 'Built' box2d.lib myself using cmake latest and the bat file includedfrom box2d
In Project Settings in VS2019 I click C++ General and added taht path to Additonal (this was on All Config mode)
Then Linker General added Additional Library path to it
Then Linker Input I added box2d.lib to both debug and release configs
My SFML was already added, and that has different for debug and release in that section
hope that makes sense. Hopefully i missed one little thing somewhere :D
 
that function is from box2d
 
the b2World one?
 
yeah i am trying to add the world. But the b2Vec2 is also box2d and it works fine
only when i add the b2World declaration/initialization does it fail
I saw in some threads here, that people are actually inheriting their game class from B2World, is this a good idea?
 
2:57 PM
is it in box2d.lib?
there were utilities to show all functions from a library
 
The wierd thing is my code intellisense gave no errers. If I click 'Peek definition' on my b2World , it shows all the implementation code from box2d
 
Yeah that means that your include paths work
Very different from linking
 
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
 
3:24 PM
@Krangogram Yeah, it's generally an issue with not adding the correct .lib to your project settings.
The vect2d could be working correctly because they're defined only in a header.
 
perhaps the way i performed the Build of the Box2d files i unzipped??
 
std:: templates work because they're header only.
 
i see
 
Did you build box2d or did you unzip the files that contained only .h and .lib files?
 
I unzipped to a temp folder. Then in there it had 'Build.bat'
I run that, and it open VS21019
In there it had some projects, Box2d was topp one
 
3:26 PM
Ok, so you had to build it.
 
I right clicked it and click Build, then I navigated to the new Build folder that was created and inside it had Debug/box2d.lib
(Im not sure i did it correctly, followed some old tutorials
 
When you start off c++ dev, I think it's better if you can download the binaries for your target compiler/os.
(and not build your dependencies)
 
I woould love to but couldnt find them. I ws looking on box2d website and github mainly
did google, but they led me mainly to those sources too
I'm writing an extremely detailed question i will post soon. it has all steps i took as best I can remember to as exact as possible
 
Not sure you'll get anything relevant.
 
I use Windows 10 and Vs2019, but I could download vs2017 if there was a pre compiled version
 
3:29 PM
This issue is better suited for back-and-forth communication.
 
^
 
ok nice yeah. Just thought maybe more people might read it if it was a question. Rather than typing all the steps i took several times
 
Yeah, but people will need to ask further details anyway.
 
Is it likely the 'box2d.lib' file causing the problem, or the LOCATION of that file?
 
The location of that file.
 
3:31 PM
If they need to ask a ton of further questions on a Q&A, it might get closed as "needs focus"
 
haha yes i have experienced such issues before :|
i am going to try again, with the box2d lib sitting on C:/Box2d/ see if that helps
the folder is currently right next to the SFML lib files , it seemed tidy and I thought i done the same steps for both , SFML works fine ofc
 
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
 
ok pretty sure i did that one
does it matter the order? I have tried box2d.lib on top and bottom of that list
i confirm it is there for sure now
 
and 2nd, it has to have access to that library, I'm looking for the spot where to specficy the /libpath option
 
I can also confirm 100% that in Linker Additional Library Dependencies , the correct folder is specified for both SFML and Box2d
Box2d\lib i mean
 
3:36 PM
Also, if you built your lib in debug, the .lib will not work with the release build
and vice-versa
 
inside that is just 'box2d.lib' file
oh kk
lemme try (i did already try both i think)
... still same error if I change to Release or Debug
 
Additional lib paths should be set with this: docs.microsoft.com/en-us/cpp/build/reference/…
 
I done about 5 projects in quick succession , doing all the Linkers and following a few tutorials. It's wierd to me I am now sure they are correct lol
ok i read that now thanks
I have done it all as described, except I dont understand about the /LIBPATH thing yet
 
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.
 
i took this screen shot actually show most of what i did. I will post another with the est
damn, its unreadable i think
too wide lol
is LIBPATH telling me i can only have the libs in one path?
does box2d.lib need to go in with the SFML .lib files folder
u can zoom into the pic if u dont mind downloading it
 
3:46 PM
Ah.
See that "release" drop-down list in your tools, just below the "Debug" menu?
Click it and select "debug" instead. Then try again.
 
yes
i was normally in Debug
but i just tried Realease and forgot to change back
I also did do the Project Settings in All Configerations
 
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 did do that too i promise lol (i did mention it above before you came in i think)
But I think when i compiled the box2d .lib file myself maybe i had wrong configuration there??
should i make a debug and release one? I did debug already but it seems not to work with either
 
If you only work in debug, then it should be ok to just have the debug one.
Hold on
 
:D waiting in anticipation ...
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
 
3:59 PM
@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
 
ok. i can try now
 
This is what is actually linking.
Looking at all the parameters sent to that command could help diagnose what's going on.
 
is that the Build.bat file?
the tutorials were outdated (in their download of box2d from github, it had pre Build folder there already) now we just have Build.bat i think
 
No, that's something you'll see in the "output" tab at the bottom of the IDE when you rightclick on your project then click "rebuild"
 
ah ok :D
not a great lot...
1>------ Build started: Project: box2d, Configuration: Debug x64 ------
1>box2d.vcxproj -> C:\_Dev_Tools\VS_Libs\box2d-master\box2d-master\build\src\Debug\box2d.lib
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
but last time, i moved that box2d.lib file to my chosen location, is that were i went wront
 
4:02 PM
hmmm... why would the .lib not named box2dd.lib?
 
(after build)
wierd yeah
i am in Debug config in the drop down
 
Yes, now what if you build your noobengine with it?
 
shall i try chang e it to Release
 
Nope
no need for that a the moment.
 
so noobEngine, do I need to point that project to C:_Dev_Tools\VS_Libs\box2d-master\box2d-master\build\src\Debug\box2d.lib
instead of where i copyed it to: C:_Dev_Tools\VS_Libs\Box2d\lib\box2d.lib
 
4:05 PM
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.
 
its wierd. I have ensured that honestly. And also I just changed the Linker directory to that one in the Build output but still same error
 
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
This contains all the relevant linker settings.
 
The one when i build Box2d?
or MyNoob priject?
Box2d is literally just this:
1>------ Build started: Project: box2d, Configuration: Debug x64 ------
1>box2d.vcxproj -> C:\_Dev_Tools\VS_Libs\box2d-master\box2d-master\build\src\Debug\box2d.lib
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
 
the mynoob project
since this is the one that is failing ;)
 
:D lol .
i am just changing the settings back as been fidddling
 
4:09 PM
:)
 
1>------ Build started: Project: TEST_Box_2d_NoobEngine, Configuration: Debug Win32 ------
1>NoobEngine.obj : error LNK2019: unresolved external symbol "public: __thiscall b2World::b2World(struct b2Vec2 const &)" (??0b2World@@QAE@ABUb2Vec2@@@Z) referenced in function "public: void __thiscall NoobEngine::Start(void)" (?Start@NoobEngine@@QAEXXZ)
1>NoobEngine.obj : error LNK2019: unresolved external symbol "public: __thiscall b2World::~b2World(void)" (??1b2World@@QAE@XZ) referenced in function "public: void __thiscall NoobEngine::Start(void)" (?Start@NoobEngine@@QAEXXZ)
i think this is it
 
1>C:_Dev_Tools\VS_Libs\Box2d\lib\box2d.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'x86'
 
ahhhhh
 
And it's not outputing something i'M expecting, hold one.
 
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
 
4:14 PM
@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.
 
Who needs 32-bit builds anyways anymore?
 
We do.
Lol.
 
Lol why???
 
haha yeah why
Ancient hardware it runs on?
Last time Apple shipped a computer needing 32-bit was 2007 I think
 
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.
 
4:21 PM
oooh ok :)
 
Ah right, so not due to target HW but just stability, makes sense
 
We have a discrepancy in behaviour in a feature that we have when we run in 64bit.
Yes + business.
In the last year I have been able to push to have removed anything related to Windows 7.
 
wow
 
But we'll have to go to 64; we're hitting issues with memory fragmentation and stuff.
 
oh fun
 
4:36 PM
Oh, shit ton of joy, yes! I'll love to fix all of this, but it'll have to wait.
 
4:50 PM
 
@Krangogram i do . Your issue is solved?
 
@0x00004 Not yet, they're having linker issues.
They had to leave for work, though.
 
Box2d setup is really easy. Its portable you just need to add all those to your project and you will be fine.
@Vaillancourt yeah one more downvote :D
 
5:06 PM
Yeah, I saw that. You really need to write good questions from this point on..
 
 
1 hour later…
6:16 PM
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 ?
 
Sounds reasonable
 
Thanks ! :) But wouldnt this "break" the speed of the ecs ? It kinda feels like abusing the system :D
 
@genaray Again, there is no ECS police. If it works for you, for your team and for your game, then why not? (Sorry for the double ping.)
And if it "breaks" the speed of the ECS, only a profiler will tell you.
 
6:42 PM
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.
 
7:13 PM
Alright, thanks... guess i just dont want to accept reality xD
 
it's hard to give up with a personal project that you put LOT of energy and time into it, but realize the concept just suck.
 
@tigrou Yeah I agree. Sunk cost fallacy kicks in...
 
7:37 PM
@tigrou Same with personal relationships :P
 
 
2 hours later…
9:45 PM
1
Q: Time complexity of solving constraints in physics engine

user782220Erin 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 ...

 

« first day (3486 days earlier)      last day (44 days later) »