Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Submission + - mu C++ and Coroutines in C++

mkawick writes: I work in the computer games industry, specifically on MMO's. I have been looking over various methods of splitting off some of our functionality into various threads, creating processes to handle certain tasks such as pathing and group management. While perusing Wikipedia the other day, I discovered coroutines in C++, specifically mu C++, and I wonder if any other coders/architects out there in C++-land use these libraries. There is a specialized Boost library built to help manage coroutines and so I can assume that these are optimal, but how should they be used, what is the overhead (other than the compile-time overhead of including anything Boost), can they be used with scripts (like Lua), and how can they best be integrated into a large project such as an MMO?

Also, according to the Wiki, mu C++ has other options like tasks and monitors which I am not sure if I need or not. How are these used?

Another interesting thread has to do with state machines, actors, and general state which seems appropriate to games in general. Has anyone in the Slashdot community used coroutines and their ilk for these sorts of things in real-time applications like games before, to what effect, and how much does it spaghettify your code?

I'll be experimenting over the coming days with this library, so any guidance that others can provide will simplify my task.

Comment Re:Game design is worthless. (Score 1) 173

Game design and the creative process in general are trainable processes much like music, painting, dance sculpture, etc. There is creativity in all of these, but mostly it's about technical prowess.

Also, remember this? 1% inspiration and 99% perspiration.

I am working on an MMO and we have roughly 20 game designers now with plans to double that count. They write scripts, design the levels, gossip and NPC chat, GUI, user interaction, grouping, and all of the myriad of in-game features like trading, trade skills, and repairing weapons.

This is a highly technical field and only little bit creative.

There is also a small bit of management.

Comment Re:Game development is a hard life (Score 1) 173

It's not that hard. I've been in games for 15 years and some companies do have death-march schedules from time-to-time, but in general, that is extremely rare. Working less than a 50 hour workweek is also kinda rare. About 40% of projects I have worked on have been canceled. The perception that I never do anything serious with my life is met on the battlefield against the perception that making games rocks, and you can can guess who remains the victor in that contest year after year.

Your assessment that game companies don't last too long is correct: about five years on average and very few companies for whom I have worked still exist today. When in between game gigs, I have worked in business software, networking, embedded software, and even defense.

Still, in games, the money is above average, the challenges are far more interesting than you get working in business software, and the core competencies are very similar to RTOS development. Also, many things required in games like hard-core optimization, low-level design, memory management, and so on are mainstay of games which the business world never needs... I love that stuff. Plus, I get paid to do graphics one day, tools in C# another, writing scripting languages another (integrating Lua usually), and implementing a new chat window on another. It is always very interesting.

Comment Ethics in general (Score 1) 1006

At this point, you feel a little queasy, but probably not enough to quit your job... it probably doesn't seem like a big enough deal over which to quit. But, your boss is demonstrating that he does not feel queasy which means that if this trend continues, you may be doing something very unseemly for him before you know it. Ethics is a hard one because you need to work and minor offenses that your boss approves don't really reflect on you, right? You are doing what you are told and you even wrote something on Slashdot which should help clear you conscience.

That fact is that all companies do some unethical things (which is why companies should be highly regulated IMHO). We should consider what it really means though for you to follow orders in this case.

First, you are validating your bosses bad behavior and in effect telling him that he's doing a good job.
Second, you are encouraging other people to copy software.
Third, you are not taking a stand and demonstrating to others that your own ethics might be less-than-stellar.

Lastly, there is the legal issue. You might just go to jail.

Other than quitting, you can simply find out the costs, present them to your boss as a plan for upgrade, and give it to him every few weeks. That way, you are taking initiative, demonstrating that you care, and showing that most software doesn't really cost very much. Also, encouraging the company to use open source might just push him toward being more ethical and get you a promotion.

Slashdot Top Deals

For God's sake, stop researching for a while and begin to think!

Working...