Turn-based board game in C# - Leadership needed

Started by
82 comments, last by flashinpan 16 years, 3 months ago
Project name: Robotz Screenshot Brief description: The game design is complete. This will be a simple Windows application, turn-based, two-player, 2D board game playable over the internet. This project is low-key, and for all levels of ability. Each side will have the following "robotz": Master Robot: The goal of the game is kill your opponent's Master Robot. Engineer: Has the ability to push walls Destroyer: Has the ability to attack other game pieces Medic: Has the ability to heal other game pieces Walls -- stationary obstacles that can be used strategically for defense or offense That's it. I know - not very complex. This is on purpose. I want to get the basics of gameplay in place before adding complexity. My rationale is that once we get the basic game completely done -- then we can go back and start adding in the cool stuff -- more kinds of game pieces, powerups, or what have you. Target aim: The first release will be freeware. Future releases my be for profit, we'll see how it goes. Compensation: Sorry, no pay. Your name will be in the game credits. Technology: Windows XP Home or better (XP Home is what I have). Visual Studio 2008. C# only Graphics: DirectX 9.0c Talent needed: We have a few people already involved, but what we lack is someone with leadership experience to manage this project and the members on the team effectively. Team structure: Team Lead: NOT FILLED Game Concept: Tom Knowlton (me) C# Programmers: TAANSTFAL, steu Artists: Plasmana (Rod) Sound: Nathan Madsen Website: Post here in this thread with any questions. We had an account on Source Forge for a few weeks, but it is not getting used much and is a bit of overkill for a project this small. Contacts: managebrinkster "at" yahoo.com or post here in this thread. For quick questions, contact me on MSN Messenger: whatnewdevilryisthis "at" hotmail "dot" com. Additional Info: One of the things I want to do is document the code. Maybe not every line, but atleast every method. I want to create a very detailed tutorial once we're done, such that other beginners can follow in our footsteps and re-create our efforts from the ground-up. That is part of the project, so plan on helping with this as well. Feedback: ANY DESCRIPTION OF POTENTIAL PROJECTS: Internet Support (Chat and internal game messages) (Completion of this portion means, being able to have two clients communicate with each other over the internet. Being able to send a chat message from client A and have it be received by client B. Being able to make a game move on client A and have it be displayed on the game board on client B. I would want this piece to be written as a seperate DLL that the main application can hook into) Save Game state (I need XML expertise for this, which I don't have) Load Game state (I need XML expertise for this, which I don't have) (Completion of this portion means I can load-in a new game board from an XML file. The XML file contents would be used to initialize 100 game objects. Save game would save the current game state out to an XML file. Part of this might involve the creation of a Game Board Editor of sorts, that would allow us to visually create the game board and would result in an XML file being created that the actual game could use.) Game piece navigation (Represent the game piece in memory and where it is on the game board - that sort of thing) Game piece interaction (Determining who is attacking whom and the result. Same goes for healing / pushing walls) (Completion of this portion of the project would mean I can select a game piece and move it to another square. It would mean that I could also determine LEGAL moves, and carry-out the appropriate action. LEGAL moves would include determining what game piece was selected, and what action is being attempted, and is the action do-able. For example, a Destroyer or a Medic cannot push walls, only an Engineer can do that. Engineers and Destroyers cannot heal other game pieces, only Medics can do that. Medics and Engineers cannot attack other game pieces, only Destroyers can do that.) FAQ:
Quote:How far can a piece move?
You have a total of 10 movement points to spend per turn. You do not have to spend all of them during your turn. Unused movement points are forfeited at the end of your turn. Movement costs are as follows: 1 point to move to an empty square 2 points to do the following: -Attack -Heal -Push walls Master Robots remain stationary throughout the game. They really serve no purpose right now, except to provide a goal for your opponent in order to win the game. The Master Robot could just as easily be called the "Generator" or "Power Source" or "Master Computer". The Master Robot is like the "Flag" in the game Stratego.
Quote:Can a piece move diagonally?
Yes.
Quote:If a piece can move diagonally, can it move diagonally between two walls?
Yes.
Quote:Can an engineer push a wall into another robot? If so, what happens?
An Engineer cannot push a wall onto an occupied square. A wall cannot push anything, including other walls. These are good ideas -- but in order to finish the game, for now, they will have to wait until later.
Quote:Can a destroyer attack a piece on his own team?
No. But that doesn't mean I'd go pushing them around ;)
Quote:Can a medic heal an opposing piece?
No. But they often wish they could. :(
Quote:What does a master robot do, other than sit there with a lot of hitpoints?
That's pretty much what they do. :)
Quote:Can an engineer push other robots, or only walls?
Only walls. (for now)
Quote:Can an engineer push a line of two or more walls?
Great idea -- but no. One wall at a time.
Quote:Can an engineer push a wall off of the board?
No, but this brings up a very important point. You will need to be careful with your wall pushing during the game. If you push a wall onto the edge of the board, that wall will be "stuck" on that edge for the rest of the game! Engineers can only push walls -- they cannot pull them. If you manage to push a wall into one of the two unoccupied corners during gameplay, then the wall is permantly stuck in that corner. Conceivably, you could push all the walls to the edges / corner during gameplay, rendering them useless for yourself as well as your opponent. This tactic could prove useful, depending on your strategy.
Quote:Does a destroyer attack at range? If so, what is that range?
No ranged attacks are allowed. They must be right next to the piece they are attacking.
Quote:Can walls be destroyed/fixed as robots can? Can walls be created?
For now - walls are indestructible. They cannot be created. You get 8 of them to move around the board during gameplay.
Quote:How many pieces does a player move per turn?
That is up to the player, and how they want to spend their movement points.
Quote:Can an Engineer push walls diagonally?
Yes.
Quote:What happens if you completely enclose the Master Robot using walls?
The owner of that Master Robot loses the game. [Edited by - Tom Knowlton on January 1, 2008 1:29:42 PM]
Advertisement
I'll help if I can, any and all things help me. I don't know any C# at all, but if I can help let me know.
Steel:

C# is a lot like C++, especially for most of what we'll be doing.

We can try having you write your parts in C++ and convert them to C# just before launch. How does that sound?

One piece that needs to be written is support for internet communication. We need to support "chat" messages as well as internal "game" messages. This could be written and deployed as a DLL that the main C# app could hook into. This way you could write it all in C++ if you wanted.

Do you have Visual Studio 2005 Express edition installed at home?


Let me know if you are still interested, and if you can commit to at least a few hours per week for the next 6 months.

Thank you,

Tom
Sorry you probably wont find me of any help then.

As I said in the previous threaad i'm new to c++ and I just learned how to display messages on screen. I have a book that I'll be done with in about 2 week's but for now anyway's, I can't

If you could wait a few week's, then I'll probably be of a lot more help.
Also if there is anything else I could possibly do, I love to help out, and I have much more than a few hours a week I could spare.
Steel:

That's fine. When you feel ready to help with the project, just post in here and if there is something else you can help with I'll let you know. Some sub projects I have in mind that will need to get done:

-Artwork
-Sounds
-Internet Support (Chat and internal game messages)
-Save Game state (I need XML expertise for this, which I don't have)
-Load Game state (I need XML expertise for this, which I don't have)
-Game piece navigation (Represent the game piece in memory and where it is on the game board - that sort of thing)
-Game piece interaction (Determining who is attacking whom and the result. Same goes for healing / pushing walls)


That is all I can think of off the top of my head for now. Those are the basics of game play, the core elements that will need to be in place for the game to be completed.

Off-topic: If there are any C++ questions I can answer for you, I'd be willing to answer them. I worked in C++ for a few years. Let me know! Don't post here, but you can e-mail me at managebrinkster "at" yahoo.com.
For those interested, here is my current attempt to represent the Game Board objects in classes:

using System;using System.Collections.Generic;using System.Text;using System.Xml.Serialization;using System.Drawing;using System.Windows.Forms;namespace robotz{    public class GameObject    {        public PictureBox image;        public Label l;        public int column;        public int row;                public GameObject()        {            image = new PictureBox();            l = new Label();        }    }    public class PlayerPiece : GameObject    {        public int health;        public string owner;    }    public class MasterRobot : PlayerPiece    {        public MasterRobot(int tempColumn, int tempRow, string tempOwner)        {            health = 200;            column = tempColumn;            row = tempRow;            owner = tempOwner;        }    }    public class Destroyer : PlayerPiece    {        public int attack_points;        public Destroyer(int tempColumn, int tempRow, string tempOwner)        {            health = 100;            attack_points = 20;            column = tempColumn;            row = tempRow;            owner = tempOwner;        }    }    public class Medic : PlayerPiece    {        public int healing_points;        public Medic(int tempColumn, int tempRow, string tempOwner)        {            health = 100;                        healing_points = 20;            column = tempColumn;            row = tempRow;            owner = tempOwner;        }    }    public class Engineer : PlayerPiece    {        public Engineer(int tempColumn, int tempRow, string tempOwner)        {            health = 100;            column = tempColumn;            row = tempRow;            owner = tempOwner;        }    }    public class Wall : GameObject    {        public Wall(int tempColumn, int tempRow)        {            column = tempColumn;            row = tempRow;        }    }}


[Edited by - Tom Knowlton on December 4, 2007 7:43:53 PM]
:O It's you again!
>>>:O It's you again!

Karan:

Didn't you help me for a period of time with a project once? Your name seems really familiar to me, like we e-mailed back and forth a few times. Maybe I have the wrong "Karan." :)

Anyway - yes, "it's me again."

This "robotz" game has been the eternal project for me. For some reason I just can't let it die, and I can't get it out-of-my-head.

As you may have noticed, I haven't posted in a while.

But, now I'm back. Same project, same poor project management skills, etc., etc. :)
I remember Tom as well. I tried to help out with some SFX but none of my emails would go through to you for some reason. After a good while of hearing nothing back, I had to move on due to other projects and clients. If you're still interested, perhaps we can give it a go again.

Best of luck either way!

Nathan

Nathan Madsen
Nate (AT) MadsenStudios (DOT) Com
Composer-Sound Designer
Madsen Studios
Austin, TX

nsmadsen:

I remember working with you!

I welcome any help you can offer.

This time around I think I will centralize all posts in this thread and use this thread for correspondence / project management.

How would you like to contribute?

Tom

This topic is closed to new replies.

Advertisement