My Summer Game Programming Project - Due: 9.22.09

  • (14 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »

200 Replies - 18000 Views - Last Post: 29 July 2009 - 11:57 AM

#1 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

My Summer Game Programming Project - Due: 9.22.09

Posted 02 June 2009 - 06:28 PM

Hi Everyone,
I'm an amateur game programmer who likes to make games in the evenings. For the past 2 years I've been building games over at GI as part of the student game challenges. I love competitions but the problem is that all my games come up 'short' in terms of quality, fun, and engaging game play. Competitions at GI are about 4 to 8 weeks in length.

So, I decided to take a sabbatical from GI competitions and spend my hot summer in South Carolina working on a new game. I hope to double the amount of time on the project. Hopefully this will translate to better quality. :) I'll be updating this thread frequently as I move the project through its various phases.

You may download and play my games from here. If you have a critical eye you can see their short comings.

Project Parameters:

Project Time Frame: 6.1.09 - 9.2.09
Genre: TBD (casual game?)
Target Audience: TBD
Platform: PC - Windows
Language/Compiler: C++ using Visual Studio 2005 (I just upgraded from 2003)
Other: I do use VB6 for creating quick tools such as editors. I do employ Excel/VBA at times to create and manipulate data.
Engine: My personal framework of code
Sound: FMOD EX
Graphics: DirectX 9 2D (I won't be working 3D on this one)

Development Process

This is somewhat basic. I hope to...

1) Develop a game idea that sounds fun to you and my family/friends.
2) Write a game program specification (game play and technical details).
3) Design the game framework (or update current framework of code).
4) Develop the game, test as I go, and make necessary adjustments.
a) Create art assets. I like Paint.net.
b ) Create sound assets. I use Audacity.
c) Create music assets.
d) Write the code (game states, game logic, glue, etc.)
5) Beta test the game. Implement necessary bug fixes and feature requests.
6) Write a post-mortem and describe what went well and what didn't.

How you can help?

1) Offer encouragement. Non-coders do not appreciate the amount of work that goes into such projects. (See Skyhawk's thread on Motivation.)
2) Offer criticism and suggestions. Programmers get lost in their 'masterpiece' programs and they cannot or do not see how bad it really is. I am myopic in this respect.
3) Contribute to the project: sound effects, art assets, music loops, game code....just let me know if you want to help. I'll put your name in scrolling credits. :D

Next Step?
This is the most important and yet most difficult part of the process for me. We need a game idea. Here are the constraints:
1) 15 weeks x 20 hours/week = 300 hours. Project must be doable in that amount of time.
2) Assets such as art, music, and sound must not be excessive due to time restraint.
3) 2D - top down, front view, isometric (never done that one before), or side view.
4) Controlled by keyboard and/or mouse.

If you have any ideas please let me know. I'll be checking out casual type games on the web for inspiration.

Regards,
Chuck

This post has been edited by chuckb: 02 June 2009 - 06:31 PM


Is This A Good Question/Topic? 0
  • +

Replies To: My Summer Game Programming Project - Due: 9.22.09

#2 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 02 June 2009 - 07:10 PM

Hi,

Here's a technique that I haven't used before.

Posted Image

The idea would be that various photos could be loaded onto the background. Circular sprites are drawn on top at different radius and different angles. The four cardinal angles would be sufficient...but more angles could used.

I'm thinking that the sprites may be static or rotating. The player clicks to stop them. The level is over when a drawing is correct.

Sprites could be defined prior to start or I'm thinking randomly created...though I've not done that latter before.

This technique could be applied to a complex network of pipes or paths. When all is lined up, something moves from one end to the next as a reward...I'm thinking kids' games.

Any thoughts?

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#3 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 02 June 2009 - 07:34 PM

Here's a second concept similar to the one above...with a time based element to it.

Posted Image

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#4 SixOfEleven  Icon User is offline

  • using Caffeine;
  • member icon

Reputation: 945
  • View blog
  • Posts: 6,342
  • Joined: 18-October 08

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 02 June 2009 - 07:53 PM

I like the concept. It reminds we a little of the concept behind The Incredible Machine. In The Incredible Machine you build machines to accomplish goals. It was a very fun game, played it for hours. I don't do much C++ programming anymore. I prefer C#/XNA. Takes a lot of the complexities out of 2D game programming. Not so much for 3D but it is still pretty cool in 3D too.
Was This Post Helpful? 0
  • +
  • -

