What does programming mean to you?

From time to time there are people, who believe Unity is the magical solution to create games without writing a single line of code. While it has certainly brought us closer to that than ever before, the basic premise for creating complex games prevails.

In order to create some discussion, I want to ask old and new users alike, what does programming mean to you? Is it it what you like to do or is it only the means to achieve your goal, which is to create a full fledged game? Do you enjoy solving sometimes illogical-looking problems or do you just hate it?

Fun Challenging More interesting than High School == Programming :smile:

I actually enjoy coding. I find it can be as creative as the asset side of things. Most people can learn how to hack some code together but writing and refining optimised code and learning better ways of executing stuff, for me, is a fun and challenge thing, and to me… quite creative.

That said… coding can also be a PITA sometimes… often repetitive and frustrating, and tracking down those pesky bugs, though rewarding in the end, can be painful and time consuming .

For me, what’s great about unity is the ability to use JS as my coding choice. I have been using JS for ever… with web related projects… and for me it was a no brainer to jump into using Unity from a syntax point of view. Getting used to the “everything is independent” with “no main logic loop” style of development was a bit of a challenge at the start though! - But it is a very clever way of working now that I am used to it.

For those that look at coding as a chore or just a means to an end… try to look at it as part of the creative cycle. It’s in the code that you can do really clever things to make your games better/different/unique.

I guess what people usually forget is that practice makes perfect. Very few people are born with an aptitude to understand complex logic, even though some people definitely progress much faster than others. I assume there are a lot of graphics artists or writers, who are lured by advertising to think Torque or something else is what turns their vision into reality. But in reality their vision is months of blood, sweat and tears away.

On the other hand, would it even be so rewarding, if you can create a high quality game in just a couple of months? Reading interviews of famous game developers how they invest several YEARS of their lives into one game. It means that their memories of what happened during the development are tied to that product for forever.

While I definitely enjoy the problem solving aspects of writing code, I kinda tend to get most of the creative part out of the way before I’m writing code proper… so in a way its more of a ‘means to an end’ for me. I usually have my master plan of how the logic will flow decided upon before I sit down to start the time consuming task of actually writing it, so its much more mechanical for me… the end product is in my head and I’m just going through the steps of telling the computer “here’s what I want you to do.”

I used to be really impatient, and used to get really frustrated with the thought of having to learn code. Then people here calmed me down, and helped me face the challenge. I learned patience, and realised that theres always going to be another model to make, always another poly to push, and that even when Im dead, theres going to be needed a script in the world that starts with “function Start()”…

So patience is the key, accepting that Im a small wheel in the game dev machine, and I have to say that now theres nothing more rewading than seeing a script compile, and a behaviour to work without throwing an exception. Whilst sometimes confusing, Unity does often give really clear error messages, that make my day, because I can set about fixing them immediately.

Thanks Jeremy, Eric, Joachim, Neil Jon and others for helping me get the basic attitude required to succed with Unity programming. Programming is the new art. I love it! Thank you!

AC

For me, I love coding. I even did back when I was coding PHP (eek) I also feel that it is quite artistic in it’s own way, or rather, it can be.

Designing the code architecture to elegantly handle a task requires more creative work than a lot of people think. I really enjoy taking that extra bit of time to design my systems properly.

That little bit of care pays off in the end, and it feels good when need to use that system again and you realize how easy it is this time around because of the extra time you took last time.

My favorite task is designing and coding AI and AI-related systems. It’s a field that is very fluid, always changing, and there is rarely a “preferred” or even usually a common way to do any task, so you are left to choose the design that works for your needs. It’s also one of those things where a little work causes a greater outcome that you can then see in action. I would guess that this is also why a lot of people love coding shaders. You get to see the fruits of your labor quickly.

As for a shorter dev cycle reducing the reward, I do think that is true when you look at a single project. I think where you can re-capture what you are talking about is through the “big picture” where you have developed and matured your toolset and codebase through several projects and can step back and look at the whole thing.

I like it. Ironically, I can hold my own with traditional 2D/3D art too, and I really like it as well, I just don’t have the experience in that field that I do in programming. And my heart is in programming.

-Jeremy

That’s in interesting discussion :wink:

I love coding, and so do I love creating visual and audio art. Only that since I’ve spent many years doing software-engineering to make my living (and still am), I’m naturally a much better software-developer than modeller or sound-designer. It was quite interesting to me when I started studying computer-science, how the visual and audio art suddenly faded out. Not a very pleasant experience, too. But I quickly realized that software-engineering is just as much a call to your creativity than any other art-form. And I do think it is an art-form, even if a very technical one.

Like, you can have some color and a sheet of paper and start painting. Or you can have some modelling tool on your computer and start modelling (the latter requiring much more technical understanding but also giving you way more possibilities). Or, you can sit down with a drum and start drumming immdiately without too much training or practicing (a good feeling for rhythms assumed :wink: ), or play the guitar (which requires a bit more learning), or create musical productions with with sequencers, synthesizers and effects. The latter requires a lot of technical knowledge and understanding, but gives you incredible freedom to create exactly the kind of atmosophere and experience you envision (if you’re patient enough).

Now, finally, you can have an idea for a cards game, use the means available (some paper and pen being sufficient, plus a little writing or painting skill, maybe). Or, you can have an idea for the big new computer game and when you don’t have all the skills needed for that yourself (which is quite probable), add “team-work” to your set of required skills and there you go :wink: But: The possibilities are limitless.

The way I see things: The more freedom you want, the more skills you need. And I like the perspective of seeing coding, or “software-development” as an art form. I’m not the only one, see:

The Poetry of Programming

… which was written 6 years ago :wink:

