Devio

Blank Programmer.

Recommended Posts

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. 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

 

Share this post


Link to post
Share on other sites
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.

Edited by Oberon_Command

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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".

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Edited by BeardedMacDog

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

I see, And I do think I did miss your point, my apologies for that. But I never gave up, and I still ... Try to do some art, and modelling to this day, I still open up Blender, I still try to UV map stuff, I still try to make things look sort of what I want them to look like, and I have done that for years, ever since I started college. When I started college about 5 years ago, I was a lot more imaginative, and that helped, but even with practising, I never got better. i never had that motivation i do with programming.

I won't stop trying to improve, but realistically I know I won't get better. I'm not going to cry about it, and focus my main learning experience on programming. 

The problem with hiring is, As you said, there are many catch-22s. This one being, you need money to make money. As someone who lives in a fishing town, and all work about is either factory or retail, Due to certain health issues (I don't want to get into it and it serves no addition to what I'm trying to say) I am unable to work in a factory or in a setting as retail. Meaning I have to get by with money I can make either freelancing as well as other stuff. Meaning hiring is not an option, unfortunately.

I know there are people who are wanting to build up a portfolio for them to get into work, so I have thought of the option of seeking them out, and crediting them in my work, but at the moment I do not know where to start with that process. I need to do more research.

I apologise again for missing your point, I hope what I just said makes you a bit more understandable to my issue I am having with "What now" haha. 

EDIT : 

Also, Please expand on what you mean by "embracing how bad the art it", Could you please explain how this would be beneficial and what scenario it would be beneficial? This is not an "I think you are wrong", I generally am interested and would like you to expand.

Edited by Devio

Share this post


Link to post
Share on other sites
1 minute ago, cmac said:

Braid before the artist

 

I have seen that somewhere, not sure where though. Not the game, the art before that.

But yes, I know about placeholders and I know they are not meant to be nice. Its weird, but even placeholders, I still cannot wrap my head around them. I create placeholders, but something still feels wrong. Like "I know this isn't its final stage, but its still missing a feeling or an effect is should give off"

With braid, the monsters and the player sprite doesn't really tie in "story wise" or with "gameplay" so you can just throw anything there and it will still show off what you want it to. But when you have a character or an object that is meant to give off some kind of effect, it doesn't work as well and leaves me wondering what is wrong. 

I may be ENTIRELY wrong with what I'm saying, but it is what I think at the moment. I'm not here to say "I'm right", I'm here to be debunked if I'm wrong, its the fun of learning, and I get better when I do.

Share this post


Link to post
Share on other sites
13 minutes ago, Devio said:

Please expand on what you mean by "embracing how bad the art it"

It comes down to a question of context.  If you're making portfolio pieces to show off your programming skills, or indie games just to entertain yourself and your friends, then you can embrace the bad art as just a part of the package.  Make the art bad on purpose.  Make the game acknowledge it and poke fun at itself.

Take something like Goat Simulator.  It's a "bad game" that embraced what it means to be a bad game and turned it into a "good because of how bad it is" kind of thing.

If your project is one where the presentation is important - something you plan on releasing commercially, something you're doing for a client, etc.- then the problem is not that you aren't an artist, the problem is that you don't have the budget to complete the project the proper way (the proper way being to hire an artist)- and probably will run into other budget constraints unrelated to art as well.  At that point you need to reconsider whether taking on the project is a good idea in the first place, if you don't have the resources to make it happen.

Share this post


Link to post
Share on other sites

I think you identified one of the issues you're having yourself. You come up with a project scope that is too big. You start down that path. Realize it's too big and then abandon it. If you keep doing that you won't get anywhere for a looong time. Start making smaller games. You'll build up your skillset Karate Kid style without even realizing it. Wax on. Wax off.

Give this article a read: 

 

It explains which games you should be making first and why.  Knock out a few smaller games to help build up a library of functionality for yourself. Before you know it you'll be able to tackle bigger and better projects.

- Eck

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now