|
-
July 31st, 2009, 04:43 PM
#16
Re: a project for beginner
Well i took you advice in another post (i think it was you) about qt. the only thing with it is that i don't know how to use qt since they change up the code by adding Q in front of everything. I kinda need help with that. What my plans are for the future are to make Private servers from C++ i know it requires little to no GUI knowledge so it is something i have been wanting to learn to do.
What i meant by things that have a purpose is they actually do something without getting to the point where you want to quit it after 5 minutes.
Last edited by Alexz003; July 31st, 2009 at 04:46 PM.
-
July 31st, 2009, 05:01 PM
#17
Re: a project for beginner
 Originally Posted by Alexz003
Games are pretty useless when text based.
Kids these days....!
-
July 31st, 2009, 06:59 PM
#18
Re: a project for beginner
 Originally Posted by Lindley
Kids these days....!
now what is that supposed to mean? :P
im just saying you won't play it for hours on end xP
besides i like big projects that take time. It makes me feel more acomplished than 500 lines of code :P
-
July 31st, 2009, 08:50 PM
#19
Re: a project for beginner
Alexz003, don't let that get you down 
Lindley may be from my era - the first computer I used could only display on paper - using a teletype machine.
It's like an old man saying, "When I was a kid, I had to walk 10 miles to school, in the snow...."
We're marveling at the relativity of the viewpoint - actually, we understand.
In order to be of some help in suggesting something, however, we have to pin down at least a few parameters of what you intend to do.
For example, if you're not yet familiar with Qt or MFC, then win32 is likely unfamiliar also, then perhaps you're ready for some GUI experimentation.
3D is going to require either a 3D framework (different that Qt or MFC), or OpenGL or DirectX.
I need to get some kind of feedback from you on what direction you're ready to take - how much you must study to make an application.
One of the first things I made when I studied C++ was a pacman clone. At the time I had been a developer for years, was already an experienced C programmer, and it was quick to do.
When I was 15 I made a 2D implementation of a "Star Wars X-Wing" arcade game on an 8 bit computer.
I've got to have some means of sensing what direction you're likely to take. Perhaps you want to make some kind of web service middleware, or a business application, I can't tell.
If my post was interesting or helpful, perhaps you would consider clicking the 'rate this post' to let me know (middle icon of the group in the upper right of the post).
-
July 31st, 2009, 09:56 PM
#20
Re: a project for beginner
Mmk JVene i will tell you exactly where i want to go with programming. it involves about 6 years of my past too so it might be a little long.
When i 9 i started watching anime. I loved it alot and still do. At that age i told myself i wanted to create anime and learn japanese where i would carry out all of my work. In order to create anime i needed to know quite a bit on graphic designs and 3d models. then getting them to move around so i could do something with them. But being 9 years old i only wanted to watch it and i never got motivated to actually learn anything.
When i was 10 i started playing online RPG's and even though i wanted to make Anime i wanted to know what exactly what was behind the game and how it worked too. Once again i never got motivated but i did do very little research.
When i turned 11 i got my first computer. I loved it in every way and i promised myself i would start to work and learn about creating games. Since i was playing alot more games than watching anime i decided after reading a little bit that i would probably have a better lifestyle creating games than making anime. 11 is also when i started learning about Bill Gates who still today my idol for the success he has had through hard work. Even though he was more of a business man he still was a very brilliant guy. Still never got to work on making games or learning 3D structures.
12, i started to look up things about computer programming. I never learned anything because being 12 i didn't know alot of what people were trying to say when teaching it. It led to a lot of failure at coding.
Ages 13 and 14 were pretty much the same. I didn't watch much anime at the time but it was still slightly in my mind. I no longer had a strong intention of making Anime. But, these were the years i actually somewhat started learning coding. I was able to understand things a little bit better and i think when i was 13 was when i made the simple "Hello World" with C++. 14 i started learning very little and coding for me was off and on. I learned a little and forgot all of it in a matter of 2 months. After a while i started learning again and i got a little far but i didn't have enough motivation to actually make anything serious.
I am currently 15 and when i turned 15 is the day i started to seriously crack down on coding. I relearned everything i had known before in the past. After a little more studying i learned more about variables and includes and organization of how to code goes together. The past month and a half is when i learned the most. First i made a 300 line program that would give me access to any important file i had on my computer that i open on a regular basis. Then came making a game. I didn't know how but i saw a post someone made on how to make one. I suggested that they should first write out an outline on what they wanted to do. The put a little bit down of what was to be included. After a small game was made to add more items, monsters and even add experience. Since it was a text based game that this guy wanted to make it motivated me to try and make a game. After i got done telling him what to do i actually started making the game. After about 4-5 days i made a 500+ line program with 8 items 5 monsters up to 10 levels to level up off, working experience, money use, and a way to get defence to work in the game. Right before i made the game i learned about cases which helped alot with what i was doing. I wanted to make programs that people liked instead of something that only i thought was good. This was all about 2 weeks ago.
I guess what i am getting at is i want to create computer programs for others to use that would help in daily life. The second program i made was probably what got me motivated to make those because since both me and my friend use the applications that i had on there, we were both able to use it. I want to make things easier on people using programs. And the first thing i want to make is a private server for a game with one that has yet to be created. The reason for this is because i have alot of supporters that want me to learn what to do and i have one other person that would be willing to help me. So basically making this game makes me have to recreate their entire game without having to do the 3D graphics part. This would make alot of people happy so it is something i want to do. That is where i want to start my life is making this private server. After that i am not completely sure what i want to do. I want to create totally original programs that help people do important things daily.
-
July 31st, 2009, 10:40 PM
#21
Re: a project for beginner
 Originally Posted by JVene