The good news to me: Since I’ve started developing games with Unity, it’s ALL coming back to me. I get to do a lot of really challenging coding (I guess mainly because I like multiplayer and networking), I finally got to re-awaken my old audio talents, and if time permits might even really get into modelling again. Not I just have to make this my full-time job :wink:

Sunny regards,
Jashan

Game development for me is combining various assets - graphical, audio and interactive into an entertaining, interactive single unit.

I’m building lego and scripting allows me to re-shape the lego blocks I’m using.

I like developing - especially game development and unity is a nice environment for game development. Scripting is a powerful tool in unity development and therefore I very much appreciate it.

This turned out to be more of a tribute to Unity :smile:. Yes, there is nothing wrong in expressing that. Maybe I should’ve posted this thread somewhere in BlitzMax- or TGE-forums and ask how much do they enjoy writing everything from the ground up.

My take of programming is that it becomes less of a hindrance and more of something to enjoy after you’ve become skilled enough not to say why the “#€%£$[∞£©! this piece of #€@£ doesn’t work!” whenever you try even the smallest piece of code. Very few people have the patience to progress that far, even though programming compared to other fine arts like writing, drawing, making music is something that anybody have the capabilities to do. For example, no matter how much you would practice playing a guitar, you might not become the next Steve Vai. Programming only sets barriers that can be removed by using your head long enough.

I used unity as example in my reply since the context of this forum is unity. Perhaps I was a bit too brief.

As said scripting is the best method I know of, of re-shaping the building blocks which make up a game. It is a tool to solve the problem of the bricks not fitting to form the goal product.

Optimally the bricks would not need re-shaping and thus scripting would be meaningless.

Also there is a question of definition. I have referred to scripting as programming, when programming is really just one way of scripting. I have worked with great graphical scripting utilities which hugely benefited production time, but of-course whenever you go to a higher level of abstraction, versatility is lost.

The main strength of programming continues to be its versatility while its weakness being how it is closer to mathematical logic than human logic.

I view programming as a two headed creature,

The first is something that is the boringness that is hacked out all day in order to bring in a paycheck at the end of the month. It is a means to create that boring old login screen or website that your boss wants. In that sense, it is uncreative and lacks any real pleasure.

The second is coding for the pure joy of it. This is the kind that is done after work, and is done or on weekends. The game programming, the complex problem solving, the transformation of lines of text into something straight out of your imagination. This is the type of coding I enjoy, and what I think is true programming.

AGhost

Actually, programming is the same. No matter how much you practice coding, you might not become the next John Carmack or Donald Knuth. Intelligence mixed with natural talent is a recipe that cannot be beat.

I like programming because unlike most desk jobs, you cant have your mind wondering while your doing it, Its not just tedious repetitive work,you need to be thinking to get stuff working properly, its a puzzle that needs to be solved, not a mess that needs to be sorted

Is that a challenge?

Coding while hung-over will quickly disprove that statement. Trust me - been there.

Not that its pretty coding, but its coding :slight_smile:

Not sure I understand the question.

I wouldn’t buy a game dev engine unless I could write the code that makes it all happen.

I know OTEE did all the hard work, but code is the reason that I am able to turn their engine into my games.

I mean I can model, animate, UVMap, light and particle my little brains out, but without the code it all just kinda sits there looking pretty. And for me, just any old camera behavior just wont do. I have been playing games for a long time. Camera movement is just as important as player movement.

I LOVE CODE!!!
It tastes like chicken. And finding that magical way to get the results you’re after is probably the most rewarding part of the whole thing.

Exactly!

Imagine what it would be like to be a carpenter if tools didn’t exist. Sure a really good carpenter could manage to somehow build things using only a rock, crooked stick and a bare hands but it would be extremely difficult… lots of labor, lots of hard work and end results wouldn’t be that good.

Now give the carpenter a shiny new tool box full of modern tools that were beyond his imagination. Now that the skilled carpenter has these new tools, he is able to build bigger more quality things in much less time.

…substitute carpenter with programmer, tools with Unity and that is what Unity is all about to me.

I didn’t want to talk about a specific game engine, but programming in general and how new game developers usually have way too high expectations on what is the amount of work they have to do before they can put together even the most simple game. Then comes the point, where they either realize and learn to understand that these challenges exist or become frustrated that their vision is not a game already. Either the person enjoys the whole process or only thinks of the end product.

However, the question was actually quite a bad one, because the less experienced developers have either given up or haven’t come to realize the facts while the more experienced developers wouldn’t be, where they are now without enjoying programming.

You CAN use a bunch of C++ code that is a game engine like Ogre3D without any other tools or editors to create a game. Unity was dragged into this conversation, because all of us here are users of it :slight_smile:

I’ve been coding since I was 12, I’m 38 now. I find it to be a fun experience. A sort of puzzle. Also I enjoy getting into the “flow” of it.

For me, coding is like having an infinite supply of puzzles to solve. If they ever start getting too easy, you just set yourself tougher goals. I think there’s also a kind of power-trip in building stuff and seeing it work, and coding is probably the purest form of this (and offers the fastest turnaround).

My first programming experience was learning to program one of my father’s friend’s HP-65 calculators back in 1977. As usual, the grown-ups were having a boring conversation, I liked playing with calculators, and this one was programmable. I taught myself to use it (reverse polish notation!) and program it in an afternoon, and was hooked. (And my main motivation was figuring out how its lunar lander game worked.)

Later that year I was introduced to board wargaming. These two obsessions merged when I got access to an Apple II+ computer and implemented most of Sea Strike (a great tabletop wargame) on the Apple II+.

Complicated games and computers. It doesn’t get better than that.

Oh, there’s women :wink: