Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Numsgil

Pages: 1 2 [3] 4 5 ... 510
31
Darwinbots3 / Re: Bot testbed
« on: November 10, 2017, 07:02:00 AM »
Yes, I was thinking along the same lines.  There are two issues to think about:

If you pinch a bot, are the two resulting shapes valid bots?  You have to take the points on the perimeter of the original bot that formed the endpoints for its spindles and map those to the spindles of the new daughter bots.  Even if you try to make the nucleus of the daughter bots as close to the nucleus of the original bot as possible, they can't exactly overlap, since spindles have a minimum length so the nuclei have to be 2x that minimum distance apart.  We could just disallow reproduction until the two resulting daughter bots would be valid, but that's maybe a bit finicky.  We could let them split in an invalid configuration and just softly correct it over a few frames, but that has implications for physics.

Second, if bots reproduce by pinching, that means they need a mechanism for adding more spindles.  Again, the spindles are a uniform angular distance apart, so adding 1 more spindle to a bot changes where the end points of the spindles are.  For bots with lots of spindles that's not that big of a deal but if your bot had like 7 spindles, the difference is pretty obvious.  Do you snap it in to the correct place, or move it slowly over multiple cycles?  Either way has strong implications for either physics or DNA control.

Alternatively you could have bots only be able to double, triple, etc. the number of spindles they have.  That would let the new spindles appear between the existing ones and not have to change the geometry at all.  But it does limit the behavior of bots somewhat.

These aren't insurmountable issues, but I don't have clean answers to them yet, either.

32
Darwinbots3 / Re: Bot testbed
« on: November 09, 2017, 05:53:58 AM »
I've uploaded a new version at the top of the thread.

DNA changes:
Upgraded the integer stack to handle 15 digits.
Changed unit angles from 1080 to 9000 to give more room within the domain of a bot's memory [-9999, 9999].

Crashes:
Fixed a crash that occurs if the UI takes too long to start up.
If DirectX version is too low starts up with the null renderer instead of crashing.
Fixed crash when the directX context was lost (because of shutting a laptop lid, for instance).
Fixed an issue with how DNA is parsed that caused a crash if users used a bad metatag.

New features:
Added a watch window for DNA.  You can enter arbitrary DNA snippets in the watch window and it will evaluate them and show the results.  You can also enter numbers to view the memory contents at that memloc.
Added an autos window for DNA to show which memlocs were modifieid in the last cycle.

Minor tweaks:
The undo stack is cleared when loading from a save.
Fixed issue with render and UI not updating the first cycle after loading a save.
Opening the save or load dialogs pauses the simulation now.  Loading a simulation loads it in a paused state.

33
Darwinbots3 / Re: Bot testbed
« on: November 07, 2017, 08:55:56 AM »
I'm taking a break at the moment, but if you're interested I can post my most recent build.  It fixes a number of issues.

34
@Numsgil will you be able to support using HTTP GET and PUT in the darwinbots client directly, or will it still use an external program with an incoming and outgoing directory?

Although Visual Basic 6 is supposed to support http libraries, in practice we've had better success with external programs that read and write the files, with the DB2 app just reading and writing files.

...

For the server code, can you explain which abuses you're trying to protect against?

35
I got the https certificates but certbot is having a hard time installing them in to apache.  We have a lot of virtual hosts that are Include'd from other files, and I think that's confusing it.  I'll need to manually add the certificates to all the virtual host files.  Sometime in the next few days hopefully.

36
For the https it's pretty simple to set it up, but if you give me access to the server hosting it I can do it for you.

Would you mind just walking me through setting it up?  I'd like to have at least some idea of what's changed so when it breaks I vaguely know what to poke :)  The server is just a linux box.

Quote
Would also be neat to have a matrix.org / riot.im server if you'd like me to set one up.

Can you give me the elevator pitch for how you think it'd work?  Is it just a matter of hooking up the Darwinbots client/desktop app, and then matrix would be the server?  Do we have/get to run matrix on our own server?

Quote
For the internet mode, will the DB client ask for if there's a bot available to get regularly and always take it if there is one, or is the server side more intelligent and selectively chooses DB clients?

At the moment/historically it's first-come-first-serve, and there's nothing to prevent either duplication of bots when two people download a file at once or getting your own bot back.  But we can certainly do something smarter, especially if it's only a little bit of code to enable.  But my first priority would just be getting something set up.

Quote
I've got measures in place to prevent abuse (Draining all bots / pushing out a lot of your own bots)

Can you issue login credentials to people?  That would prevent at least some sorts of abuses I'm concerned with.  If we could tie it in the forum authentication that would be even better, but that might be tricky.

37
Yeah, sounded like you were maybe volunteering some expertise in the area?

38
What do you need me to do?

39
DNA - General / Re: It doesnt work.
« on: June 24, 2017, 12:13:18 PM »
If you're doing what I think you are it should be

*.totalbots *.totalmyspecies sub > 20

The asterisk is important or else you're just pointing to a memory location and not the value in the memory location.

If it still doesn't work it's possible those sysvars are broken.  Use the bot memory inspection tool and see if the variables in those sysvar locations look right.

40
Newbie / Re: Windows 10 version?
« on: June 18, 2017, 06:23:17 AM »
It should work, as far as I know.  What error does it give you?

41
Newbie / Re: How did you find DarwinBots?
« on: June 18, 2017, 06:22:50 AM »
I've been looking at Screeps, too, trying to decide if I want to get that involved in to a programming game or not.

42
Newbie / Re: Hi
« on: May 13, 2017, 11:07:56 AM »
I've checked in the unit tests.  I've put them in their own folder just so things don't get entirely crazy.  However, they don't seem to be showing up in the test app (it shows 0 tests).  I couldn't figure out where it went wrong.  Maybe you can take a look at it?

43
Newbie / Re: Hi
« on: May 11, 2017, 01:12:40 PM »
Just an update that I haven't forgotten about you.

I recently had to reinstall Windows 7, so there was a lot of ActiveX wrangling to get Visual Basic working.  I'm trying to go through and sanitize it so this won't be as much of an issue in the future.

I'm sorry it's taking so long.  Next patch won't take so long for me to review I promise.

44
Newbie / Re: Hi
« on: May 08, 2017, 06:09:14 AM »
Looks good.  Give me a day or so to give it a look over and check it in.

45
Newbie / Re: Hi
« on: May 07, 2017, 06:56:31 AM »
I haven't been doing any work in the VB6 code for many years now, so I don't know what all needs doing there.  I think bugs at least are pretty well squished.

If you were feeling really adventurous you could try and figure out testing.  Not knowing if a change is breaking something has been a huge issue for us in that code base.  From a quick google I found SimplyVBUnit.  If you wanted to you could try and figure out how to set that up so that we had some unit tests.  That would be a gigantic help.  If you aren't familiar with unit testing I think the Stepping Through the Looking Glass: Test-Driven Game Development is a good introduction.

In terms of what to test to start with, if you look in common.bas, there's a bunch of low level functions that get used all over the place.  Testing VectorMagnitude would be a good place to start.  Make sure it doesn't overflow especially.

When you're ready, you can create a SVN patch (for tortoise see Creating and Applying Patches) and upload it to the forums here in a post (if it's not too big).  I'll review it and make sure you're on the right track and check it in.  After a few such patches I'll give you an account to check code in with yourself.

Pages: 1 2 [3] 4 5 ... 510