Re: realtime rl v.2
- From: "John Palmer" <thepalm2@xxxxxxxxx>
- Date: Sun, 28 Dec 2008 09:01:21 GMT
Sorry for the delay, had some real life stuff happed
Never heard back, so here is my feedback with a sampling across a couple
of different areas.
Game Play:
1. Would like more contrast between the viewport and the rest of the
screen. In that the viewport should be black background to allow for quick
view of the bounds and use of colors for the foreground.
Fixed
2. It looks like the message box is improved from previous versionI fixed a few spelling errors
(descending).
3. A couple of small spelling errors. I know that they don't seem like a
big deal because your are focusing on other things, but an attention to
detail is usually what prevents you from painting yourself into a corner
later.
Application Design and Architecture:I don't quite understand what this means - how can a form not be the base
1. Separate your Objects from their rendering implementation, and don't
use a Form as the base class. You have to make a choice between a
Rendering Engine knowing how to render objects of different type, or each
object knowing how to render itself to a surface. If you want to use the
second, the surface should be separate from the object and can be used
like Object.Render (graphicsSurface);.
class?
2. You have a lot of structures and static methods. Both of these should
be very limited in C# (See #3 about value types). Use classes instead of
structures and remove the static unless you really want a global function
(that should live independent from any class implementation). If you use
static, don't have it on an object that you would later create a separate
instance of (as a reference value). It should just be an empty class.
3. Why is 'actors' a partial class? Why is 'arrow' a 'struct' when youactors partial class - fixed
have methods on it. Structures have a very specific purpose as value types
and small footprints. I don't understand why some of your classes are
actually forms. Why are you using a 'partial struct' to spread the item
class across multiple files. You don't need the old header/cpp file
structure in C#. You can use #region directives to help organize your code
(see #2 below).
I use structs because they don't need to be initialised, but this is
probably just me being lazy
Programming Implementation:
1. Naming: http://msdn.microsoft.com/en-us/library/xzf533w0(VS.71).aspx
I prefer everything in lower case, so I don't reuse a variable name, since I
can always go to the definition to see if a variable is public or private
2. Use the #region directive. Start with (Private Properties, PublicI'm in the process of adding these
Properties, Constructors, Private/Protected Methods, Public Methods; for
forms add Form Events and Control Events). This will keep you organized.
3. While it is extra typing, go ahead and specific declare a variableI'm in the process of adding these
private with the 'private' keyword.
4. Read about Namespaces, you can quickly create them by creating folders.Some of these fixed up
5. I know it is a lot of extra files and work, but break each Enum out toA few shifted
its own file (trust me, it is totally worth it). Create a folder named
"Enumerations", and stick them under that (a separate folder for each
related namespace).
6. You have the following error in the Output Window: A first chanceFixed
exception of type 'System.ArgumentOutOfRangeException' occurred in
System.Windows.Forms.dll. IT comes from the following line. To find it
yourself, click Debug->Exceptions and then find the above exception, click
the left check box and ok. Run application. I notice that you have an
empty catch for it, but you might want to try bounds checking before
assignment versus just allowing it to throw an exception. There is a small
overhead to exceptions that can affect performance.
progbarturn.Value = progbarturn.Maximum - (int)(actorarray[0,
curlevel].nextturn - now.Ticks);
John Palmer
.
- Follow-Ups:
- Re: realtime rl v.2
- From: Epic Campaigns
- Re: realtime rl v.2
- References:
- realtime rl v.2
- From: John Palmer
- Re: realtime rl v.2
- From: Epic Campaigns
- Re: realtime rl v.2
- From: Epic Campaigns
- realtime rl v.2
- Prev by Date: Re: Display Character Stats (Giving to much info)
- Next by Date: Re: Downfall 0.1 released!
- Previous by thread: Re: realtime rl v.2
- Next by thread: Re: realtime rl v.2
- Index(es):
Relevant Pages
|