Jump to content

  • Log In with Google      Sign In   
  • Create Account

We need your help!

We need 7 developers from Canada and 18 more from Australia to help us complete a research survey.

Support our site by taking a quick sponsored survey and win a chance at a $50 Amazon gift card. Click here to get started!


Member Since 26 Feb 2007
Offline Last Active Yesterday, 05:57 PM

Posts I've Made

In Topic: What do you guys use as a key in RPG data structures?

28 August 2015 - 12:15 PM

Just to be clear -- decorator is not a good choice to use for making permanent (even semi-permanent) changes to the decorated object -- decorator is a decent pattern when you want to temporarily change something about an object who's original form you want to retain. In the context of an RPG, decorator is a reasonable pattern for, say, status effects like curses or time-limited spell effects -- its a reasonable choice because in both cases you want to restore the original object when the curse is removed or when the effect of the spell wears off. In the context of an RPG, decorator is not a reasonable choice for leveling up a character or item, or for affecting any permanent/semi-permanent change to the affected object itself (for example, decorator is a poor choice for modeling a weapon's decreasing durability as its used.)

In Topic: Leaving Flash behind, where to next?

28 August 2015 - 12:05 PM

To be honest, if you're not the type who'll roll their own (simple, meets your needs) engine, then something like Unity or Unreal is probably your best bet. Given your exploration and your initial dislike of both, that's probably not news you want to hear, but its pragmatic advice as well as a marketable skillset. Having recently picked up Unity myself, and coming in as a Roll-your-own kind of guy, I get that doing something much differently than you're used to feels weird -- icky even. But every tool or engine has made its own philosophical choices somewhere and they're probably different than other tools that you're familiar with. At some point, you'll need to accept that reality and learn to see through these kinds of mostly-trivial differences.


I don't know how long you've spent on Unity, but even with quite a bit of experience in other methods its taken me awhile to figure out how Unity wants me to work, I still am finding things where I think I've hit a place of having to either roll my own component or accept some ugly compromise, only to get part way through implementing that before discovering the way Unity does that very thing -- not the way I would have thought to do it, perhaps, but in a way that's cohesive with Unity as a whole.


Another benefit to Unity and Unreal is that if you do feel the need to write a component, odds are someone is already selling it in the asset store, maybe even giving it away. And the community -- Unity really has one of the best communities, as well as first-party docs and tutorials.


My earnest advice to you is to take a break, set aside your expectations for the way things "should work", and spend some more time with Unity. Realize, also, that some of the quicker/smaller tutorials and sample projects don't necessarily demonstrate best practices for scalability -- even as easy as Unity can be, you can't cram in considerations for scaling development into a 2-4 hour tutorial series. The blogs of Unity-using indie devs are usually better for insight into that.

In Topic: AI for NPC

28 August 2015 - 11:51 AM

Unless you plan on doing something very novel, I'm not really aware of any game-style AI that would be even slightly interesting as a master's thesis. Game AIs and classical AIs are different beasts. AIs that learn to play games are a different matter, but doesn't sound like what you're doing.


Have you met with your adviser yet to discuss your thesis proposal?

In Topic: Advice on weak_ptr usage

28 August 2015 - 10:19 AM

I tend to agree that this is something of a design smell, but your functional use of weak_ptr is more or less correct -- weak pointers can be used when you need to share an object among observers who do not need to keep the observed object alive; that is, they can deal with it if the object dies (for example, they can then reacquire a new instance of what was observed). Again, design-wise this seems less than great, but functionally you're using weak_ptr in one of the ways it can be used.


A more typical use of weak_ptr is for breaking referential cycles (two objects have a shared pointer to one another that prevents either from ever being destructed) -- by using weak_ptr, destruction is not prevented and the cycle is broken.


A better pattern for what you're doing might be to pass in a network instance to a per-object network handling function inside each object (or the inverse, pass objects per-frame into a network object).

In Topic: Quadro K1000M

25 August 2015 - 01:34 PM

I have the same card in my laptop (likely the same, model W530)


In general, if its enabled then the card will perk up when needed for intensive work. Just make sure its enabled and it *should* do the right thing-- you want the Intel GPU to take over when doing mundane tasks like editing code or web-browsing, you don't want to force the Quadro on all the time. The Quadro can drain a full battery in under two hours at load (and that's with the larger battery), not to mention the heat which is an issue even if plugged into the wall. If you want to force the Quadro to take over for certain applications, you can do that through the NV control panel.


If it doesn't let you enumerate it, its probably disabled or the driver isn't installed/active.