JWalsh is back & writing tutorials again

Started by
6 comments, last by JWalsh 11 years, 8 months ago
Hi All,

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

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

Cheers!
Jeromy
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
Advertisement
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.
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?
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
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".
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.
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
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 smile.png . 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
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!
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
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 GameDevelopedia.com

Cheers!
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints

This topic is closed to new replies.

Advertisement