Lindley may be from my era - the first computer I used could only display on paper - using a teletype machine.
Not quite---I was a child of the 80s. Still, I've played a fair number of text adventures, and they can be addictive when done well. Mostly it was a joke.
A common misconception is that console programs are "simple" or outdated. In fact, the majority of major functionality on computers today could be written as console programs (witness the existence of Linux)----GUIs are simply a thin layer on top of the real code, in most cases.
That said, I do understand how there's a certain satisfaction of seeing visual feedback on your efforts. I'd suggest looking into one of the 3D packages (OpenGL or Direct3D), or a higher-level framework on top of those, if you want to go that route.
-
July 31st, 2009, 11:03 PM
#22
Re: a project for beginner
All i want to do is make the program do something. I don't care if there is a "thin layer on top of the real code" that makes it seeable. I like using command prompt as my program because it makes me feel like there is more control over what i can do with the computer when in actuality there isn't because the same language you write for win32 is pretty much the same as console programming in C++.
-
July 31st, 2009, 11:39 PM
#23
Re: a project for beginner
Well, one of the nice aspects of a text based app is the simplification it provides. The subject of software development and engineering is broad, deep and the sheer detail required to get just about anything working of any ambition is considerable, so there's enough to do as it is without taking on complications on top of complications.
There is another issue about C++ development that I'd like to bring up just as food for thought here. As any application becomes more than the short example style you've mentioned thus far, there comes a point where you must manage sizable data, sort data, process information, and that brushes up against some of the general theory of computer science. These are entirely comprehensible and workable, I don't predict they'll be a problem for you.
There's more than one way to solve these issues, and some solutions are C oriented - the historical roots of C++, and they're tediously complicated and prone to bugs.
You're protected to an extent that is quite a luxury compared to years ago. In the 80's, when I was creating my first business, a time existed where it was actually possible to incorporate a bug in C (C++ didn't yet exist commonly) where you could actually cause a CRT monitor to catch fire!
No joke!
Other kinds of bugs could accidentally destroy the content of the hard drive in the snap of a finger. All but irrecoverable.
It's quite fortunate that the protections incorporated into the modern operating systems prevent this problems, but related bugs do happen - we see them as "unexpected application errors" or other crashes.
You'll have an easier and better time of this than we did.
On the other hand, what I'm getting at is that depending on what design you choose for your next application target, there could be quite a learning experience - that's what you really want, I'm sure, and I'm cautioning only that you'll also have to learn patience with yourself, and persistence in research. It's a tough balance to strike between accepting challenge, and taking on more than is reasonable. I think, if I sense your position correctly, a 3D graphics application could be over that point, and a 2D GUI might be close - simply choosing to make a text based application isn't any guarantee that the target choice is simplified; it could still be either over or within that margin of reason depending on how things proceed.
So we're talking about the design of a text oriented application which will be interesting, of some reasonable ambition that will require you to cover a range of concepts not yet familiar to you, and that will keep your interest.
I mentioned "trek" earlier. It may not have rung a bell. Here's an example of a late 70's early 80's text game display...
Code:
..1..2..3..4..5..6..7..8..9..10 K - Shlds: 85%
1 - Vect: 7 @ .1
2 K - Wpns: 50%
3 R
4 <B> R - Shlds: 20%
5 - Vect: 6 @ .25
6 - Wpns: 25%
7
8 E E - Shlds: 35%
9 - Vect: 3 @ .1
10 - Wpns: 55%
1) Fire, 2) Nav, 3) Shlds, 4) Comm
This shows a text based game involving 3 starships and a starbase in this display. Each ship has shields, a direction (Vector), Weapon status, etc.
The <B> is a starbase.
Each time a command is issued, this display is printed showing the updated display. It runs like a board game in this style. It was common in lots of forms on the RadioShack TRS-80 8 bit computer of the late 70's, almost all machines that ran a form of BASIC interpeter, several versions were created and sold for about $5 each (on cassette tape, usually) - and, it was interesting to play.
I show that in case it fits the bill and you didn't recognize the nature of a late 70's/early 80's style "trek" game.
Care to suggest an entirely different direction instead?
Last edited by JVene; July 31st, 2009 at 11:44 PM.
If my post was interesting or helpful, perhaps you would consider clicking the 'rate this post' to let me know (middle icon of the group in the upper right of the post).
-
August 1st, 2009, 12:08 AM
#24
Re: a project for beginner
I have no problem with learning new things. Even though it took me 4-5 days to make my game (found at http://forum.ragezone.com/f86/c-text-rpg-593185/) I didn't give up on it even when i found errors which made me have to redo the majority of the code. I love to learn anything computer oriented. Unlike the 70's and 80's today the main thing is 3D and 2D games. Making GUI applications make it easier for the person to use than using a console everytime because pressing a button is alot easier than typing a number and pressing enter. The only problem with anything today is making something random. The people who put together C++ made random numbers impossible to put within a range for it to be a one time use. That is the only thing i am waiting for replies on two different websites that no one can figure out :/
I want to leave the 3D stuff to other people because my interest is in making them do something when you press a button or something. Like for instance, when you are playing a game and you click on an NPC the NPC responds. I like making them communicate back to you in that way.
-
August 1st, 2009, 04:15 AM
#25
Re: a project for beginner
 Originally Posted by JVene
Well, one of the nice aspects of a text based app is the simplification it provides. The subject of software development and engineering is broad, deep and the sheer detail required to get just about anything working of any ambition is considerable, so there's enough to do as it is without taking on complications on top of complications.
There is another issue about C++ development that I'd like to bring up just as food for thought here. As any application becomes more than the short example style you've mentioned thus far, there comes a point where you must manage sizable data, sort data, process information, and that brushes up against some of the general theory of computer science. These are entirely comprehensible and workable, I don't predict they'll be a problem for you.
There's more than one way to solve these issues, and some solutions are C oriented - the historical roots of C++, and they're tediously complicated and prone to bugs.
You're protected to an extent that is quite a luxury compared to years ago. In the 80's, when I was creating my first business, a time existed where it was actually possible to incorporate a bug in C (C++ didn't yet exist commonly) where you could actually cause a CRT monitor to catch fire!
No joke!
Other kinds of bugs could accidentally destroy the content of the hard drive in the snap of a finger. All but irrecoverable.
It's quite fortunate that the protections incorporated into the modern operating systems prevent this problems, but related bugs do happen - we see them as "unexpected application errors" or other crashes.
You'll have an easier and better time of this than we did.
On the other hand, what I'm getting at is that depending on what design you choose for your next application target, there could be quite a learning experience - that's what you really want, I'm sure, and I'm cautioning only that you'll also have to learn patience with yourself, and persistence in research. It's a tough balance to strike between accepting challenge, and taking on more than is reasonable. I think, if I sense your position correctly, a 3D graphics application could be over that point, and a 2D GUI might be close - simply choosing to make a text based application isn't any guarantee that the target choice is simplified; it could still be either over or within that margin of reason depending on how things proceed.
So we're talking about the design of a text oriented application which will be interesting, of some reasonable ambition that will require you to cover a range of concepts not yet familiar to you, and that will keep your interest.
I mentioned "trek" earlier. It may not have rung a bell. Here's an example of a late 70's early 80's text game display...
Code:
..1..2..3..4..5..6..7..8..9..10 K - Shlds: 85%
1 - Vect: 7 @ .1
2 K - Wpns: 50%
3 R
4 <B> R - Shlds: 20%
5 - Vect: 6 @ .25
6 - Wpns: 25%
7
8 E E - Shlds: 35%
9 - Vect: 3 @ .1
10 - Wpns: 55%
1) Fire, 2) Nav, 3) Shlds, 4) Comm
This shows a text based game involving 3 starships and a starbase in this display. Each ship has shields, a direction (Vector), Weapon status, etc.
The <B> is a starbase.
Each time a command is issued, this display is printed showing the updated display. It runs like a board game in this style. It was common in lots of forms on the RadioShack TRS-80 8 bit computer of the late 70's, almost all machines that ran a form of BASIC interpeter, several versions were created and sold for about $5 each (on cassette tape, usually) - and, it was interesting to play.
I show that in case it fits the bill and you didn't recognize the nature of a late 70's/early 80's style "trek" game.
Care to suggest an entirely different direction instead?
Good to learn from experienced people who program in low level before.
My point of view is i don't care about the GUI portion once you can get the implementation code working.
Learning GUI or 3D library take time and essentially, i not very interested in that. I not criticize any one, just to express my idea.
Thanks for your help.
-
August 1st, 2009, 10:57 AM
#26
Re: a project for beginner
I'm a little short on time today, so I'm going to focus on a specific point just now and come back later on the rest.
The only problem with anything today is making something random. The people who put together C++ made random numbers impossible to put within a range for it to be a one time use. That is the only thing i am waiting for replies on two different websites that no one can figure out :/
There's a yes and no in the answer to that.
At one level, the paradigm of C and C++ is that of library component adaptation. A lot of students seem to expect a "one stop shopping/service" from every "computer language", something that BASIC/C#/Java are closer at providing.
C was originally implemented to replace an assembler, but without any dependence on the CPU architecture (some of the computer of that day were 12 bits, 18 bits, 24 bits...36 bits).
The constructs of the core of the language translate into a few, often just one, machine language instruction. This is what makes it fast and applicable to the creation of operating systems and performance oriented targets.
To gain service/access to anything - ANYTHING - outside the domain of the core of the machine (the CPU/RAM essentially), you must have "adapters" of some kind. That's the only way to provide C with the ability to work anywhere. The C library is the first standardized adaptation to the operating system.
Such is the case with random numbers. It is not the responsibility of the language to provide random numbers to suit a target purpose (it isn't something most CPU's do). Instead, it's from a library, and C has rand.
You've probably realized rand returns integers, and always in the range of a positive 15 bit integer (limits to 32767) - on most platforms.
There are additional libraries which adapt to range/float/double/complex goals for random numbers. A simple range for random can be created with something like....
int r = rand() % 100;
This produces a random value from 0 to 99. It's NOT particularly robust, but it works.
int r = (double)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
Given a maximum and minimum range (integers), this gives random values from rand in that range.
Using a minor bit of algebra, it's possible to extrapolate this idea into floats and doubles of much larger magnitudes.
You may want to google for Mersenne twister. That, and a number of other theories, are advancements beyond the simple rand service from C.
There are even services which provide random number sequences from the web, a few are taken from values recorded from the background cosmic radiation survey.
If my post was interesting or helpful, perhaps you would consider clicking the 'rate this post' to let me know (middle icon of the group in the upper right of the post).
-
August 1st, 2009, 11:33 AM
#27
Re: a project for beginner
I am quite aware that every programming language has goods and bads somewhere. rand is just what it happened to be with C++ and is what i was looking for. I have tried using
Code:
int r = (double)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
in the past, but whenever i start the application it gives me the same random number each time when i put in range_min and range_max.
-
August 1st, 2009, 11:44 AM
#28
Re: a project for beginner
 Originally Posted by Alexz003
but whenever i start the application it gives me the same random number each time when i put in range_min and range_max.
Did you remember to seed the pseudorandom number generator with a different seed on each run?
-
August 1st, 2009, 11:59 AM
#29
Re: a project for beginner
There's a classic.
One must call srand first.
It can be a feature for debugging that if the same seed is supplied to srand, the same sequence will be obtained from rand, and so 'random' sources can be repeated for debugging purposes (repeating behavior so one can predict the occurrence of a problem).
If my post was interesting or helpful, perhaps you would consider clicking the 'rate this post' to let me know (middle icon of the group in the upper right of the post).
-
August 1st, 2009, 12:41 PM
#30
Re: a project for beginner
But the thing about it is i don't want it to repeat the same thing i want it to be random each time.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|