Sgt. Conker We are "absolutely fine"

31Oct/090

Why Choose a License for Your Source Code

This is a short introduction to the reasoning why Sgt. Conker requires you to select a license for the source code you submit with your articles to the site.

Disclaimer: I am not a lawyer and this is not a legal advice. In fact, everything in here might be inaccurate and even wrong…

For the start: Everything you write down is automatically copyrighted and you have the absolute control about who can do what in which way with it.

Next, if you release source code and you actually want to allow others to use it in one form or another. That’s where the license comes into play, which range from the restrictive Just look, don’t use to the laid back Do (almost) whatever you want one. And, as the motivation for Sgt. Conker is to spread, share and increase the knowledge of the XNA Framework, this is the reason why all source code contributions to the site have to be licensed (the council prefers a lax one).

Lastly, why does The League of “absolutely fine” XNA Gentle(wo-)men reject code released to the Public Domain? To quote Sam Hocevar:

There is no such thing as “putting a work in the public domain”, you America-centered, Commonwealth-biased individual. Public domain varies with the jurisdictions, and it is in some places debatable whether someone who has not been dead for the last seventy years is entitled to put his own work in the public domain.

For example, as a German I cannot give up my copyright on anything I write (without inventing a time machine to die 70 years before I wrote it anyway) and the same rules apply – to some extend – to foreigners: you may be entitled to give up your rights in their entirely in your home nation (although even this common thinking is questioned) but as far as I am concerned you still have the exclusive rights to your code, rendering it unusable for me.

Post scriptum: Pages aiding in the choice of a license:

29Oct/090

Welcome to Sgt. Conker

Hi, welcome to a new website for games development related articles, news, gossip and whole lot more.
Please mind our dust, we're just getting started.

Use the menu on the right to navigate the articles and news or the search to find something more specific. Remember to subscribe to the RSS :)

Here is a run down of what we have or will be coming in the near future.

We already have a range of articles available but we want more. please send your articles to articles@conkerjo.com
The moderators will hopefully be providing a wave of articles, news and info for you to keep up to date with XNA topics, hot games and other great stuff.

We have a range of affiliated projects for you to look at too, IceCream, TinyEngine and BRAINS which are all XNA based open source libraries. These are developed by one or more of the people behind Sgt. Conker.

Also visit our forums and tell us how we can improve the website.

Watch this space.

29Oct/090

XNA 7 Day Challenge

Nick "the crazy" Gravelyn has posted on his blog about a new challenge he's set up called the XNA 7 Day Challenge. We're a bit late, ITS COMMING!!! on sunday. He's even set up a website see "the crazy"
We can't make the cut this time. But maybe we'll try the next one. Can't wait to see the entries.
The XNA 7 Day Challenge is as follows.

Challenge #1 Dual Buttons

Theme/Rules:

Your game is only allowed two buttons or keys. You cannot use triggers, thumbsticks, or other analog input. A directional pad can be used, but each direction counts as one button. You can use these buttons in combination, context, or any other mechanism in your game; the only requirement is that only two physical binary inputs are utilized in the game.

Challenge Time:

October 25, 2009 – November 1st, 2009 (Entries due by 12:00 PST GMT-8 on November 2nd, 2009).

To Enter:

Email your entry to contact@xna7day.com with the subject line “Challenge 1 Entry”.

Please see the About page for full rules/guidelines for the challenge. Since this challenge was started with this post, those rules are also valid for this first challenge.

28Oct/091

Article : Verlet Integration Particles

by Gorion

Tearable cloth
This article will show you what VIP's (Verlet Integration Particles) are and how to make them. If you look it up on wikipedia you can see that the math behind the concept is quite complex. While it's not in the scope of this article to explain the math, I will give you a good website which, in my opinion, explains it really well.

28Oct/094

Article : Creating A Scene-Graph in XNA

by mdx4ever

mdxCull

Introduction

What is a Scene-Graph

A scene-graph is a tree structure that arranges the elements of a scene into a logical representation. The actual implementation of a scene-graph varies as they are typically designed to suit a particular need. The scene-graph presented here allows elements to be placed in a 'world', manipulated, and displayed with minimal effort. Additionally, view frustum culling is performed.

This article is intended for those familiar with C# and XNA. A basic understanding of 3D graphics is also assumed.

25Oct/091

The Week in Code (XVII)

The Renaud Bédard edition

This post sponsors the current XNA 7 Day challenge Dual Buttons: create a playable in 7 days sporting two buttons for input only.

21Oct/092

Article : Pie Menu

by Catalin Zima

Pie Menu
piemenupic
For the people who want some UI stuff in XNA, here’s a small sample that contains a Pie Menu Component, attached to a cursor. If you don’t know what a pie menu is, read about it on wikipedia.

Tagged as: Continue reading
21Oct/092

Article: Fur Rendering

Dinofur

by Catalin Zima

In this article, you will see how you can render fur in your XNA games. At first, we will look over the technique use to render the fur, then we will look at several improvements that can be done, and in the end, we will apply it to a model.

21Oct/090

CatalinZ.NamingConventions

// Using statements are outside namespace declarations
using System;

namespace CatalinZ.NamingConventions
{
    // Enums are PascalCased and singular
    public enum Alignment
    {
        // Enum members are PascalCased
        Top,
        TopRight,
        Right,
        BottomRight
        Bottom,
        BottomLeft,
        Left,
        TopLeft,
    }

    // Flag enums are PascalCased and plural
    [Flags]
    public enum Alignments
    {
        // Enum members are PascalCased
        None = 0x00,
        Top = 0x01,
        Right = 0x02,
        Bottom = 0x04,
        Left = 0x08,
    }

    // Class names are PascalCased
    public class ThisIsAClass
    {
        // Members are grouped by type:
        // * Types (nested classes, enums, structures)
        // * Fields
        // * Constructors
        // * Properties
        // * Methods
        //
        // Within these groups the elements are grouped by functionality,
        // and inside the functionality groups they are ordered by accessibility,
        // from public to private:
        // * public
        // * internal
        // * internal protected
        // * protected
        // * private
        // Nested classes are PascalCased
        class NestedClass : IDisposable
        {
            public void Dispose()
            {
            }
        }

        // Publc Fields and constants are PascalCased
        public const float ABitOfPi = 3.14f;

        // Fields are camelCased
        // NOTE: C# type aliases are used
        internal string internalField;

        // Fields are camelCased
        protected int protectedField;

        // Fields are camelCased
        // NOTE: C# type aliases are used
        private readonly object privateMember;

        // Properties are PascalCased
        // NOTE: Acronyms longer than 2 characters are PascalCased (e.g.
        // Html, Xml)
        public int HtmlLength { get; set; }

        // Properties are PascalCased
        // NOTE: Acronyms of 2 characters are UPPERCASED (e.g. UI, IO)
        public string UIElementName { get; }

        // Properties are PascalCased
        protected string ProtectedProperty { get; }

        // Private Properties are camelCased
        private string privateProperty { get; }

        // Methods are PascalCased
        public int Add(int oneValue, int anotherValue)
        {
            // local variables are camelCased
            double result = oneValue * anotherValue;
            return result;
        }

        // Methods are PascalCased
        // NOTE: Abbreviations are not treated as Acronyms (so
        // _Id_entification is Id, not ID).
        protected void AlignObjectById(string id, Alignment alignment)
        {
        }
    }
}

Idea by the Joy of Code.

20Oct/090

Conkerjo.NamingConventions

// Using statements are outside namespace declarations
using System;
namespace Conkerjo.NamingConventions
{
    // Enums are PascalCased and singular
    public enum Alignment
    {
        // Enum members are PascalCased
        Top,
        TopRight,
        Right,
        BottomRight
        Bottom,
        BottomLeft,
        Left,
        TopLeft,
    }

    // Flag enums are PascalCased and plural
    [Flags]
    public enum Alignments
    {
        // Enum members are PascalCased
        None = 0x00,
        Top = 0x01,
        Right = 0x02,
        Bottom = 0x04,
        Left = 0x08,
    }

    // Class names are PascalCased
    public class ThisIsAClass
    {
        // Members are grouped by type:
        // * Types (nested classes, enums, structures)
        // * Fields
        // * Constructors
        // * Properties
        // * Methods
        //
        // Within these groups the elements are ordered by accessibility,
        // from public to private:
        // * public
        // * internal
        // * internal protected
        // * protected
        // * private
        // Nested classes are PascalCased
        class NestedClass : IDisposable
        {
            public void Dispose()
            {

            }
        }

        // Publc Fields and constants are PascalCased
        public const float ABitOfPi = 3.14f;

        // Fields are camelCased
        // NOTE: C# type aliases are used
        internal string internalField;

        // Fields are camelCased
        protected int protectedField;

        // Fields are camelCased
        // NOTE: C# type aliases are used
        private readonly object privateMember;

        // Properties are PascalCased
        // NOTE: Acronyms longer than 2 characters are PascalCased (e.g.
        // Html, Xml)
        public int HtmlLength { get; set; }

        // Properties are PascalCased
        // NOTE: Acronyms of 2 characters are UPPERCASED (e.g. UI, IO)
        internal string UIElementName { get; } 

        // Properties are PascalCased
        protected string ProtectedProperty { get; } 

        // Private Properties are camelCased
        private string privateProperty { get; } 

        // Methods are PascalCased
        public int Add(int oneValue, int anotherValue)
        {
            // local variables are camelCased
            double result = oneValue * anotherValue;
            return result;
        }

        // Methods are PascalCased
        // NOTE: Abbreviations are not treated as Acronyms (so
        // _Id_entification is Id, not ID).
        protected void AlignObjectById(string id, Alignment alignment)
        {
            throw new NotImplementedException();
        }
    }
}

Idea by the Joy of Code.