Somewhat noobish C++ project ideas?

kyzen

Golden Member
Oct 4, 2005
1,557
0
0
www.chrispiekarz.com
I have something of a programming background; I work as a software developer making C# web apps, though the vast majority of my duties at work involve databases, so I'd say I'm more a DBA than developer.

Anyways, I took a 100-level C++ class at a community college this semester, as I've never had any true object oriented programming training - everything I know I've mostly picked up on the job, in this forum, or from interesting pages I get linked to by friends.

My background has made most of the class pretty easy for me - I still make a syntax mistake here and there, but for the most part I haven't struggled with anything.

A decent chunk of our grade stems from a final project due at the end of the semester. We have to turn in a project proposal by the end of the week.

The example projects suggested by the teacher for the most part bore me, and seem really unimaginative. I'm looking for something that will be a little challenging (as opposed to something I should crap out in my sleep for an easy A), but not so difficult that I shoot myself in the foot grade-wise when creating it.

So, I'm looking for ideas.

I'd like to make either a simple game, or a program that would be actually useful in some way.

Any suggestions? Links to useful resources?
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
My last year in High School we had a similar project, I ended up writing a simple GUI app that you could drag and drop MP3 files into and then edit the ID3 tag information in the files and save them. Everyone was so impressed with a few hundred lines of code even though all of the heavy lifting was done by the ID3 API I was working with.
 

kyzen

Golden Member
Oct 4, 2005
1,557
0
0
www.chrispiekarz.com
We haven't done anything graphical yet (all console stuff so far - not saying I wouldn't be interested, just putting that out there).

I'd actually really enjoy creating a board game, however I'm not sure where to begin with graphics yet.
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
Originally posted by: kyzen
We haven't done anything graphical yet (all console stuff so far - not saying I wouldn't be interested, just putting that out there).

I'd actually really enjoy creating a board game, however I'm not sure where to begin with graphics yet.

Along those lines, I wrote a simple putt-putt clone, Mastermind clone, a Duck Hunt clone at various times in my intro C++ classes. If you are stuck using console input/output only then you are a bit more limited though. What about a Suduko puzzle game?
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
Originally posted by: kyzen
Well I imagine I can do a graphical project - but I'll be on my own for figuring out how to do so. What did you use for those games you created?

Well.... this was 7-8 years ago so I'm sure there are far better choices but for those "complex" games I used the Allegro library to handle input/output. For the ID3 editor MFC was used with Visual C++ 6.0.

What environment are you programming in?
 

Cogman

Lifer
Sep 19, 2000
10,283
134
106
Originally posted by: kyzen
Windows.

Looks like Allegro is still being maintained; which is more than one could say for GLUT.

Look at the SDL. right now it is one of the better game programming APIs available.

You might consider a simple card game like blackjack.
 

DyslexicHobo

Senior member
Jul 20, 2004
706
1
81
For my AP computer science class in high school we did a marine biology project that was pretty cool. We worked on it for half the year (yeah, high school was SLOW. About 75% of our "work" time was done in Quake 3 ). It simulated a marine ecosystem in a 2-D grid fashion. We implemented different types of fish, breeding systems, food chains, etc. It required a decent amount of work, probably somewhere in the ballpark of what a 100-level class would be looking for. There was a black box class that handled all of the basic graphic interface, but I imagine creating a simple GUI wouldn't be too hard. You could just always use a text output of some sort, having the grid be an array of different letters, each letter representing a different fish. It may not look as pretty, but the functionality would be the same and hopefully your teacher could still appreciate it.

Edit: Or if you're looking for a really simple game to create, there's always minesweeper. Without importing any fancy APIs or anything you can make a fun minesweeper game in a console app. It was my big project for my 11th grade advanced comp sci class. It was just a simple array with X's for mines and O's for clear spaces. There was rows and columns labeled with numbers so that the user could input which cell they wished to try. This might be a little too simple, though.
 

tfinch2

Lifer
Feb 3, 2004
22,114
1
0
Originally posted by: Crusty
My last year in High School we had a similar project, I ended up writing a simple GUI app that you could drag and drop MP3 files into and then edit the ID3 tag information in the files and save them. Everyone was so impressed with a few hundred lines of code even though all of the heavy lifting was done by the ID3 API I was working with.

