Jump to content
  • Advertisement
Sign in to follow this  
boxofnuggets

Unity Unity or C++?

This topic is 1315 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!

About 7 months ago, I started to learn C++. After a month ago, I considered myself fairly well-versed in basic C++(i.e. classes, instantiating objects, and some knowledge of splitting code into source and header files ). My goal was to make a game. Then, I kind of went off on a tangent, and attempted to learn some java, and make an android app. However, I found I had a lot of trouble with running Eclipse on my PC, so, long story short, I startedusing Unity. Currently, I'm working on a small, pixelated, 2D platformer. I've been bashed for using Unity 2D, people say that it "isn't real coding' and that it sucks. Now, I'm wondering if it would be more beneficial to make a game in C++ using SFML or something along those lines. Is using Unity hurting my programming skill?

 

More importantly, should I be focusing on making games with "pure" code, in other words building my own engine/physics? I'm torn here. I'm halfway through the game in Unity, but I'm not sure if it's what I want to be doing.

 

Cheers,

boxnuggets

Edited by boxofnuggets

Share this post


Link to post
Share on other sites
Advertisement

 

 

you will be required to code "for real"

 This! Unity provides a lot of legwork that would be required for any game. To do what you want your game to do you code it i.e, keep MSDN open. Remember all the programming principles to keep your code lean because a lot of it gets called once per frame.

 

Another way to look at it is, when will you feel like you're coding "for real"? Perhaps when you reinvent direct x? Since the beginning of computers software has always built on other software or frameworks or languages.

Share this post


Link to post
Share on other sites

I guess my only advice would be to use what feels right and put people's presumptuous comments aside. If you feel like you are learning and are inspired to build your game with whatever technology you pick up you are doing good.

 

 

 


More importantly, should I be focusing on making games with "pure" code, in other words building my own engine/physics? I'm torn here. I'm halfway through the game in Unity, but I'm not sure if it's what I want to be doing.

 

So there are tons of aspects to game development, if you are interested in coding physics or graphics do that. If you are interested in coding the logic or AI for your game, do that instead. Pure code is an interesting bit of vocabulary, to me if you are writing C# or Javascript or whatever Unity uses for scripting you are building pure code.

 

There is no right or wrong answer when it comes to what tool you should learn. If you're halfway through a game in unity finish it! Independent of platform and tools, It is awesome to be able to finish a game and say it's done.

Edited by DishSoap

Share this post


Link to post
Share on other sites

I agree with Nypyren's reply.

 

Also wanted to add that award winning games and studios are also using Unity for complete games.

Think Monument Valley and Hearthstone.

 

Time is a resource. The quicker you can prototype your game ideas, the more likely you are to spend the time to polish them.

C++ is great for truly learning how programming works at a deeper level, but you should decide what is more important - your programming ability or the product / game.

Share this post


Link to post
Share on other sites

Is using Unity hurting my programming skill?

I'm halfway through the game in Unity, but I'm not sure if it's what I want to be doing.

 

it seems you have two goals:

 

1. making the game

2. improving coding skills

 

for making the game, use whatever will get the job done fastest - probably unity in your case. be sure to add in time required to learn any new tools / libs / APIs.

 

as for improving coding skills:

technically speaking, any time you use a 3rd party library/engine to do something that you yourself have never coded on your own, you rob yourself of a learning opportunity, so in that respect, you may not learn as much using unity vs lower level tools (c++ and some 2d graphics lib). however, this can be taken too far: IE you'd learn even MORE if you wrote your ow graphics lib, etc. Eventually, you're spending almost  all your time learning, and it will take almost forever to finish a product.

 

games no longer need be "hand rolled", like soldering together transistors etc. suitable middleware components now exist at a variety of capabilities and price points, allowing one to use libraries and engines like IC chips to implement entire modules of a game's codebase. so the requirement (and thus the ability) to "hand roll" an entire game has pretty much gone away. so these days, a gamedev needs the coding skills required for integration of various middleware systems, such as graphics, physics, audio, plus the skills required for custom coding. its in that last part - custom coding - where experience in lower level stuff can be of use.

 

As Nypyren suggested, you should probably pursue two projects, one being the game (probably in unity or whatever gets it done fastest - including learning time for tools/libs/APIs), and the second being whatever middleware strikes your fancy: 2d line drawing and blit code, basic 2d physics, audio coding, etc.

Edited by Norman Barrows

Share this post


Link to post
Share on other sites


Choose one of the above options.  I, personally, would recommend the first one but the second is very popular.

To be fair, option 2 includes looking at kitties on the internet. That's hard to turn down!

Share this post


Link to post
Share on other sites

Thank all you guys so much! I really appreciate the support. I'm definitely going to finish the game in Unity, and attempt to make my own engine. I've decided I'm going to try SFML. Does anyone know any good resources for reliable video tutorials? I'm more of a visual learner.

Edited by boxofnuggets

Share this post


Link to post
Share on other sites

Option 1

======

 

(1) choose a tool for making a simple game

(2) make the game

(3) finish the game

(4) oh, wait, I learned a whole lot of stuff required to make a game and my friends stop talking when they play it

(5) rinse and repeat, solving increasingly more complex problems in increasing more complex games that you finish

(6) be an expert game developer (which includes programming, designing, maintaining, promoting, etc)

 

Option 2

======

(1) play with some tool

(b) switch to a different tool

(d) monkey around with tools

(5) dabble at starting to make several games

(6) browse the internet (heh heh, dem kittehz, oh look if I were a haircut I'd be a mullet!! lulz)

(4) go make coffee and message your friends about how lame they are for using some arbitrary tool for finishing their games

(6) play the games your friends have finished

 

Choose one of the above options.  I, personally, would recommend the first one but the second is very popular.

 

Nevermind, I totally did not read the post before I commented.

 

Go with option 1.

Edited by stupid_programmer

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.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!