Jump to content
  • Advertisement
Sign in to follow this  
Teddy2lazy

Tackle my first big project

This topic is 982 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello GameDev community, i would need some advices as i'm going to start my first real game project : a 2D top down action rpg like "secret of mana".

I don't know if i can exactly explain my project in this topic but that's not a problem right now.

 

Later on, i want to find a job as a Gameplay Programmer, so while i study at college i do work on my portfolio on my spare time.

I did some basic game clones to train myself (Pong with C++/SFML, sokoban with C++/SDL, tutorials from Unity3D) and now i want to use

C# + a framework to do this game from scratch to show my motivation.

 

So here's my question : Which framework should i use ? Or maybe i should use Unity ?

Share this post


Link to post
Share on other sites
Advertisement
If you already know C++, I would use it for my game, maybe with Cocos2d-x.

If you want to find a good job as a Games programmer, you should master or at leats be comfortable with C++, so why not spend your learning time on it?

Share this post


Link to post
Share on other sites
jjimenezg93

 

 I think that C# is a faster and safer way to start something new. I like C++ but i don't want to encounter too many minor bugs that i may do without notice it while i work on the gameplay part.

 

d4n1

 

I totally agree with you but i have this little voice telling me "Come on ! I know you wanna try something new !" so i wonder if it worth the experience

Share this post


Link to post
Share on other sites

I would pick a language + library you are most comfortable.

 

Motivation:

 

A fully fletched action rpg brings it's own problems. A flexibel ability system, interesting dialogue tree's, efficient pathfinding, A responsive and user friendly HUD/GUI that needs to show everything the player might be interested in, etc. All this needs excellent knowledge of design patterns, datastructures, Inheritance, etc to design properly. While pong could be written in a single class and properly written in 3 classes using a framework like SFML. It has been 3 years since I finished my first game (pong) and only recent I have the knowledge of programming a action RPG "properly".

 

But the only way you learn is to do it, I have tons of unfinished projects where I got stuck due to spaghetti code and no use of proven design patterns but I learned a lot from these projects and had a lot of fun making them.

Edited by menyo

Share this post


Link to post
Share on other sites

If you plan to go with C# I would highly recommend Monogame. Its an extension of the XNA framework. Its a bit more involved than Unity as its a framework. Unity is never a bad thing to know how to use though. Lots of games are made with Unity and it is a very powerful engine. It might be a bit overkill for a 2D game but thats just my opinion. There are other frameworks for C# that are good. CocosSharp is another good one. Good luck!  

Share this post


Link to post
Share on other sites

IMO, you should use Unity since you already have working knowledge with it, your goal is to get up and running asap

 

Unity isn't always the best choice when trying to get up and running asap. Especially in a 2D project where there are much simpler (and more flexible) solutions. I would probably suggest MonoGame over Unity.

 

Using a framework or developing your own is likely going to help learn more about game play programming than just hacking around with Unity (which will only really teach about very Unity specific coding practices).

Share this post


Link to post
Share on other sites

Since your purpose is building up your portfolio, I think you should go with Unity and get working as soon as possible. I heard people in the industry like using Unity, because hiring people who already have experience with it is easier because they don't need to train you as much and everything. That's just something I heard on the Internet though.

 

About digging deeper into C++, it depends on you. Developing your own framework takes a lot of time and sweat. If you're impatient and want to get results quickly, it might make you really frustrated, but if you're more interested in the study of programming, then it might be worth it.

Share this post


Link to post
Share on other sites

Thanks for those replies, so i made up my mind.

 

I will choose C# + Monogame as i prefer using a framework for learning purpose. Unity is really good but i want to learn more about C# language itself.

I guess that the official documentation is okay for learning Monogame or do you have any other advice ?

And one more question : do i have to learn XNA first to use Monogame as it is an extension of XNA ?

Share this post


Link to post
Share on other sites

I heard people in the industry like using Unity

 

Some Unity shops will like this (typically indie developers etc) but I find only knowing Unity makes it *very* hard to stand out nowadays.

 

For learning MonoGame, just learn the very basics from their website and then grab a decent XNA book. You should then know enough to work between the slight differences between them. MonoGame is just an open-source clone of the XNA API after all. A book like "Beginning XNA Game Programming" from Apress should be pretty good for this if you can get hold of it.

 

Just realized that It seems strange but I imagine one day we will be talking about an open-source MonoUnity when Unity disappears ;).

Share this post


Link to post
Share on other sites

I guess that the official documentation is okay for learning Monogame or do you have any other advice ?
And one more question : do i have to learn XNA first to use Monogame as it is an extension of XNA ?

There were some old XNA books, and a few books specific to MonoGame, they may be useful if the online material is not.

 

XNA is a wrapper around Direct3D 9 functionality. It did not evolve because Direct3D 9 did not evolve. The design philosophy behind it was that a set of technologies for an era can be fixed, locked in place, and software built around it. New technologies would have a new set of interfaces, bring their own new era, and have a new style of development. It isn't that XNA died or was abandoned, it was designed from the outset to be locked in place. Many people failed to understand this, a few still struggle with the concept.

 

MonoGame started in that same place, but decided to continue to grow and add functionality.  It is not an extension, it is something more alive and growing. This comes with pros and cons, it is something different, neither good nor bad.  Learning about the tree as it used to be will be useful because even though it has grown, the roots and branches are solid and fundamentally unchanged. Some segments will be different, some branches pruned and new growth achieved, but knowledge from the past will still be valuable.

 

 

 


Some Unity shops will like this (typically indie developers etc) but I find only knowing Unity makes it *very* hard to stand out nowadays.

 

Unity has become a commodity tool. Commodity tools are good, but not particularly good by themselves.  Knowing Unity or Unreal is good because the tools are widespread and similar enough between each other and with many other engines, public and private.

 

A carpenter does not distinguish himself by knowing how to use a hammer or a saw, yet knowing how to work with them is important.  Whenever there is need for a specific things then specific knowledge about the tool becomes valuable. When someone requires a worker with specific knowledge of how to make jigsaw puzzles a general knowledge of saws is insufficient, knowledge of the specific tools is essential.

 

A person's experience with a specific game engine is generally not particularly valuable, but a game developer needs to know how to work with game engines.  Sometimes a studio needs help doing something specific with a specific game engine, and then that specialization is important.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!