94

Even with an engine, getting something to display on the screen the way you want it is not always trivial. There will be many instances where someone with programming knowledge is required to make the graphics display correctly. These people may be called graphics programmers in the credits (graphics programmer is not a certified or protected title, and the ...


74

It's important to understand that the hundred coders in a company will be implementing high-level designs, not making them. In design terms, you might get given a task like "design the graphic format to be used for all art assets" but you won't be given the task "design a way to encourage users to interact in groups of five to ten people". Or indeed be asked ...


65

"People" have been declaring the death of 2D games ever since 3D games came into being. Hell, Sony even tried to outlaw 2D games of any kind on the PS1. And what's one of the most well-remembered PS1 games? Castlevania: Symphony of the Night. A 2D game. 2D games aren't dead; they will never be dead. Even if you wiped every 2D side-scroller off the face of ...


65

Game engines are like kitchens, and developers (i.e. programers) are like cooks. Game engines offer possibilities, while the programmers exploit these possibilities to the needs of the game. Thus, game companies need graphics programmers to tailor the engine's graphics possibilities to the game's needs. If the game engine were to manage everything, ...


54

Yes it is, check this list for a proof. Those are some games made with Java using The Lightweight Java Game Library (LWJGL). It is a low-level framework, which provides OpenGL for high quality graphics and OpenAL for sounds. It also provides input API. With these you can quite easily get started to serious game development in Java. I am currently writing my ...


40

Not really. Here's the thing- firstly, there's very little in terms of existing libraries for Java compared to the virtually everything that is for C++. Secondly, Java as a language simply doesn't lend itself well to game development- I mean, for example, if you're dealing with GPU buffers then Java does not provide a language feature which will aid you in ...


32

Branching depends a little on VCS support for the feature (ie: whether the VCS makes it easy or difficult). But at a minimum, you want a branch for each independently supported release of your project. That is, if you have "Game 2", and "Game 2 + Expansion" which are separate products built from the same codebase, and which you need to be able to patch and ...


28

A publisher would not be able to protect you from someone else creating a more popular clone of your game. Games from large publishers get ripped off just as often as those from small indies. Maybe the publisher has enough money in their war chest to fight a legal battle, but considering that such lawsuits are expensive and the success rate is hard to ...


25

So, I am really serious about game development, is Java still a viable choice? I have tried multiple times to learn C++, but I don't really like the language. I don't really know why, but usually, whenever I try to learn, I can never grasp the topics. If your reason for choosing Java is that you couldn't understand C++, your Java programs aren't going to ...


25

Yes, professional games use Blueprints. Some use a mix of C++ and Blueprints. We use both on Dead by Daylight. One of the great things about Blueprints is that non-programmers can get access to the ability to script behaviors. Not every project will use them this way, but it's one of the reasons they were designed. They replaced UnrealScript as the means ...


24

The main models I can think of are: Charge per copy - the traditional "software licensing" model, you charge your customers a retail price to "buy" a copy of the software and the subsequent right to install or play it. This is still a dominant model for software of all kinds including PC, console and mobile device games, even after the introduction of other ...


23

I want to focus on your third question, because it's within my area of knowledge (indie developer): I haven't written a line of C++ code for many, many years. And, in fact, I have forgotten many of the nitty-gritty details (and in C++ there are a lot of those). I do most of my work in C#. And you absolutely don't have to learn C++. However, the skills I ...


21

Welcome to the game industry :) So you're doing a massive refactoring. Massive refactoring is Evil, but that's not the topic. You were probably given this task to test your nerves anyway, so don't give up on it. My answer is: you have to break it down into little chunks. It'll be your daily routine in a few months, so you have to learn how to divide and ...


19

Don't steal assets or code. For the technologies you are using, make sure you're complying with their terms. Avoid emulating other games. Use an original name and logo. Follow the terms of service on whatever channels you're selling the game through. Incorporate your game company and keep its financial assets separate from your own. Comply with the ...


18

If you want to self-publish and sell your first game successfully, you will have little other choice than to create lots of attention, and a gameplay video seems unavoidable to do that. As for fears of plagiarism, having the largest possible upfront attention should actually be positive for you. Ideas are cheap and plentiful, it's the execution that matters ...


18

as said by Josh Petrie: "Not built here syndrome;" I am also writing my own engine, and I suppose the reason will be different for every developer out there, but in fact - I generally don't like working in other peoples code. I am compulsive in the sense that If I feel I could build it myself, then there's no point in settling for anything else. I ...


17

Indeed 2D games still have a future in the game industry. I even think that 2D games are coming back in force, because of (most of the time) lower prices, because of less powerful devices, because of nostalgia. There is plenty of 2D Indy games such as World of Goo, Aquaria, Braid, Gish, Crayon Physics etc. with a very decent number of copy sold. There is ...


17

Most of the indie games that have made it big in the past few years have published extensive development blogs, engaged with the gaming community, and eventually released their games on Steam. Buzz for games like World of Goo, Braid, Super Meat Boy, VVVVVV, and others often took a year or more to build up. Many of them were made by 2-person teams consisting ...


17

Programmers are far from the only people in the game industry. From what you've stated, it sounds like you'd be much, much happier pursuing a game design career. You could still write down those plots, stories, characters, and fictional gaming worlds with a team of other game designers (depending on how big the game company is). Then just hand all the ...


17

The really old games - written for NES, Game Boy, SNES, and even older systems like the Atari family - were usually written in assembly language. This was necessary because C compilers of the time were either non-existant or not up to the task of generating sufficiently efficient code. They were able to squeeze all of that stuff into small cartridges - for ...


15

An experienced programmer will generally know many programming languages - learning extra programming languages isn't too hard once you know one well. However I would strongly recommend that C++ shouldn't be your first language, and probably not the second one either. That's because C++ gets a lot of its efficiency from not doing any significant runtime ...


15

First I will admit to some bias, I am a PhD student in computer science at a large research institution (Clemson University), so I'm all about getting some education :-) Short answer, if you want to have a good chance of becoming a game developer (and by this I assume you mean working for a AAA company like Blizzard?), you need to finish strong in high ...


15

The absolute key reason to write your own engine (and it surprises me that nobody has called this out yet) is for debugging. If you've written a big, complicated game, and there's a crash bug in it, and you have the source code (and are intimately familiar with that source code by virtue of having written it), then you can simply attach a debugger to the ...


13

As for the NES (and SNES too mostly), here's a basic overview. I did not write any NES games but did write an NES emulator (Graybox) and did a fair amount of rev-engineering of old carts. As for programming language: yes, it was all assembly. Programming the NES meant working directly with hardware interrupts, DMA ports, bank switching etc. Luckily, ...


Only top voted, non community-wiki answers of a minimum length are eligible