Q

Home » Creator » Could I ask you for a code /design review for my first XNA game?

Could I ask you for a code /design review for my first XNA game?

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 44 other followers

Greetings, friends!

I asked this question on XNA’s Creator Content web site. If you are a creator and would like to respond to me, please respond here:

http://xboxforums.create.msdn.com/forums/p/113215/682155.aspx#682155

I’m a seasoned corporate developer, and in the process of developing my first game leveraging XNA.

I’m homeless, without resources, so could I ‘virtually *beg* for a code review from you for the game I am designing?

I’m accustomed (and enjoy) the SCRUM/Agile processes many corporations have, and am hoping you’d take a moment to provide me feedback on my object oriented approach – thus far. I’m early enough into this but settled enough on the design I figure I’d try to solicit feedback on it…

My game is Leisure Suit Larry meets Darth Vader – leveraging old school 8 bit style graphics (I am no artist, so it’s not that hard to make convincing 8 bit art for a non artist) – set in an alternate reality. This game is ONLY allowing voice guidance and control of your character. IF Leisure suit Larry frustrated you with having to ‘type’ just the perfect thing in, I have no doubt I will frustrate the hell out of you with you having to say ‘just the right thing’ to navigate your character.

I have no doubt this game design approach will mark this game as ‘do not buy’ by many. I’m fine with that.

I’ll be documenting my process as I go through it, here’s my first journal entry: https://universalbri.wordpress.com/2015/04/10/leisure-suit-darth-development-journal-entry-1/

With that said, I am treating the entire game as a Hollywood production, making every screen a “Scene”  object, of which I can place other objects in the “Scene”, with music, character information and location, and timed events (which I am still noodling on the timing mechanisms)

I have done two things already to deviate from ‘Standardized’ XNA – with my design in order to balance design efficiency and ease of use with the metaphor of the Hollywood Act/Scene/Character, so to me – you can say this is the object approach I intend on using.

With that said – I’d like to ask for your help in things I need to consider moving forward. Whether it’s technical (object instancing) I am overlooking, gameplayer mechanics, or easier ways to implement something with the design I am presenting.

First – as with any code review – – an explanation – I have disposed with making every gameobject inherit from the GameComponent, because i wanted to preload all my objects in a list for ‘FAST transition between scenes (read: no lag or load screens) but also not have them tax the primary game thread. So what I am doing is effectively preloading all the information but precisely managing begin and end of ‘taxing’ scene sequences (such as animations and timed events) and ‘testing’ of character interactions in a scene ONLY when the character is actually present..

With this, I have created an interface which does what the GameComponent does:


    interface ISupportGames
    {
        void Begin();
        void Draw(SpriteBatch spriteBatch);
        void Update(GameTime gameTime, VoiceCommandState vc);
        void End();
    }

have also created a base class for all screens named ‘SceneBase’, which implements this interface:

 public abstract class SceneBase: ISupportGames

This abstract base class is intended for every screen in my game to use as their base object.

The interface – anything that is ‘drawn’ or can respond to voice commands will use.

Here’s a first pass of the Scene Base class – which contains sprite and basic information necessary to build a ‘scene’. I am currently still working on the character and character interactions with objects, I was just hoping for ‘professional’ feedback on taking the approach I am taking with a pseudo 3d sprite (2d with fake 3d depth) based interactive game:

And an example of inherited usage – this displays a splash screen with background music on a 10 second timer and sets up the transition scene for the next scene.

And finally – the ‘game code’ – what actually processes this and other ‘scenes’.

Refer to my comments for ‘why I do things’!

Now what I would like to request from you, if you’re willing to help – is this:

I am moving forward with the Hollywood style Act/Scene set building and Character placements.

So what i am asking for is constructive feedback understanding this is the object oriented design I am settling on. No, it may not be ‘perfect’, but I like it – it works for me – now what can I do or do I need to know to make THIS design work even better?

Also, As this evolves to include CharacterBase interactions and NPC interactions, what do I need to keep in mind – whether it’s system, graphics, character interactions, music, etc?

And finally. If you have any helpful hints or strategies.. My goal is to get this game out by the time Star Wars is released – so I want to make sure I have considered all the possible angles in the foundation of this game as I spend the majority of my time on the artwork and music (which I am a TOTAL newbie on)!

Thank you in advance for your help and constructive advice!

Enter your email address to follow this blog and receive notifications of new posts by email.