#5 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 03 June 2009 - 06:40 AM

Hi,
I checked out the game you referenced. I see the similarity with the underwater art.

I sort of enjoy some of the complexities of programming 2D games. I find that more enjoyable than playing them. :)

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#6 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 03 June 2009 - 06:46 AM

Hi,
Here's what I'm looking to answer during the initial phase of game design.

Excerpt borrowed from http://accad.osu.edu...GameDesign.html

DESIGN REQUIREMENTS

General

Game Concept
What is the essence of the game?
Who / what are the characters? What do they do?
Where does the game take place? Why?

Game Mechanics
How does the user interact with the game? With other players?
Are there non-player characters? What is their behavior?
What other game entities exist? What is their purpose?
How would a typical game progress from beginning to end? Show a flow diagram.

Game Purpose
What will the user experience during the game?
Why will a user want to play the game? Why keep playing?
What does the user take away form the game?

Art

User Interface
Create a wireframe flowchart of all the screens the user may encounter
What are the UI widgets that will be needed in the game, and what do they look like?
Create rough mock ups of each of the screens, indicating UI widgets where needed
Create sketch profiles of each of the game entities

Characters / Game Entities
Create sketch profiles of each of the game entities and the important poses and costumes they can assume

Environment
Provide style references for overall mood, technique, palettes
Provide background and environment references—illustrations or found imagery

Music

User Interface

What are the UI cues that will be needed in the game, and what do they sound like?
Provide background music treatments for all the screens the user may encounter

Characters / Game Entities
What sounds do the game entities and their accessories make?

Environment
Provide cinematic background and environment samples
Provide situational treatments (discovery, danger, combat, etc.)

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#7 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 03 June 2009 - 05:59 PM

*Update*

Over the past several projects, I've created custom Classes for my game framework. During a project I make enhancements to the framework in addition to adding game play logic and code. The problem of course is I need to take the last project and strip out that project specific code. Fortunately, I'm hard coding less and less and am using data files to customize much of the behavior. It took me about 30 minutes tonight to remove evidence of the last game. Whew! It used to take 4 hours. :D

Here's a snapshot of my basic framework...I'm showing "include" files.

