Sign in to follow this  
JWalsh

JWalsh is back & writing tutorials again

Recommended Posts

Hi All,

After a two year sabbatical I'm back writing tutorials, walk-throughs, and public code samples.

Head over to my blog at [url="http://gamedevelopedia.com"]http://gamedevelopedia.com[/url] and let me know what you're interested in learning about.

Cheers!
Jeromy

Share this post


Link to post
Share on other sites
If you have an underwater camera, and you take it with you to your dive off Vancouver Island, please post a picture of the Saskatchewan reef. That's where I'm from. Just curious. :) Sounds like you've got quite a list of interesting hobbies, and a great job.

Share this post


Link to post
Share on other sites
I do indeed have an underwater camera. My Facebook page is filled with pictures from Grand Cayman. And, I'll definitely be taking pictures of the Saskatchewan.

So, any preferences on tutorial topics?

Share this post


Link to post
Share on other sites
It's not on your list, but I'd love a good topic on how large games handle communication and interaction between multiple distinct game entities, without each game entity knowing about each others' internals. This is one of the most important areas in my own programming where my code suffers.

If the Player entity throws a Grenade entity, how does Player tell the World to spawn a Grenade without knowing about the World or the Grenade, and when the Grenade explodes, how does the Explosion or the Grenade tell the BadGuy to get hurt, without knowing about BadGuy's internals?

This is a rather simple example, and I can think of multiple ways to make it work (without hardcoding, and without knowledge of internals), but when you add more and more different types of events and different types of effects to different types of entities that are supposed to react in different ways, it gets harder to maintain. So what do the big boys do that a hobbyist/indie like me can learn from?

Another example, is how do you cleanly make Button X on the editor GUI spawn Entity Y in the engine, or modify level settings? Is there some kind of messaging system you'd use, or does each different editor widget have access to a pointer of the engine's public interface with which to directly call functions? Or is the engine globally accessible? Is the engine a monolith, or is the 'engine' a composition of different classes like "Level" and "Sound" and etc...? If the latter, do the editor widgets have access to each sub-system class?

How would falling x feet with the physics engine tell the entity that fell that it took damage, and how would that entity know what material it hit (metal, wood, etc...) and then tell the sound engine to play the proper sound effect for hitting that material, without having access to a dozen different pointers for each subsystem involved?

A good tutorial explaining this in-depth would benefit me greatly. There are plenty tutorials on "Here's how a GameState looks", but few on, "Here's how all your sub-systems interact with each other". Edited by Servant of the Lord

Share this post


Link to post
Share on other sites
Hi SotL, that's a great topic. So far you're the only person I've heard back from, so it's at the top of the list.

Share this post


Link to post
Share on other sites
From your topic list, I'd personally be most interested in anything related to DirectX 11 - for the past couple years I've been using XNA, which is great, but I feel I've fallen behind a bit not having used the more modern API features. Also, new tech is fun to play with [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] . I'd prefer C#, which I'm guessing would mean either using SlimDX or a custom wrapper, perhaps there are other wrappers I'm not aware of.

Not on your topic list, but I've also been meaning to delve into multithreading one of these days, and from I hear the newest .NET has added MT features. I've done very little with mutlithreading (never had to), so I'm not even really sure what topics would make for a good tutorial, but I'd at least be interested in where MT is most effective in games, and where the complexity outweighs the benefits.

Edit: SotL's suggestion also sounds interesting Edited by laztrezort

Share this post


Link to post
Share on other sites
Laztrezort,

Another good suggestion. Right now SharpDX is the favorite when talking about Managed DirectX. It's a light-weight wrapper around DX11, and can even be used for developing Metro Apps, something SlimDX doesn't support.

Multi-threading is another good topic. It's less commonly used in games, but I'm sure I can find a way to work it in. And yes, WinRT provides a new threading model, with absolutely 0 synchronous I/O operations. This is to guarantee the responsiveness of tablet pc's. The .NET Thread class can't even be used when writing WinRT apps.

Also, there's the new Async/Await pattern which allows people to write asynchronous routines in a more or less procedural fashion.

Ok. I'll add those to the list. Let's see what things other people can come up with. So far there's been very little feedback.

Cheers!

Share this post


Link to post
Share on other sites
So far I've had one request for engine organization and entity communication, two requests for DirectX 11 related topics, one request for ASM and low-level OS topics, and one request for multi-threading discussions.

Anything else? Any other votes? Post here, or post directly to my blog at [url="http://gamedevelopedia.com/post/2012/07/25/Future-Topics.aspx"]GameDevelopedia.com[/url]

Cheers!

Share this post


Link to post
Share on other sites
Sign in to follow this