School project - develop a game

Started by
7 comments, last by superman3275 11 years, 7 months ago
Hi,

First of all: Sorry for my bad english.

Three of my friends and I want to develop a game as a school project. We want to make a kind of 2D jump 'n' run.
We first thought about using Java, because one of the team and I have some experiences with it, but we decided to use C++, because it's the main programming language to develop games and there are many engines and APIs (we are afraid that the time [9 months] ,which we have for the project, isn't enough to develop an own engine. So we wanted to have the chance to use an full-fledged engine in case of need).
Moreover the school-computers aren't very powerful, so we expected that Java doesn't really run smoothly on them.

I started to learn C++ 1 week ago - I practice 2-3 hours a day with the help of a book and I think I can control the very basic fundamentals in some days. But we don't know how to start such a project. We're two 'programmers' and two 'graphic and leveldesigner', we have enough ideas for nice features and a good gameplay, but we really don't know how to start.

We want the graphics look like 'Super Meat Boy' - or is that a too ambitious target?
We haven't enough experiences to plan what we can realize and what is too difficult.

Do we must write the engine first, or is it better to use a full-fledged 2D engine (which can you recommend?)?
Can two hobby-programmer develop a complete (and good) 2D jump 'n' run game without using an engine?
Is it generally possible to create something like this for two C++ newcomer like us?

We are willing to invest much time (2hrs and more a day) and some money for the project.

I hope you can help and give us tipps and suggestions - we really need help by some experienced people.
Thanks for reading ;)

If anything is still uncertain, let me know it. - I hope you could understand my english ^^
Advertisement
Learning C++ in 9 months will be rough. Learning C++ and creating a proper game, that's really pushing it.

I would stick to Java if I were you. Failing that, I would use something like Moai, Love or ImpactJs. ( I'm on a Lua kick lately, so that's why the first two pop to mind) .

If you insist on going C++, I suppose I recommend SFML. SDL and Allegro are two other common choices.
I would have to agree with Serapth. I am of the belief that no one can really master C++, but if you put in a lot of time within several months you should be able to get a rudimentary game done (like pong or a basic 2D Jump 'n' run).

If you want quick results and more time working on your game and a little less time learning the language I would stay with Java. There are many good libraries for Java that can help save you some time (like LWJGL).

If you want to spend more time learning the language and invest a little further into the future (a couple years down the road) I would advise going to C++ route and just practice very basic stuff and work your way up (you'll still have headaches along the way, trust me biggrin.png ) For libraries along the C++ lines I would recommend Allegro if you want to get something running a little quicker and easier, or SFML which I prefer to use (Serapth has some good tuts in his sig biggrin.png ).

If you are worried about speed, just remember that it's more about the code you write than the language itself (although the language does still matter). You can write C++ code that is slower than Java code if you're not careful. So my advice would be stick with Java for now and once you have more experience move into C++.

Edit:

Almost forgot to mention the middle ground. If you are looking for something kind of in-between these two languages I would recommend C#. I recently have experimenting more with C# and have really enjoyed using it.

The one thing that might be an issue for you is portability. C# also has a very nice game library called XNA that is quite useful in game making.

If something goes wrong you can also use Microsoft as you scapegoat (as I like to often do) happy.png

C# and Java are different but still similar enough that you wouldn't have to hard of a time catching on, and who knows maybe you'll like it enough to keep using it smile.png

Fly Safe 7o

If you just want to create a really simple platform game,
Your machinery at school would have to suck really bad for it not to run fairly smooth.

As long as your chosen IDE (Pick netbeans or maybe eclipse) runs smoothly, you should be fine.

Java is simply put quicker to learn without messing a lot up for yourselves,
And it might even inform you if it thinks you've made any mistakes.
After this project, if you developers are still keen on learning,
you could switch to C++. But because "the pros" are using it doesn't justify that "the begunners should use it".

Java, as python IMO are excellent springboards for the next language.
They will teach you to program. Common syntax (java will, at least),
And you won't be completely demoralized when a small mistake shows up as a gigantic crash in another part of your code.

Pick java. Go nuts.
I think C++ is too much for this scenario. 2-3 hours a day for 9 months just won't be enough, as insane as that may sound. Go with Java, if you've got more experience. Or maybe a lighter language, like python. Python really sounds like the way you should go with this. Research some languages that are easier to learn, and have a lot of game libraries. Once you've got one that you like most, go with it. C++ is just not the tool for the job in this scenario.
If you don't mind sticking with Java, have a look at the JGame demos and tutorials. They are the quickest way to start actually developing a game in Java. LWJGL seems a bit over the top for a first 2D game, I think you guys have enough on your plate without learning OpenGL.

I'd strongly advise against writing your own engine. Starting from scratch is both fun and enlightening, but it kills your productivity. Even a half decent framework will save you so much time that you will be forced to focus on the things that can make a game good. Such as being finished before the deadline wink.png

Good luck!
Thanks for all the answers.

After our today's meeting we decided that we want to use an engine/library. We recognized that writing an own engine is too difficult.
Currently, we have two ideas how to go on:
- using Java with a library like slick/LWJGL/JGame etc.
- using C++ with the focus on OpenGL

We had a long discussion about which way to go - the result: we get stuck.
Which way is (viewed objective) the best?

Some of team are afraid of the quality of the graphics (particles, shades, lighteffects), if we take Java.
I think, slick/LWJGL/JGame sufficient for our purposes and doesn't look too bad.

I hope you can help us - as I said, we are totally new to the game development.

Some of team are afraid of the quality of the graphics (particles, shades, lighteffects), if we take Java.


The quality of your graphics has nothing to do with the language that you choose. All the Java libraries you mentioned use OpenGL, so you will be able to do anything you could do with a C++ OpenGL based library.
#NoResearch
Well, considering the members of you're (I'm guessing 12-15 year old) team can do any graphics programming, I would be hard pressed to trust them on Java's graphical ability. Also, if you're going to be learning Java, programming and doing the art for a 2d game within 9 months with very little programming experience, you're not going to need "particles, shades, lighteffects". Also, learning C++, and programming a platformer in opengl, takes more than nine months, it just does. Look at my threads. I've been learning C++ for more than a year and I just started very simple graphics programming. Also, C# is a viable option with XNA, and if you're going to progress to C++ it will help familiarize yourself with the file system more. Either way, It will be hard. I recommend just using GameMaker for this. The rumors that you can't make good quality games with it are false, and if any member of your team disagrees ask them if they've ever programmed any graphics or used gamemaker before. It also has a simplified scripting language, so if you ever decide to start learning C#/Java for game programming later in your life it will be easier.

I'm a game programmer and computer science ninja !

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here !

This topic is closed to new replies.

Advertisement