Blank Programmer.

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

It certainly doesn't hurt to diversify your skills. If you really want to, take a step away from full featured engines to simpler frameworks, like LÖVE, prototype a bit with it and learn a new language in the process.

You can still use Unity in the end for all your "real" work, but I think learning more languages, frameworks and programming paradigms will help you improve your work in Unity, too as it gives you a bigger toolbox of ways to think about tackling certain problems.

It will also help your knowledge not to become obsolete should Unity ever fall out of favor of the dev community.

In my opinion, if you're a "real" programmer isn't determined by the tools you use but by the mindset you have. Always be curious, try new technologies and use the knowledge you gain from that in your daily work. I guess only ever applying knowledge you already have to new projects could become very boring after a while, too. Always push the limits of your knowledge, even if it's just to avoid being bored by your work.

Advertisement

I find once you've mastered one language and programming in general, picking up another language is simple.  Of course, you will forget things if you've been away from a language for a while which is why you should keep your old sources close by.   Research and experimentation... it never ends, it only drives you mad.

I know any of these "experts" from my beginning in coding Java, then C# and at least C++ telling you that things can be done only there way, projects are impossible to do and ideas are not worth to think of. It was in non-game software development at these days, but I have also seen those "experts" brutally fail on what they then intended to do trying to establish an overcomplicated Java pattern Event/game Loop in C++ for example hunting days over days for memory leaks but ok. So the only real option is to dont bother on what they say and go ahead experimenting, failing and learn from it by practice. Programming games, tools and engines is nothing that is progressed by knowing about doing it (allone) but a lot of practice and at the end not implementing things because others have implemented it that way rather than know why they implemented it that way and what you could change to have it fir your needs.

Unity is .. lets say ok .. from a developers sight of view. The problem about unity is not the engine itself that has some technicall limitations based on the monetarisation model but that anyone can spit out "games" that might not have the quality a gamer desires. This is not the engine's fault (allone (again)) but the promise to publish games easily on quadrillions of platforms with one single click (and as some developers expect; without coding anything) so projects fail, at least on steam there were games greenlighted and pre-sold that companies got closed because for lack of experience and those games were primarily made with unity. Most self called "indie" companies also go to use unity for there payment model or because they could start with a free version, finding people to code in C# and so on and later stay at this for financial reasons dont ask "what are the requirements for our game" but "what are the requirements for our game to run on unity" so anyways; dont demonize the gun but the gunner.

At least as your opening posts desire, to know hwo things work is to ask. Ask google, ask a community (like this one ;) ) or ask single people and look at other projects how for example OpenTK implemented there matrix struct (because Transform is based on 3D math keeping at least a matrix updated for rendering), read a few chapters in books about game engines (you cant ask questions about the programming without knowing what the engine in the background does) and do tutorials. The most important thing is to have a goal you could tell yourself every day, regardless of if it is something smaller or something larger as long as you know the steps to follow on your road to success. And no, MMOs are also a possible goal but will take a lot of time and discipline.

A mentor could help you additionally when you know/find someone that likes to share experience.

Art is also sometimes a topic that I need to thought about too, I'm also not the most creative one and not near as good as a professionall or at least skilled one but with a little training in a 3D Software like Blender or whatever you prefer, you could achieve something that is usable for now; the so called coder graphics ;) that might be replaced by help from someone either for a small rev-share or free

Another thought here, it seems like you are suggesting doing things from scratch will broaden your understanding and make you a real programmer.

There is merit in that; understanding underlying concepts can help you get a wider picture. However, how far do you want to take it? There's always a level deeper. If you do C++, you could go down to C. If you really want to understand what's going on, maybe you need to use assembly? Or machine code? In some cases, you might get down to chip design itself, to appreciate bottlenecks.

This may sound a tad ridiculous but I've studied all of the above, trying to gain a better understanding.

However, an engineering approach might be to evaluate the results you're trying to achieve, and match the tools to the job at hand. Personally, I'm very happy to use Unity. There's a high level of abstraction, but it lets me get on with what I'm trying to do, namely make gameplay that is fun. I can do this as a small team or even solo developer. If you're Jonathan Blow you might feel the need to write your own engine, but my view is that using Unity lets me focus on the game itself. It lets us make something that works well, works across platforms and looks good in a reasonable timeframe.

Remember too, there have been a great many beautiful games made using Unity - from Angry Birds to Monument Valley to Lara Croft Go to Ori and the Blind Forrest.

If it's good enough for Nintendo (Super Mario Run), it's good enough for me.

I thank all of you for all of your insights, Even though you all said relatively different things, you have given me allot to work on. Though I'm still wary of using unity, it is not just because of the limitations, the engine. I personally think it is a great engine, and IS (On my machine anyway) a ton more stable than Unreal. 

The reason I have an issue with unity is I don't JUST want to focus my attention and undeveloped skill on JUST that. I want to be able to say to myself "If I'm having an issue here, I have this knowledge to help me out outside of the engine"

As I said in my first post, I'm new to this whole "Community helping community" thing and "posting for others to see" so I'm really unsure how to word things to get my views across. 

But you have all helped, though some of it is indirectly helping, And I thank you all. I also hope others can read this and pick up on some of the stuff I did.

I used to be in the same mindset as you. When I first started seriously getting into game development, I didn't want to use an engine. It seemed like cheating to me. I decided on the XNA framework which is a little closer to the metal. I used that to build my own mini-engine for over a year and used it to compete in Week of Awesome 2 here at GameDev.

I was really pleased with what I delivered during that week. But I saw what others had done during that time and I was floored with what they were able to accomplish. The very next weekend, I downloaded it and spent time messing around with some tutorials. And I was sold. 

jpetrie hit the nail on the head. Get over it. :) Some people might look down their noses at you for not being a "real" programmer or a "real" game developer. But they're wrong. Hell, I landed my dream job working on BattleTech at HBS. Guess what game engine we use here... Unity. :)

- Eck

EckTech Games - Games and Unity Assets I'm working on
Still Flying - My GameDev journal
The Shilwulf Dynasty - Campaign notes for my Rogue Trader RPG

Thank you for your response, Eck. I do feel allot more confident in using an engine now, And I realise I need to "Get over it", as you said, Jpetrie hit the nail on the head. 

The only issue I have now is, I don't know where to go. I am by NO means creative. I have tried and learnt how to do 2d and 3d graphics, and I just cannot do it. I haven't got that artist motive in me. Its making things work and systems, the code that fascinates me and I have spent all my time working with and learning.

When I think of things to work on, I aim really high. And that is my downfall, I end up trying to make the next big game. And I know a lot of people go through this phase.

Plans a big game > Starts work > Realises there are problems > Realises that I cannot do this > Gives up > Plans another big game etc. 

I THINK IM more of a backend developer, but games, as you know, dont JUST work of backend code, there needs to be that front end that makes a game. Graphics, Gameplay, Imagination. These are traits that I just don't have. So I don't know what to do now. I don't FEEL like I can charge for my work yet, but that might just be me being modest? Maybe I am good enough. But When money is involved, it's scary. I've done one freelance bit of work for a developer on unity, gave him what he asked, got paid but never got feedback. The payment was automatic. I never heard back. And after it I was too afraid to use the money for the reason, I was afraid he would finally get back to me and want a refund. 

I HONESTLY do not know where to go from here, I don't know any of the processes as working in a team, I don't know how to find a team. 

But, all part of the journey I guess. That's why I'm here, to learn how to make that next step in my (Hopefully) future career, Independent or part of a bigger team/company.

10 hours ago, Devio said:

I am by NO means creative

The only difference between creative and non-creative people are that creative people are busy creating things. Go create something and you will be creative.  I know that sounds dumb, but you don't start by being good at things THEN go create stuff with skills out of nowhere, you have to create things FIRST, then you get good at it.  It doesn't matter if you suck at art.  In fact, you're going to suck at it to begin with no matter what you do.  Go do it anyway.  That's how everything works - you start off sucking at at, then you practice/iterate/learn, and eventually (hopefully) you get good at it.  Put your terrible art in your game and either iterate on the art until it's good, or hire an artist to replace your placeholders.  Or embrace the terribleness of the art, and don't make that the focus of your games.

2 hours ago, trjh2k2 said:

but you don't start by being good at things THEN go create stuff with skills out of nowhere

 

Unfortunately, i do not agree with how you see skills. To learn something and generally get mediocre with it, you need self-denial, Enthusiasm, spirit, passion to be able to do any set skill. With programming, even though I'm not the best yet, I KNOW I can work and work, and I know I have the capability to do great work around programming one day, I'm fascinated what I'm able to do with it, I know that it will take a while, and I'm going to fuck up on the way, but I know i will get there.

With art though, I can create stick men, beyond that I don't have much ... interest in it. I don't care much for visuals, but I see it as a necessity these days. I could code something in python and just use "@" as my player, BAM DONE ... But that's living in the past.

I did a creative media course at college where I was required to make art assets for web pages / Other projects. And at the end, i superseded other classmates, Why? Not because of my art assets, because of my website. While everyone used WordPress (No diss to anyone who uses WordPress, I think its great and do not disrespect it at all) I built the whole thing up from scratch using HTML and CSS, What I learnt in my own time throughout the course. But I failed unit of the course that required me to make fitting art assets despite a full year of studies of creative media in arts.

I went on after that year to do my ICT level3 that added upon my HTML skills and blah blah.

So no, I do not think you can "Come out of nowhere, and work to improve a skill you simply don't have", I believe and know about myself due to the previous experience, that to build on ANY skill, you need something there before. Other that be passion, Enthusiasm or anything. I simply don't have this with graphics. Unfortunate but true.

I think you missed my point.  I'm not saying that "everyone can be good at anything if they try a bit" - but that the only thing that makes a person uncreative is not creating things.  Doesn't mean you should be an artist, you can be creative in other ways.  And effort is clearly not the only barrier to being good at something.  But in many people's cases though, they very well COULD become good at things if they got past the barrier of "I'm currently bad at it, so I'm not going to try/practice".  It's a catch-22:  I'm bad at it so I won't try, but I won't get any good at it until I try.  Also being creative and being good at whatever you're creating are two very different things.

Also, hiring an artist, or embracing how bad the art is, are both legit options.

This topic is closed to new replies.

Advertisement