Cheater!
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
Originally posted by: DyslexicHobo
For my AP computer science class in high school we did a marine biology project that was pretty cool. We worked on it for half the year (yeah, high school was SLOW. About 75% of our "work" time was done in Quake 3 ). It simulated a marine ecosystem in a 2-D grid fashion. We implemented different types of fish, breeding systems, food chains, etc. It required a decent amount of work, probably somewhere in the ballpark of what a 100-level class would be looking for. There was a black box class that handled all of the basic graphic interface, but I imagine creating a simple GUI wouldn't be too hard. You could just always use a text output of some sort, having the grid be an array of different letters, each letter representing a different fish. It may not look as pretty, but the functionality would be the same and hopefully your teacher could still appreciate it.

Edit: Or if you're looking for a really simple game to create, there's always minesweeper. Without importing any fancy APIs or anything you can make a fun minesweeper game in a console app. It was my big project for my 11th grade advanced comp sci class. It was just a simple array with X's for mines and O's for clear spaces. There was rows and columns labeled with numbers so that the user could input which cell they wished to try. This might be a little too simple, though.

That was the topic for the AP exam for several years in a row(I think right before it went to Java). They provided all the gui and fish tank drawing code, you wrote everything else. IIRC the entire source was available in the back of one of the handbooks. I was expected to know how to write any of the functions or class declarations for the AP exam, as well be able to debug code that belonged to that project.
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
Originally posted by: tfinch2
Originally posted by: Crusty
My last year in High School we had a similar project, I ended up writing a simple GUI app that you could drag and drop MP3 files into and then edit the ID3 tag information in the files and save them. Everyone was so impressed with a few hundred lines of code even though all of the heavy lifting was done by the ID3 API I was working with.

Cheater!

If it was cheating then why did the teacher let us use any 3rd party API's we wanted?
 

chronodekar

Senior member
Nov 2, 2008
721
1
0
If you want to do a game and are in Windows, why don't you try out the XNA game studio ?

Since you know C# and are knowledgeable about OOP, it should be easy for you to pick up on and there are plenty of tutorials out there.

http://creators.xna.com/en-US/
 

hans007

Lifer
Feb 1, 2000
20,212
17
81
well seein gas you know C# at least somewhat you should be able to do a decent job on a C++ app.



Im assuming you have around 2-3 weeks at least to do a project so in that kind of timeframe, I'd suggest trying something like making a really simple client server with tcp / ip or something. It will be reasonbly easy and you can make it do some cool things like say have the server perform one of 10 commands, depending on what the client types in.
 

kyzen

Golden Member
Oct 4, 2005
1,557
0
0
www.chrispiekarz.com
Originally posted by: chronodekar
If you want to do a game and are in Windows, why don't you try out the XNA game studio ?

Since you know C# and are knowledgeable about OOP, it should be easy for you to pick up on and there are plenty of tutorials out there.

http://creators.xna.com/en-US/

Can you use C++ with XNA? I recall reading somewhere that you were limited to C#? I'm posting via my phone at the moment, or I'd go look for myself
 

chronodekar

Senior member
Nov 2, 2008
721
1
0
My mistake. I didn't realize that you needed to do it in C++. ( I just saw C# in your initial post and assumed)

With XNA, yes, I think you are limited to C#.

I was doing a quick search and found this,

http://gdk.thegamecreators.com/

Perhaps you could find it useful instead ? They have loudly proclaimed compatibility with Visual C++ 2008 express.

 

Dimmu

Senior member
Jun 24, 2005
890
0
0
Originally posted by: chronodekar
My mistake. I didn't realize that you needed to do it in C++. ( I just saw C# in your initial post and assumed)

With XNA, yes, I think you are limited to C#.

I was doing a quick search and found this,

http://gdk.thegamecreators.com/

Perhaps you could find it useful instead ? They have loudly proclaimed compatibility with Visual C++ 2008 express.

I've used the Dark GDK with Visual Studio, and it is actually quite nice. There are functions for pretty much every need, as well as extensive documentation, and yet it still manages to feel very lightweight. My only gripe is the almost total lack of OOP.
 

chronodekar

Senior member
Nov 2, 2008
721
1
0
I am puzzled when you say,

My only gripe is the almost total lack of OOP.

