FRIHOST FORUMS SEARCH FAQ TOS BLOGS COMPETITIONS
You are invited to Log in or Register a free Frihost Account!


Ideas for a program





snowboardalliance
I'm doing an independent study in high school of programming. Basically, I started by re-learning c++ (because they never taught us about pointers/references, standard c++ libraries, or any oop really in school). Pretty soon I will be writing a program with what I have learned and I'm looking for some suggestions. I was thinking some kind of game or some application that could be useful. I still have to learn how to use a library like Allegro or wxwidgets depending on what I want to make, but any suggestions?
coreymanshack
snowboardalliance wrote:
I'm doing an independent study in high school of programming. Basically, I started by re-learning c++ (because they never taught us about pointers/references, standard c++ libraries, or any oop really in school). Pretty soon I will be writing a program with what I have learned and I'm looking for some suggestions. I was thinking some kind of game or some application that could be useful. I still have to learn how to use a library like Allegro or wxwidgets depending on what I want to make, but any suggestions?


A big project, but an instant messaging client that has support for webcams, file sharing, and will work with msn yahoo and aim protocols...
snowboardalliance
coreymanshack wrote:
snowboardalliance wrote:
I'm doing an independent study in high school of programming. Basically, I started by re-learning c++ (because they never taught us about pointers/references, standard c++ libraries, or any oop really in school). Pretty soon I will be writing a program with what I have learned and I'm looking for some suggestions. I was thinking some kind of game or some application that could be useful. I still have to learn how to use a library like Allegro or wxwidgets depending on what I want to make, but any suggestions?


A big project, but an instant messaging client that has support for webcams, file sharing, and will work with msn yahoo and aim protocols...


Thanks, but I'm looking for something a little simpler
Indi
Find an itch and scratch it.

My first real program - that wasn't just made from a tutorial - was a simple program that calculated the best way to cut metal beams. The manager of the manufacturing part of my old company came to me and griped about how much metal was being wasted. When i sent him the bill of materials for a machine, it would say something like:
[1" 4" rectangular cross section metal beams]
4 6' lengths
2 3' lengths
10 14" lengths
18 5" lengths
He would have to take that list and figure out how many 8', 10' or 12' long beams to buy to get all of those lengths, with as little wasted metal as possible. For example:
2 10' beams: each cut in to 1 6', 1 3' and 1 5" pieces
1 8' beams: each cut into 1 6', 1 14" and 1 5" pieces
... and so on

i had it read a file with a list of possible lengths we could buy, another file with the lengths and quantities we needed, and a third file with extra info, like cutting allowances. Then all i had to do is give it a list of what pieces were needed, and it would spit out a list of what to buy and how to cut it to minimize waste metal. Very handy for us... probably totally useless in general.

Another time i had a friend approach me with a... theory ^_^;... that according to the "laws of statistics", it is possible to predict what numbers are likely to come up in future draws. Basically, if the game is fair, the number 16 has a 6 in 49 chance of coming up each draw. If, over the last 100 draws, it has come up much less than that, then it has to come up more often in future draws to balance out and get that 6 in 49 number. Yes, yes, i know this is all totally wrong-headed, and i told him so. But that's what he wanted - he wanted a program to scan the last N draws and display the frequencies of each number in a graph (don't ask ^_^; ) and highlight the 6 numbers with the lowest frequencies. Simple program, but i wrote it almost 5 years ago and he still uses it. In fact, he's been bugging me to add more features to it.

So my suggestion is this. Look around you, talk to people, find out what would make your and their lives easier. Often it's something very simple.
snowboardalliance
Ok, right now I'm thinking about applying some of the physics I'm learning (projectile motion without air resistance) to some simple target shooting game (like launching something at a bunch of balloons floating around. If I do this in 2d, is Allegro the best library for the graphics/input?
Liu
My first real program when I started CS was a side project assigned by my Professor to write an AI for Go-moku. May want to look into maybe developing some sort of simple AI as an opponent for a simple game?
Indi
i tend to agree with Liu. Games are among the most advanced pieces of software available today. If you think about it, if there's one program that truly runs your computer through it's paces, it's probably a game. And, games have been one of the most powerful motivators for hardware advancement simply because they need all the juice they can get.

Now, obviously, you're not going to write Half-Life 2 - what you're describing sounds quite simple. But... for a first project? i'd recommend breaking it down a bit more. Make a program that draws the balloons floating around... or a program that draws the projectile given a starting position, angle and velocity.

The reason why i'm saying start small is if you start too big, you'll never finish it. Better to start small and finish then to start too big and not. Even if the program is silly... at least it's there and done.

(But, just a tip - if you do get into game programming, you'll find that the physics you're thinking of using doesn't really work well for games. You're probably thinking of plotting the path of a projectile using (x, y) = (x_0 + v_x_0 t, y_0 + v_y_0 t + 1/2 g t^2). That's all well and good, but in practice, games don't bother to plot the whole path of the projectile. What they do is just tweak the position a little each "tick". For example, you would have a projectile that has a position (x, y) and a velocity (v_x, v_y). Each tick, x and y are changed by adding v_x and v_y to them, then taking into account any forces that might change v_x and v_y - like gravity - which again is simple addition. Make the tick small enough, and it's almost as if you solved it analytically the way you're thinking of doing it... but much, much faster, and much easier to adapt to new effects like impacts.)
snowboardalliance
Any ideas then for a simple game? I think I'm going to do something non-graphical for now, and then spend the second semester working on something with graphics (maybe pool). Do you think a Sudoku solver is a good exercise? Any other programs I could make that would use a lot of c++ OOP features?
Indi
Text based versions for a number of games are possible, anything from mastermind to battleship. The neat thing about those kinds of games is that you can start simple and build up. First, make the game logic with a simple cin, cout interface to play it. Then add an ai to play against. Then maybe networking for multiplayer. Then a gui.

Plan out everything in advance, and leave "space" in the code for those features (for example, make the game logic client-server, to make networking easy). But don't try to write all at once, take it in small steps.
Related topics
FTP program
Your favourite program?
FTP Support
Disabling certain wireless computers?
PRN convertor ?
Which ad program is better?
Want to start making games?
My program
Interview: Derek Liu, Gaia Online Anime Community
Program-Blocker (like Firewall)
Looking For A good Databasing Program
I need a free decent ftp program
Would you buy microsoft?
Hide Program in Process List & System Tray
Reply to topic    Frihost Forum Index -> Scripting -> Others

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2011 Frihost, forums powered by phpBB.