E: It doesn't really have much to do with event queues. The server will do whatever is to be done for each hero, creep, building, missile, spell, etc. in every single frame.
The Big Programming Thread - Page 381
| Forum Index > General Forum |
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. | ||
|
delHospital
Poland261 Posts
E: It doesn't really have much to do with event queues. The server will do whatever is to be done for each hero, creep, building, missile, spell, etc. in every single frame. | ||
|
devilesk
United States140 Posts
On October 25 2013 23:57 adwodon wrote: He made a reasonable assumption as to why they wouldn't be forced to include a draw condition (ie the winner could always accurately be determined) Is that actually true though? How do you determine a "winner" if both Ancients die in the same frame other than arbitrarily picking one. | ||
|
spinesheath
Germany8679 Posts
On October 26 2013 00:19 devilesk wrote: Is that actually true though? How do you determine a "winner" if both Ancients die in the same frame other than arbitrarily picking one. He would obviously have to go by the time at which the respective event (the action leading to the killing blow to the ancient) sent by a client enters the event queue on the server. Which isn't really accurate since there are things like latency. There is a definite order of events in the queue, but that order can be considered random when it comes down to a few milliseconds of difference between recieving the events. | ||
|
delHospital
Poland261 Posts
On October 26 2013 00:27 spinesheath wrote: He would obviously have to go by the time at which the respective event (the action leading to the killing blow to the ancient) sent by a client enters the event queue on the server. Which isn't really accurate since there are things like latency. There is a definite order of events in the queue, but that order can be considered random when it comes down to a few milliseconds of difference between recieving the events. Uh. And what if it's killed by a creep? Then there's no packet to check the sequence number... | ||
|
adwodon
United Kingdom592 Posts
On October 26 2013 00:27 spinesheath wrote: He would obviously have to go by the time at which the respective event (the action leading to the killing blow to the ancient) sent by a client enters the event queue on the server. Which isn't really accurate since there are things like latency. There is a definite order of events in the queue, but that order can be considered random when it comes down to a few milliseconds of difference between recieving the events. Which makes the whole debate pointless. Any number of things in the call stack could cause an unintentional delay of a few ms, splitting hairs over it is pointless so unless they were the most anal devs in the world with nothing more important to work on that would be entirely sufficient. No one would ever know and the situation is so unlikely to begin with why does it even matter? | ||
|
spinesheath
Germany8679 Posts
On October 26 2013 00:41 delHospital wrote: Uh. And what if it's killed by a creep? Then there's no packet to check the sequence number... Then he takes some other arbitrary ordering. There probably is a list of minions or something to that effect. It's pointless, and as I said before I would assume that draws are possible in DotA2. | ||
|
LaNague
Germany9118 Posts
I have visual studio from the msdnaa license installed at home because of convenience. The company i work for also has microsoft licenses for everyone. Is it ok to use my stuff at home or do i have to swap accounts or something? I mean, i theoretically have all the licenses. Are my msdnaa projects watermarked if i use a non commercialö license? | ||
|
baHmi
22 Posts
However if you wanted to do everything "by the book", I would suggest just getting a license from your work and reinstall VS with that. I've never heard of MS doing audits at home computers, but technically you're not doing stuff according to the license. | ||
|
LaNague
Germany9118 Posts
I was just worried that i might "compromise" our terribly expensive program with my small contribution ![]() | ||
|
Reggiegigas
234 Posts
studied c++ for a while, wanted to do something on my own. So I'm making a game. and I have a class for characters in the game. And I want to somehow program a way for the program to know about family bonds. like i.e. if a guy's brother has a child, the game should be able to 'get' his new niece object. etc. it would both affect relationships and various other variables for characters and I'd like to be able to display family free for a certain dynasty (you choose family name when the game starts). how do I do this? I thought about having some private variables for a character object's siblings, parents, and children, and then somehow telescopically using functions off that to find out grandchildren/cousins/etc. like arrays referencing their position in the object array I guess? I'm just unsure what would be best. | ||
|
spinesheath
Germany8679 Posts
On October 26 2013 05:40 Reggiegigas wrote: Hlelo. studied c++ for a while, wanted to do something on my own. So I'm making a game. and I have a class for characters in the game. And I want to somehow program a way for the program to know about family bonds. like i.e. if a guy's brother has a child, the game should be able to 'get' his new niece object. etc. it would both affect relationships and various other variables for characters and I'd like to be able to display family free for a certain dynasty (you choose family name when the game starts). how do I do this? I thought about having some private variables for a character object's siblings, parents, and children, and then somehow telescopically using functions off that to find out grandchildren/cousins/etc. You seem to be on the right track. Store the bare minimum of information - parents, children, marriage partner, and derive the other family members using functions. These functions can be inside the character class or outside (accessing the publicly readable bare minimum information). Choose which one fits your design best. | ||
|
LaNague
Germany9118 Posts
On October 26 2013 05:40 Reggiegigas wrote: Hlelo. studied c++ for a while, wanted to do something on my own. So I'm making a game. and I have a class for characters in the game. And I want to somehow program a way for the program to know about family bonds. like i.e. if a guy's brother has a child, the game should be able to 'get' his new niece object. etc. it would both affect relationships and various other variables for characters and I'd like to be able to display family free for a certain dynasty (you choose family name when the game starts). how do I do this? I thought about having some private variables for a character object's siblings, parents, and children, and then somehow telescopically using functions off that to find out grandchildren/cousins/etc. like arrays referencing their position in the object array I guess? I'm just unsure what would be best. family relations are defined by the parents, so maybe its enough to have each person have 2 pointer that point to the parents. Plus partner, since they are the only relation not blood related. And maybe children for searching in the other direction, depending on your needs. | ||
|
Reggiegigas
234 Posts
On October 26 2013 05:52 spinesheath wrote: You seem to be on the right track. Store the bare minimum of information - parents, children, marriage partner, and derive the other family members using functions. These functions can be inside the character class or outside (accessing the publicly readable bare minimum information). Choose which one fits your design best. Another thing I was thinking about, how to handle characters dying? I had been thinking of moving them to a separate array for all the 'dead' objects. But I suppose that would mean I would have to change a lot of other objects' family relations variables? I'm not sure... Maybe I should just have them all in the same array and not move them anywhere to keep things simple and bug resistant, heh. Another question: I want to have a private array variable for characters that contain their traits and temporary modifiers, for example a trait that is "bad opinions" towards another character object. So would I have to make this a two-dimensional array? I've never made one of those before but as I understand it, this would allow to make it so each of these trait values would also be able to hold a) a value that points towards which other character object it applies to (if any), then b) a counter thing that counts down with each turn of the game so the trait can be removed when the time reaches zero. Also, I was considering getting an android tablet to read programming docs on when traveling + possibly coding if there's a decent IDE. Thoughts? | ||
|
adwodon
United Kingdom592 Posts
On October 26 2013 19:08 Reggiegigas wrote: Another thing I was thinking about, how to handle characters dying? I had been thinking of moving them to a separate array for all the 'dead' objects. But I suppose that would mean I would have to change a lot of other objects' family relations variables? I'm not sure... Maybe I should just have them all in the same array and not move them anywhere to keep things simple and bug resistant, heh. There may well be a better way of doing things and I suppose it depends on your implementation but I see no reason why you couldn't just give each object a state flag which tells you if its dead. On October 26 2013 19:08 Reggiegigas wrote: Another question: I want to have a private array variable for characters that contain their traits and temporary modifiers, for example a trait that is "bad opinions" towards another character object. So would I have to make this a two-dimensional array? I've never made one of those before but as I understand it, this would allow to make it so each of these trait values would also be able to hold a) a value that points towards which other character object it applies to (if any), then b) a counter thing that counts down with each turn of the game so the trait can be removed when the time reaches zero. You could just make a 'relationship' struct or object which contains a pointer to both entities and a state flag? If you're using C then get some #defines going for readability. You could then just have an array of pointers to each relationship relevant to that character. Again I'm sure there are better solutions though, I don't engineer these things professionally ![]() On October 26 2013 19:08 Reggiegigas wrote: Also, I was considering getting an android tablet to read programming docs on when traveling + possibly coding if there's a decent IDE. Thoughts? Tablets are great for reading but an IDE on one sounds laughable, if that's your prime motivation just get a windows 8 tablet which can attach to a keyboard (ie its a laptop / tablet hybrid) although personally I still refuse to run Visual Studio (my IDE of choice) on anything with less than 2 screens. Text editor sure, go nuts but a full blown IDE sounds daft, you're not going to debug anything on a tablet so why bother. Tablets are fine for reading though, and considering the size of a lot of books and the nature of learning these days you can do a lot of cool things like watch webcasts and read articles on the go which is nice. | ||
|
Reggiegigas
234 Posts
Thanks for the relationship struct thing idea. The idea of having it separately from the objects appeals to me. I'm not sure how to code that but I'll try googling. ![]() | ||
|
besez
Sweden54 Posts
On October 27 2013 01:16 Reggiegigas wrote: Ah okay, was hoping someone would have made a half decent IDE for android by this point. Thanks for the relationship struct thing idea. The idea of having it separately from the objects appeals to me. I'm not sure how to code that but I'll try googling. ![]() There actually is a "decent" IDE for Android https://play.google.com/store/apps/details?id=com.aide.ui&hl=sv Probably hard to use without mouse & keyboard though. | ||
|
Reggiegigas
234 Posts
On October 27 2013 01:23 besez wrote: There actually is a "decent" IDE for Android https://play.google.com/store/apps/details?id=com.aide.ui&hl=sv Probably hard to use without mouse & keyboard though. Aha. I might try that. I was thinking about ordering a tablet that comes with a keyboard. Adding a bluetooth mouse on top is nothing difficult. | ||
|
LaNague
Germany9118 Posts
On October 26 2013 19:08 Reggiegigas wrote: Another thing I was thinking about, how to handle characters dying? I had been thinking of moving them to a separate array for all the 'dead' objects. But I suppose that would mean I would have to change a lot of other objects' family relations variables? I'm not sure... Maybe I should just have them all in the same array and not move them anywhere to keep things simple and bug resistant, heh. Another question: I want to have a private array variable for characters that contain their traits and temporary modifiers, for example a trait that is "bad opinions" towards another character object. So would I have to make this a two-dimensional array? I've never made one of those before but as I understand it, this would allow to make it so each of these trait values would also be able to hold a) a value that points towards which other character object it applies to (if any), then b) a counter thing that counts down with each turn of the game so the trait can be removed when the time reaches zero. Also, I was considering getting an android tablet to read programming docs on when traveling + possibly coding if there's a decent IDE. Thoughts? maybe you can make a class "staus effect". You can make a simple array that points to objects of that class and the objects all the stuff like opinion modifiers and target person in them. You could even maaybe make a general status effect and then derive other classes from it. Also, i recetnly got the new Nexus 7 and i love it. I just drag drop all the PDFs into google drive and then i can just load them on the Nexus if i need them. So much better than having paper or books with me all the time. | ||
|
killa_robot
Canada1884 Posts
On October 26 2013 19:08 Reggiegigas wrote: Another thing I was thinking about, how to handle characters dying? I had been thinking of moving them to a separate array for all the 'dead' objects. But I suppose that would mean I would have to change a lot of other objects' family relations variables? I'm not sure... Maybe I should just have them all in the same array and not move them anywhere to keep things simple and bug resistant, heh. Another question: I want to have a private array variable for characters that contain their traits and temporary modifiers, for example a trait that is "bad opinions" towards another character object. So would I have to make this a two-dimensional array? I've never made one of those before but as I understand it, this would allow to make it so each of these trait values would also be able to hold a) a value that points towards which other character object it applies to (if any), then b) a counter thing that counts down with each turn of the game so the trait can be removed when the time reaches zero. Also, I was considering getting an android tablet to read programming docs on when traveling + possibly coding if there's a decent IDE. Thoughts? For the relatives/relationships, why not create an enum that holds the name/reference to person, and a relationship type, etc. Then just create a list of said enum in the character class (you could even order the list by who has the "closest" relationship to the character). For dying characters, just have a status flag on them that can be set to dead. | ||
|
Reggiegigas
234 Posts
On October 27 2013 06:09 LaNague wrote: maybe you can make a class "staus effect". You can make a simple array that points to objects of that class and the objects all the stuff like opinion modifiers and target person in them. You could even maaybe make a general status effect and then derive other classes from it. Also, i recetnly got the new Nexus 7 and i love it. I just drag drop all the PDFs into google drive and then i can just load them on the Nexus if i need them. So much better than having paper or books with me all the time. Hm, I checked the nexus but it costs too much for me. :D I ordered a cheap chinese brand tablet. I figured I just need it to read pdf's, how much processing power does that honestly take? As long as the battery time is good and the screen is decent I'm good ![]() On October 27 2013 06:19 killa_robot wrote: For the relatives/relationships, why not create an enum that holds the name/reference to person, and a relationship type, etc. Then just create a list of said enum in the character class (you could even order the list by who has the "closest" relationship to the character). For dying characters, just have a status flag on them that can be set to dead. Oh, that does sound really good, but our teacher only mentioned enums in passing so far. I'll try to learn to use enums and then try to understand what you wrote ![]() | ||
| ||