If you know C++, then OOP is just a matter of structuring your code. Is there some design constraint in Dark GDK that prevents you from using OOP ? (I haven't used it)

Coming back to your initial question, (looking for an idea/game) Perhaps you could look into the XNA created games and borrow ideas from them? I don't mean to plagiarize, but they seem to have a bigger library of small games compared to Dark GDK.

A suggestion - Decide on a theme and game rules FAST. And avoid feature-creep if you can. It can get VERY tempting, especially when you are on a project you enjoy.

With my teachers, what impressed them the most was the methodology, more than the final result. You might get a better score if you can figure out how to unit-test a small section of your game. Providing good documentation might also help.



 

kyzen

Golden Member
Oct 4, 2005
1,557
0
0
www.chrispiekarz.com
Thanks for the tips and links so far. On my current short-list of projects:

-An aquarium ecosystem, with fish that eat other fish. The user would be able to create a few 'species' of fish, setting their aggression level, their size, how much they need to eat before being hungry, how long they can be hungry before they die, how long until they breed, and the number of them in the tank. The game then runs, and the user gets points based on how long the aquarium sustains itself before everything dies due to ecosystem imbalances. I'll clearly need to work very hard to design a ruleset around this that works well.

-A simple RPG. To teach us classes and arrays and arrays of classes, the teacher has had us create a very simple text based RPG, where you can't actually do much. I could expand on this by creating a 2d world (limit myself to a couple of maps), using some of the existing code from the class 'game'. It would feature 3-5 'maps' that the player could walk around in, collide with objects, enter random battles, and interact with. I could see this getting very overwhelming though.

-Minesweeper - My last resort really.

I'll probably play with some of the graphics libraries suggested so far later today, and decide how feasible it is to create a graphical game within the time constraints.

I'm definitely open to more suggestions/links
 
Sep 29, 2004
18,656
67
91
For a 100 level course, the teacher probably want to see that you can get user input and logically dispaly results based on input.

How complex does it have to be?

You could do a text based sudoku game. Have the user enter x,y,value. Refresh the console, etc, etc, etc. Read in a data file so any "puzzle" can be loaded via command line.

 

Dimmu

Senior member
Jun 24, 2005
890
0
0
Originally posted by: chronodekar
I am puzzled when you say,

My only gripe is the almost total lack of OOP.

If you know C++, then OOP is just a matter of structuring your code. Is there some design constraint in Dark GDK that prevents you from using OOP ? (I haven't used it)

Exactly, the way the Dark GDK was designed doesn't make an OO approach IMPOSSIBLE, but it certainly causes you to have to create extensive work-arounds for many aspects of the GDK. If it had been designed with OOP in mind from the ground up it (I mean, after all, it IS written in C++), it would be much more intuative, and likely more efficient, as far as coding time goes.
 

degibson

Golden Member
Mar 21, 2008
1,389
0
0
Originally posted by: kyzen

-An aquarium ecosystem, with fish that eat other fish. The user would be able to create a few 'species' of fish, setting their aggression level, their size, how much they need to eat before being hungry, how long they can be hungry before they die, how long until they breed, and the number of them in the tank. The game then runs, and the user gets points based on how long the aquarium sustains itself before everything dies due to ecosystem imbalances. I'll clearly need to work very hard to design a ruleset around this that works well.

I like this idea. Its open-ended, too, so if you end up liking the project, you will be able to make it more sophisticated. But aim small at first -- don't bite off more than you can chew .

 

Kirby

Lifer
Apr 10, 2006
12,028
2
0
I made a sweet Galaga knockoff in high school using Borland's (5.01?) old graphics library.
 

sao123

Lifer
May 27, 2002
12,650
203
106
When I taught C++ and Data structures, my final project for all my students was to design a simple microprosessor and write a program which will emulate it, and execute a full program which is written in binary/hex for that microprocessor.

... for Extra Credit, they could write a compiler which would compile text langauge into the proper binary/hex code, and then run the program.

It sounds harder than it really is.


The exact assignment is at the end of chapter 5 && 15 in the DEITEL C++ HOW TO book.
Building your own SIMPLETRON computer


This was a very useful assignment for most of the students, if only that it helped prepare them for understanding microprocessors for later classes in their major.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |