Blank Programmer.

Started by
26 comments, last by pota0 6 years, 6 months ago

So, I'm honestly doing this post out of my mind, Not thinking what I'm going to say next and so on, so excuse my rambling.

I've been working around c# for quite a while, and I believe I am ... competent with it. Nothing outstanding and I am constantly forgetting simple things I need to go to look things up. But I don't know if I should consider myself a programmer, I kind of feel ashamed. I learnt my programming working with Unity3D.

Programming for years in the only c# around Unity 3d kinda makes me ashamed I even class myself as a programmer, Since if I ever move away from unity, there will not be "GameObjects" and "Transform" for example. Everything extra is already done for me in the background, like a crutch for a programmer. And it's kind of embarrassing, I want to be able to call myself a programmer and use that crutch not as a necessity, but for something to take tediousness away. What brings me onto my next point.

Unity3D. I do recognise it is a very good game engine but has so much bad press about it, Its hated by a lot of gamers, and I am now thinking I don't really want to be ... connected with it. Coming back to what I just said, I cannot escape it, I only know how to program in c# IN UNITY ...

Wow, this is really rambly, I'll get to my questions in a moment.

I seem to be stuck in a loop at the moment, I start something, and ditch it, throw it away, delete it when I really get started on it, Or even after I have created the project, stare at my screen for a few seconds, and then think ... No, this is stupid, it isn't going to work. ... And I am finding it difficult to think of ANYTHING interesting to start on. Or at least, something that keeps my interest.

My questions are ... (I'm so sorry if you went through and read all of those madmen ramblings)

  • What path should I take now? I don't know if unity is best for me, I want to aspire to not have to rely on crutches to make something.
  • After reading my rambling, have you been through this? For me, it seems like years I've had to battle with this block.
  • What do you suggest?

As I said, I'm sorry, I don't really post much, so I'm kinda new to this whole "formal" asking online. I'm very much an introvert haha. 

Advertisement
13 minutes ago, Devio said:

Programming for years in the only c# around Unity 3d kinda makes me ashamed I even class myself as a programmer,

Get over it. Anybody who tries to make you feel like less of a programmer for using tools like Unity is not worth listening to, and there's a very good chance you'd discover they're preaching at you from a tower of hypocrisy anyway. Unity is a good tool, it lets you make games, and that's what matters. Real game developers make games, using the tools that best fit the task and their hands.

13 minutes ago, Devio said:

Its hated by a lot of gamers,

Most "gamers" do not understand the first thing about making games, or what might be the cause of any particular problem they find with a game. They're very eager to jump on the big, obvious things like the engine the game was made with because they lack sufficient domain knowledge to really understand what's going on. Don't worry too much about what they think about the tools you use.

13 minutes ago, Devio said:

What path should I take now? I don't know if unity is best for me, I want to aspire to not have to rely on crutches to make something.

The first thing you should do is disabuse yourself of this ridiculous notion, as I've noted above. There is nothing wrong with wanting to move beyond Unity and explore different ways to build games at all - I am not trying to discourage you from that, in the end. What I am trying to discourage you from is doing it for the wrong reasons. If you leave Unity because you think it's a "crutch" for "fake programmers," you may very well become one of those people above who isn't worth listening to, who spends all his or her time railing against how terrible Unity is and how much better a programmer they are for not using it, but somehow never manages to actually ship anything or land a job or whatever their career goal is. Who preaches the virtues of "building it all yourself," but didn't actually build the compiler they use, the graphics API they leverage, the OS they work in, the computer they run it on, the chips that comprise said computer, et cetera.

There are good reasons to build things yourself, but they do not involve "because using things built by other people makes you less of a programmer." Make your decisions for the right reasons, and don't let others shame you into walking away from a tool you find useful and productive.

13 minutes ago, Devio said:

What do you suggest?

Pick a simple game archetype you're familiar with, something similar to a game you've made in Unity, and build it. Except instead of Unity, try using a framework (or set of frameworks) that provides less of a ready-made building environment for you. Consider using MonoGame, for example. This will let you continue to use C# and to build something you're reasonably familiar with (so you don't have to deal with quite so many new architecture decisions), but will also allow you to get experience with building some small subset of the bits of functionality Unity has already provided for you.

This will either give you a deeper appreciation of the utility of the tool, or expose you to a different methodology of building games that you prefer (or both). Either way it makes you better equipped to decide, for any future project, if the right tool to use is Unity or something you build more directly yourself.

Well, ive never really had the "I only know how to use this one thing" as I mostly learnt to program without using any engines etc and building from the ground up..

But in terms of feeling like youre stuck with Unity.. why not just try some other engines, they're free for the most part.. Unreal is a free download.. Cryengine is a free download .. and its then just a case of learning how to do what you want in the new engine.

With the above statement said, even if you program right now using things like Transform etc provided by unity, if you know what the function is doing in terms of "you use it to do x"  .. you can always google specific things like that and learn how to do them without the "crutch"

And with people hating Unity ... a fair few probably do.. a lot of people have gripes / hate Cryengine too .. but both of them are pretty solidly capable engines .. and the real point is .. use the tools that fit you the best.. not what someone else said they like / dislike

Jpetrie -

Even though you were very blunt in allot you just said, it actually takes that vail of "I'm going in the wrong direction away" I appreciate that, Though I've still got a lot of work to do regarding experience, knowledge, and self-motivation. Your response at least made me confident on continuing on the path I'm going down, and not trying to change directions mid-journey. 

GibbonThatCodes -

The only problem I have with engines like CryEngine is that I don't see it used much in a learning sense, Though that could be my ignorance, And with Unreal, I would like to work on ... working with it. But I cannot seem to start learning due to it crashing at random points. After looking around on WHY it is crashing, there seems to allot of reasons only specific to what machine they are using.

 

Quote

Unity3D. I do recognise it is a very good game engine but has so much bad press about it, Its hated by a lot of gamers, and I am now thinking I don't really want to be ... connected with it.

If you're really that worried about losing sales as a result of the bad press surrounding Unity, then you don't have to actually tell people you made it in Unity. Get the professional version that hides/lets you change the splash screen and have people who work on your game with you sign an NDA saying that they won't talk about the tech used to build your game. Many developers do this, anyway, even when they're using their own custom engines or even well-known technology and engines.

One should not generally let public opinion dictate technical decisions like engine choice. Technical issues should dictate technical decisions.

8 minutes ago, Oberon_Command said:

If you're really that worried about losing sales as a result of the bad press surrounding Unity, then you don't have to actually tell people you made it in Unity. Get the professional version that hides/lets you change the splash screen and have people who work on your game with you sign an NDA saying that they won't talk about the tech used to build your game. Many developers do this, anyway, even when they're using their own custom engines or  even well-known technology.

1

Unfortunately, I know nothing of the business/marketing side of game development. I went into this as a hobby, and eventually, I may try to go "professional", Even at this stage, even after years of c#, I do not know if I'm ready to do any kind of business work. I've thought about freelancing, but have got the constant worry of "My work isn't solid enough to charge people for it" And when it comes to making/selling a game, small or not. I do not know the first thing about marketing, sales, contracts. 

As for getting the professional version, I'm on a minimum wage job, got a child and a 2 bedroom flat I can only just afford haha, so things like professional subscriptions, hiring for graphics and models, the sound is out of the question. I'm not a creative person by any means, I've tried my hand at modelling, but cannot wrap my head around it, same with graphics and sound design. I'm best at making things work, not looking nice. What may be my ultimate downfall?

If you're not immediately concerned that your current game project is going to be shipped and sold for profit, there's even less reason to worry about what "gamers" will think of your using Unity to build your game. You can keep using the free version of Unity up until the day you decide you need the professional one, for whatever reason.

2 hours ago, Devio said:

I don't know if I should consider myself a programmer,

Ask yourself what your goal is.  If your goal is to make games, then continue on your path and keep making games.  If your goal is to be a programmer first, and a game maker second to that, then you can change course to start learning more about software.  Take a computer science course, either formally or by going through the free course material available online.  But do what you're going to do because that's what you want to do, or because it moves you towards your goals- not because of "what gamers think".

My situation isn't too dissimilar from yours, and as a result I've recently been programming 10+ hours a day of C++ and avoiding Unity entirely.

But everything jpetrie said is on the mark - use the right tools for the job and don't worry about it otherwise. I'm only grinding C++ because I really enjoy working in it, and it's the most common denominator in terms of game dev skills so I figured it'll help with landing a junior position. Despite that, there are plenty of Unity specific positions out there, or that just desire Unity skills on the side, so it's never a bad skill to have. I had one teacher who was a complete anti-Unity elitist in college and it had a weird effect on me (he wasn't an ignorant gamer like most Unity haters), but don't let those people get to you. If the Unity workflow works for you and lets you create high quality games in a reasonably timed dev cycle, just do it.

The important thing is to keep challenging yourself. Whether using an existing engine or making something from scratch, you're always learning things that make you a better programmer. There isn't some "course" or specific set of tools that will teach you everything, you absorb little bits of information every time you try something.

This topic is closed to new replies.

Advertisement