I am a second year, learning C/C++ and Java.
In our first year of university we did basic C++, no classes. This year we have been introduced to classes and inheritance. We have not yet done pointers, virtual functions, abstract classes, operator overloading, exception handling, linked lists, stacks, queues, binary trees, graphs, etc.
I am very curious, so I like to teach myself some things that we haven't yet done. I enjoy the technical side of things a lot, my friends think I am weird to want to learn more than I have to..
But heres my problem:
Our C++ lecturer has decided to take a different approach this term to learning. He said, form a group, think of a project you would like to do and implement it over the year.
Let me give you a break down of our group:
Theres five of us in the group. Myself and another member are much more experienced than the other three and we like the technical side of things, and are quite motivated to do something with an interesting challenge. Then we have a group member who has been extremely hard to motivate, and he was very unsure why he wanted to be a programmer. He did some thinking and decided he wanted to work towards becoming a game programmer. The next member of ours is not the most reliable and has let us down a few times. Finally we have a new member that is keen to learn, but his programming needs work, as do the previous two members.
We are all friends, of course -- which probably isn't the ideal solution to a good group.
The project idea:
Our lecturer gave us an initial idea for a project: a timetable scheduler. Of course this is no trivial task, but most of our members were not really interested in the project at all. So, then I thought -- one member wants to be a game programmer (the hardest member to motivate), most of us would probably enjoy the experience of doing a game, as it would be a big challenge, so why not give it a go?
So what is my question? Do you think that we should take on the task of making a game, or aim for something else?
Initially we thought of a 2D, top-down, ARPG. Then it became a 3D ARPG.
Obviously 3D would be harder, but as we have time to learn, it wouldn't be such a bad idea would it?
Personally I think that the learning will be the most fun part of this project, even if we don't end up with a great game, we should have learned a lot (including being forced to learn and implement new C++ topics).