Skip to main content
GameDev.net gamedev.net
🔒 Locked

Tools and engines to be used

Started by dhaval Sep 1, 2012 at 10:56 AM 20 replies 5.2k views
Original Post
dhaval
dhaval
I'm a newbie in this field. I want to develop a Computer game for my final year project. I'm actually thinking of MMORPG, but I'm trying to keep it simple at first. At least try making a single player in the beginning.

What are the tools/ Libraries/ Engines that I should use for my game? (provide download links if possible)

The languages I know are c,c++ and java.

But I wouldn't mind learning a new language for building this game.
Serapth
Serapth

I'm a newbie in this field. I want to develop a Computer game for my final year project. I'm actually thinking of MMORPG, but I'm trying to keep it simple at first. At least try making a single player in the beginning.

What are the tools/ Libraries/ Engines that I should use for my game? (provide download links if possible)

The languages I know are c,c++ and java.

But I wouldn't mind learning a new language for building this game.


Want to pass your final? Pick a different project. An MMORPG is way outside of your grasp. Even a single player MMO ( which by the way doesn't really reduce the workload ). Check this ( http://www.gamefromscratch.com/post/2012/03/29/I-want-to-make-an-MMO-Now-what.aspx ) out for an example of, and complete source code to, an HTML 5 MMORPG.


As to your question, if you persue this folly, you will need to make other decisions first. 2d or 3d, platforms supported, back end server environment , engine, etc

Just an FYI, I've been at this for 20 years, including several years server side, and I wouldn't dream of tackling an MMO solo in a tight time frame.
Dynamo_Maestro
Dynamo_Maestro
When you hear MMO you think WoW / EVE Online / Everquest etc, even though you say 'simple', MMO in the end still means a game that is massive and multiplayer, is this really what your course requires?

Focus on the RPG side of things and worry about the M, M or O part of things later, and tackle one area at a time. You dont have to think small just not extreme either, the key hear is really planning thoroughly.

As for tools / engines, it depends on what your course requires, you have to make a game based on what it requires, if it wants a 2D game for example, then any 3D engine suggestions would be pointless. Maybe the course requires you to use DX9 only, and the end product to be a certain size, ultimately the main thing to focus on is what the course requires, any suggestions to tools / engines could do more harm to you than good without actual course information.

I personally overall have mixed feelings about people doing MMOs, on one hand I think an MMO is the best project a person can do in terms of learning, you cover every area (or most) areas of programming, database management, web design, server control etc, you learn a massive amount of stuff and it is fun (well for me the bigger the project the more fun I have), if the project fails you will retain all the knowledge and likely be able to make use of the libraries you made. Ofc making an MMO is MASSIVE and making an MMO is time consuming (Note: not hard, just incredibly time consuming with challenges) and if you dont have the time to make one then its a pointless project to even remotely start. The interesting thing about making an MMO is it is just as time consuming as mastering MMOs, the difference is if a person said "I want to play games 15 hours a day for 10 years" they would not get the same responses as people who plan to make one.

Your time limit is a year, your end product needs to be based on what your course requires in the end
6677
6677

you cover every area (or most) areas of programming

Which also works against you as you have to be suitably proficient in these areas. For example I have hardly touched database programming apart from the SQL equivalent of hello world which I've already forgotten.


An MMO for a newbie to game development is not feasible at all. Its not really feasible for one to be made by a single developer easily and assuming a single guy can do it then it would almost certainly take longer than 1 year.

For a final year project a 2d game would probably more than suffice and could be completed within one year. Libraries you might want to look at would be SDL, allegro or SFML (several topics in existance about which of these to use) which I believe are all C++ (as I don't know C or C++ and have never used these libraries I could be wrong, I have a feeling SDL might be plain C).

With C++ you get access to basically every library in existance (ie most graphics libraries and engines -but not all- where available for C or C++ and later available as bindings in other languages.

If you want to go 3d for C++ there is raw directX or openGL available to you. If thats too complex (which it may well be) then you can use Ogre3d or irrlicht, both are pretty popular, irrlicht I think is slightly easier to use, ogre3d is supposedly slightly faster and has the larger community and has bindings for usage in python, java and .net if you don't want to use C++.
dhaval
dhaval
First of all, thank you very much for the replies. Even I thought that MMO was way too much for a beginner like me. So like I said in my first post, I am happy to just stick with an RPG for now. Rest features can be uploaded after the basic game is ready.

So, what I want to do is, make something like DOTA. It is a single map, with good graphics and details. And as far as heroes/characters are concerned, I'm thinking of starting with just 3. Each character can get levels between 1 to 99 and only 4 skills (Like in Dota). That wouldn't be hard enough, right? keeping aside the modelling and animation.

I have already wasted 2 months, so I only have 6 months remaining for the completion of this project (just an RPG, no MMO). Till now, all I have done is download blender. I tried to make a map like in DOTA, but believe me, it's not easy at all. I even referred to some PDF tutorials and youtube videos.

And I'm also having a hard time in deciding whether to go with 2D or 3D. If I can get 3D in 6 months, then I'm happy to go for it. But if you guys suggest me to stick with 2D, I'll do that as well.
Serapth
Serapth
That wouldn't be hard at all.

That is, if you have a team of a dozen or so experienced developers.


Here's a secret, scaling down the content reduces the work load minuscule amounts. The s%me amount of development work goes into 3 skill as 30.

Think smaller, much much smaller. Like Zelda small then shrink that again.
dhaval
dhaval
we are a team of 3 students. All of us are noobs(absolutely no experience). We are good at what we've learned so far(Java and c++), and that's negligible. I've never ever played Zelda or shrink, so I can't actually understand the difference by comparing.

Let's start with something really small, that is, the Map. How do I make a map(equal to the size of the one in DOTA or AGE OF EMPIRES)? How many days will it take? and which tool shall I use (Free open source tool)? Can I get sample modules from somewhere on the internet? Like for example, objects like a Tree or a Rock/wall etc.

I only have Blender. Will it work? I also downloaded XNA. But I think it's for XBox games and not for PC. Or maybe I'm not using it properly. After installation, it asks you to add a device(mandatory), and the choices are Xbox and Zune. And I have none.
SimLabDevelopments
SimLabDevelopments
Seriously, man, listen to the advice you are being given. It's good. If you are asking for the fundamentals in how to make a map, how can you finish the project in 6 months? Think much, much smaller...an Asteroids clone might be doable.
dhaval
dhaval
I get your Point @SimLab, but the problem is that, anything smaller than what I said is not acceptable as a final year project. Atleast that's what my professors said. What's your suggestion, do I start with something else instead of map? Then what do I start with? Please help me, I'm scared now. I'm not alone by the way, we're a group of 3, and if that's not enough then I can get some to help me out, but what I said, is the benchmark set for me. I can't go any lower than that sad.png
kidman171
kidman171
Xna can be used to make games for windows, you don't need zune or xbox. Look into height maps, they might solve your map question.
shadowisadog
shadowisadog
My recommendation if you absolutely MUST make an "RPG" game in six months with no experience is to do the following:

1. Do not attempt 3D. You do not have nearly the time or the people to be able to model the required assets in six months. If you attempt 3D you are not going to achieve anything but frustration.

2. Keep your 2D assets extremely simple. Aim for a cartoony look. Do not try to be realistic in your art assets and keep animations to an absolute minimum. Even without animations (or minimal animations) you will still have your work cut out for you.

3. If possible try to get some scope clarification from your professor. Try to see what the goal of the project is supposed to be. It is possible that a smaller project WOULD suffice, but that you merely BELIEVE that you have no alternatives. Either that or it could be a lesson in how to fail (it's possible, I have had professors provide me with 'impossible' projects before.)

4. If possible try to use as high level of a language as possible. If you could I would use Game Maker, but if you have to use a programming language aim for one that is as high level as possible. Python, C#, or Java would be alright. I wouldn't recommend C++ (even though I work in it 40+ hours a week). The reason I don't recommend it is simply that while you have power with c++, you need to aim for productivity. Getting off the ground quick is in your best interest. Unity with a 2d toolkit (There are many of them out there, research them!) would be an ok bet.

5. When developing aim to get one of everything done first. Get one player, one monster, one item, one npc, ect. Do not try to off the bat create 10 different weapons. Get ONE workings and get it working well. Put all of the pieces together and don't worry if you don't have a lot of variety. Variety will destroy you if you attempt it.

6. Realize that what you are actually capable of doing in six months is FAR LESS than what you THINK you can do in six months. Take what you think you can do in six months, and aim to do about 10% of that. What I find helps with this is a bit of math. If it takes you an hour to draw one frame of an animation, multiply that out by roughly how many frames in one animation, times the number of required animations, times the required number of characters. Add in time to test the animations, tweak them, program them , ect and you will see that your looking at INSANE amounts of REAL time.

7. Do some research. Many people have had questions on making RPG games. Many people have attempted it, and I am sure there are even tutorials on how to create an RPG game in some language. You can probably learn a good bit about how an RPG game is constructed from these sources of information. You can read up on tile engines, map editors (Mappy comes to mind), and other techniques.

So there you go. I have a lot more advice but I think the best would be in your situation to talk to the professor.
Lazy Foo
Lazy Foo

I get your Point @SimLab, but the problem is that, anything smaller than what I said is not acceptable as a final year project. Atleast that's what my professors said.sad.png


Then complain to your department chair or whoever is above your professor. If they haven't even told you what a graphics API is, they don't know what they're doing (which is par for the course in academia).
Learn to make games with my SDL 2 Tutorials
dhaval
dhaval
Thank you very much. And yes, I'm not going for 3D, I guess I should stick with 2D since I'm just a beginner. And like you suggested, Aim for one player, one monster, one item, one npc etc. I'm going to stick with it as well. So which tool shall I get to make my 2D characters, monsters, animations etc. I have blender and XNA (which doesn't work for me). I need a tool which is easier for a newbie like me to understand and use.

@lazy, complaining won't help sir. I'm in India, and it's mandatory to do everything on your own, kinda like self study. Here, you can never expect any help from any professor. Seldom you see a student satisfied with his/her professor's efforts/abilities.

Anyways, thank you to all of you for helping me out. I guess I should start working now. Thank you.
dhaval
dhaval
OMG, LazyFoo, your SDL tutorials are really great. It's making me understand more and more concepts with ease. Thanks a lot and keep it up!
SimLabDevelopments
SimLabDevelopments
Take a look at this book: http://www.amazon.com/Programming-2D-Games-Charles-Kelly/dp/146650868X/ref=pd_ybh_2.

Read through it, understand it, and use it as a framework to develop your project. As shadowisadog pointed out, break things down into a series of small, discrete steps.

1. Display and entity on the screen (the book example is a spaceship, but it can be whatever you'd like).
2. Move the entity around the screen by player control.
3. Add a second entity.
4. Add collision detection.
5. Add a weapon.
6. Have the entities shoot at each other.
etc, etc.
SimLab Developments
[twitter]simlabdev[/twitter]
shadowisadog
shadowisadog

Thank you very much. And yes, I'm not going for 3D, I guess I should stick with 2D since I'm just a beginner. And like you suggested, Aim for one player, one monster, one item, one npc etc. I'm going to stick with it as well. So which tool shall I get to make my 2D characters, monsters, animations etc. I have blender and XNA (which doesn't work for me). I need a tool which is easier for a newbie like me to understand and use.

@lazy, complaining won't help sir. I'm in India, and it's mandatory to do everything on your own, kinda like self study. Here, you can never expect any help from any professor. Seldom you see a student satisfied with his/her professor's efforts/abilities.

Anyways, thank you to all of you for helping me out. I guess I should start working now. Thank you.


Please keep in mind that you are a member of a team. Try to make sure that they agree with the direction and scope of your project. Also from your post "I want to develop a Computer game for my final year project. I'm actually thinking of MMORPG, but I'm trying to keep it simple at first. At least try making a single player in the beginning." No where does it say in that post that you must create an RPG game. If we were to buy that you can not negotiate with your professor, we would see that he has you required to make an MMORPG game in six months! Apparently you do have some ability to reduce the scope of your project. We do not want you to complain to him, merely to make sure you understand what the goal of the project is.

End result is we want to provide you with advice that will help you to succeed, so sometimes we must provide advice which is different than what people may want to hear. This is not to mean we want to crush dreams or hopes, just to provide realistic advice towards accomplishing some goals. And the fact that this is for an assignment means that I simply must provide advice which would lead to you picking a project which you could manage in the time frame.

For my senior design project we were expected to do UML diagrams/design, program the project, and create a presentation to present to the class. You would be amazed by how much time meetings take up from your development. Combine this with the fact that at the same time you have other classes and potentially a life outside of school (perhaps a job, I don't know your situation), but that does not yield a ton of time. I think a three person college team combined might be working 40 or 50 hours a week worth of development time (60 if you all are really dedicated I suppose).
dhaval
dhaval
We were said to develop a game for our project. The professor said that it is possible to do it in 6 months and it's fairly easy as well. So we went through with his idea. We even thought of making it an MMO after we're done. But after joining this GameDev community, I've realized that this job isn't as easy as it looks like. So we lowered our scope a lil bit. From 3D we dropped to 2D and from MMORPG, we dropped to a simple RPG. And we are also reducing the size of the game by making it a 1 map, 1 hero, 1 npc, 1 skill, 1 weapon game.

So are you suggesting that even this much we can't do it in 6 months? Yes, we're really dedicated to it, since our final year grades totally depends on this project. I shall learn everything and do everything to get it done. If the time needed is not sufficient enough, then I can get 2 more months (Max) for this project, by cutting down my time on SAT and Oral preps.

If not an RPG, then what type of game do you suggest? It cannot be as small as Pacman, minesweeper or Blobby Volley etc. It has to be an action or a strategic game. But I've heard that action games are the toughest to build. From what I see, I have no choice but to go for a small, very small RPG. If the time and number of developers is the issue, then I don't have to worry. Like I said, I can get couple of more developers and 2 ~ 3 months more in addition to the existing 6 month.
shadowisadog
shadowisadog
It depends on what your goals are. If the goal is to have a complete, playable, and somewhat polished game, than any sort of RPG is not really practical in the time period, even with another 2-3 months.

You could reduce the scope on anything enough that you would be able to accomplish something in six months. I will argue that even if you get your one of everything approach done, what sort of game do you have at the end? Perhaps not a very entertaining one.

"The professor said that it is possible to do it in 6 months and it's fairly easy as well." - If he said it would be "fairly easy" than he was definitely not talking about creating an RPG game of any sort! It is like someone tells you to build a box, so you decide the box must be constructed out of titanium, be 16 meters in all dimensions, be water proof, and filled with sharks! While that would be impressive, if you only manage to construct one side of said box you might completely miss the point of building the box!

I would be more tempted to create a 2D side scrolling game than an RPG game in your position. It still has a lot of the same concepts, but you can ditch having to worry about a combat system, the NPCs, most of the inventory issues (or all of the inventory system), and you can still have enemy AI, collision detection, scrolling, maps, ect.

I really don't recommend going "all out" and sacrificing time to prepare for other exams/classes. Life is about balance, and real world software engineering is heavily concerned with time management. It is not a wise idea to put yourself in a position (on purpose) where you have to work yourself into the ground to accomplish a project. It would be a better approach (imo) to approach something that you can more comfortably do in the time period and obtain a finished product on.

To me a project that is complete from start to finish shows more value than what would amount to essentially a tech demo.
dhaval
dhaval
2D side scrolling game; Can you give me an example of it? So that I can let my other members know of it. Or is it somewhat like oldschool MARIO? I'll be happy to do something like that. But then again, what do I do to get started? What will be the tools required? And how my approach towards this should be?

And yes, this game, actually will be a tech demo. Because once we're done (even with a sucky boring broken game), nobody is going to play it, or even check it out, the professors, the university officials or even the students/friends.

And btw, thank you very much for helping me out, really appreciate it. smile.png
shadowisadog
shadowisadog
Mario is one example. Metroid, Rayman, Sonic, Commander Keen (My favorite), Hocus Pocus, Jazz Jackrabbit (Still some of my favorite games), Vectorman...

I could go on. Anyway a quick google search will yield tons of results.

As for approach and tools... Languages are largely personal preference. Use whatever you feel most comfortable with. I would use a high level language... I think if "I" were going to make a game right now, I might be tempted to try Unity and 2d toolkit or ex2D. I haven't heard great things about Sprite Manager 2 (Another Unity 2d toolkit) and it is fairly pricey, but it is another option. None of the Unity 2D toolkits are free, so if that is a limitation than there are other options....

LOVE, Pygame, SFML, Construct, Gosu, XNA ... there are so many tools out there for making games! There is Torque, SDL, MMF 2, Game Maker, HGE, coco2d, and many more...

In terms of Art there is GIMP, Inkscape, Vectorian Giotto, Paint .NET, Graphics Gale, Texture Packer, Blender, Texture Maker...

The key is to start. Just pick a language, and start working. Each tool has its own strengths and weaknesses but at this point it absolutely does not matter. Pick some tech and get going!

You say no one will play it. I don't think I believe that, but in any case make something that you and your team can be proud of making and playing. Don't give up, and don't bite off more than you can chew (It's a balance!).

Good luck!

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.