CAudioManager - wrapper for FMOD sound functions. Really easy to add sound.
CConfigData - loads config.ini data such as screen resolution, sound and music status, etc.
CCSVReader - nice tool for reading comma delimited files...supports comments ( // )
CDateTime - manages everything related to date and time
CFizzix - my custom physics class
CGameClock - manages game time..depends on CDateTime
...State... - each phase has its on state class...derived from a virtual stateobject class
CGraphics - wrapper for DirectX, loads textures, defines sprites, etc.
CLog - singleton logging class with templates...very sweet
CTimer - very nice timer class for updating some anmation and behavior of AI
Keystatus - keyboard and mouse...I'll probably migrate to DirectInput.


That's the framework. I've got it cleaned up and ready to go. Now I need to come up with a 2D game idea.

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#8 X@MPP  Icon User is offline

  • 僕わ馬鹿ですね?
  • member icon

Reputation: 36
  • View blog
  • Posts: 1,014
  • Joined: 20-February 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 04 June 2009 - 04:43 PM

nice i like it i dont do games much if i do its C#/XNAGS
well good luck
Was This Post Helpful? 0
  • +
  • -

#9 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 04 June 2009 - 07:04 PM

@ X@MPP,
I've been playing games for a few years. I started with QBasic a long time ago...mostly utilities. Then used VB3, 4, 5, and then 6 to build apps...lots of them. I still build apps but only small projects (something that can be done in less than 4 hours).

*Update*
Continuing to clean up my code. I'm removing a lot of the hard coding and adding the flexibility of configuring from a data file.

Game ideas? I've been all over the chart. I've thought of puzzles, top down shooters, side scrolling kung fu fighters, and large fantasy worlds to explore. Nothing is generating a spark yet. It'll come though. :)

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#10 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 04 June 2009 - 08:49 PM

I've been reading the Game Design Rules from here. This is an excellent list. I'll revisit it several times over the duration of this project.

I've been revisiting prior games I've worked on. My favorite and simplest game to play was a WWII tank game. I would love to resurrect that game with more terrain, challenges, and sound. Here's that screen shot. It was a 4 week project.

Posted Image

I'll do some research and see how I might make this into a more enjoyable experience.

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#11 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 04 June 2009 - 09:55 PM

Creative idea: Tank Game - The Battle of Kursk looks like something to work with...the largest tank battle of WWII.

Technical Enhancements to previous game:
* Smoke - I'm going to experiment with this particles effects library. http://pyro.fenomen-games.com/

* Physics - And I'll work with this 2D physics library. http://www.box2d.org/

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#12 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 05 June 2009 - 05:31 PM

*Update*
This is for Dan. He's interested in a tank game.

@Dan,
Here's my sprite sheet for the tank game above. The tank model came from a student at GI. He rendered the tank and turret separately. I added the cheesy art to give the effect of a British, American, and German tank. I made the explosions with an explosion generator. The Iron Cross came from another site.

Posted Image

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#13 chuckb  Icon User is offline

  • D.I.C Head

Reputation: 13
  • View blog
  • Posts: 211
  • Joined: 29-May 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 05 June 2009 - 11:23 PM

@Dan,
Here's a test program for your sounds. You can replace all of the existing sounds with yours. Run the .XLS to create the sounds.txt file...or you can manually do it. I'm using FMOD. This is the wrapper that will be used in my framework. The sounds.txt file created by the .XLS must be placed in the same folder as the .EXE.

FMOD_Demo_Console.zip

Regards,
Chuck
Was This Post Helpful? 0
  • +
  • -

#14 danm36  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 32
  • Joined: 06-June 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 06 June 2009 - 05:36 AM

@Chuck,

Thanks for the test app. Works much better than Windows Media Player.
I am unable to voice act for anything sadly, so we would need a voice actor (Unless your using sub-titles).
I'll be working on a test tile-map for now. Should be able to post by tomorrow.

Some game function ideas (If you are finalized on choosing to update the tank game).
  • The turret direction follows the mouse pointer. You may need to include turret lag for a realistic slow turret
  • Level editor (If possible) using tile-set painting. (See RM2K rpg maker)
  • Left mouse button fires a shell, Right mouse button fires the machinegun
  • Infantry of both sides (So the machinegun has use, and protect the squad missions could be made)
  • Ammo for both weapons, meaning ammo-trucks could be included (Adding another protect the X semi-mission)
  • Health, rather than 1 shot kills
  • The above could mean a second or third set of sprites of the same tanks showing varying degrees of damage
  • Air support/side missions/minigame (Unlikely)
  • Multiplayer using various net-code (Very unlikely)
I could possably think of more at a later date

Dan
Was This Post Helpful? 0
  • +
  • -

#15 danm36  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 32
  • Joined: 06-June 09

Re: My Summer Game Programming Project - Due: 9.22.09

Posted 06 June 2009 - 09:06 AM

@Chuck

Finished sprite sheet 1 for the possible tank game. Explanation below:

Posted Image
  • Each tile is 64x64 pixels in size
  • The top left 4 tiles are grass, desert, snow and mud respectivly. (Maybe some blend code clould be used, but it would probably be too complex for the timespan)
  • Tanks are the same as before. The reason there are 3 sets are so you can add damage marks. (I cannot create decent damage graphics)
  • 6 tile explosion and 4 tile fire animation on the left hand side
  • Exact bottom left is a fired shell with fake blur, the one to the right of that is a single bullet
  • While I know the British/Americans didn't partake in the Battle of Kursk, they can still maybe be used in testing/skirmish modes
  • 3 logos for 3 teams, Red Star Soviets, British/American logo and the German logo.
  • Below the logos are an ammo truck, repair truck and crosshair respectivly
  • The rest are self explanitary buttons (Missions for seperate mini missions and possably level creator made missions. Skirmish for multiplayer if it is ever incorperated)

The explosions were taken from a real explosion video and the fire from RM2K3. The rest was either home made or from the existing sprite sheet.

This post has been edited by danm36: 06 June 2009 - 09:16 AM

Was This Post Helpful? 0
  • +
  • -

  • (14 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »