Questions tagged [software-engineering]

Software engineering is the design and development of software as it applies to the game development field. Questions using this tag should be about theoretical concepts and practices as relates to the task of creating or designing software. This tag should not be used simply because a question involves programming or contains code.

Software engineering is a broad field, but on the Game Development Stack Exchange, we are referring specifically to the aspect of the field that is about the process of thinking about how to craft good programming processes and policies. is like the technical equivalent to .

The current usage guidelines for this tag came about after discussing the merits of the old programming tag, which was deemed too vague and easy to misuse. After that discussion we settled on clarifying the usage guidelines and creating a synonym for programming to point here and help avoid misuse of the tag.

649 questions
320
votes
1 answer

What are good games to "earn your wings" with?

I believe that in order to become a good game developer, you need to make games. From a programmer's perspective , what are some good entry level games to get your hands dirty? What skills and challenges do each of these games teach you?
Drew
  • 2,093
  • 3
  • 13
  • 6
171
votes
13 answers

What math should all game programmers know?

Simple enough question: What math should all game programmers have a firm grasp of in order to be successful? I'm not specifically talking about rendering math or anything in the niche areas of game programming, more specifically just things that…
Tetrad
  • 30,154
  • 12
  • 97
  • 144
139
votes
9 answers

What are some programming design patterns that are useful in game development?

I have a few books on Design Patterns, and have read some articles, but cannot intuitively figure out which programming design patterns would be useful in game development. For example, I have a book called ActionScript 3 with Design Patterns that…
jcurrie33
  • 777
  • 3
  • 7
  • 14
105
votes
5 answers

Why are games built on cross-platform engines sometimes exclusive to Windows?

If an engine supports Windows, OS X, and Linux, why do we sometimes see games using these engines, like Space Hulk: Deathwing , restricted to Windows only?
Nathan
  • 1,095
  • 2
  • 7
  • 8
87
votes
10 answers

What can I do to make sure that I have the energy to work on my game while working full-time?

I work as a software engineer 40+ hours a week and I find that between balancing my personal life and family responsibilities that I have literally no energy to work on game development. What can I do to make more time for my hobby without burning…
radenon
  • 663
  • 8
  • 11
70
votes
8 answers

Event-driven Communication in a Game Engine: Yes or No?

I am reading Game Coding Complete and the author recommends Event Driven communication among game objects and modules. Basically, all living game actors should communicate with the key modules (Physics, AI, Game Logic, Game View, etc.) via an…
Bunkai.Satori
  • 2,763
  • 9
  • 37
  • 47
65
votes
6 answers

How do bullets work in video games?

I came across this question when I was designing a video game in C#. If we consider games such as Battlefield or Call of Duty , hundreds or even thousands of bullets are flying at the same time. Events are triggered constantly, and from what I know,…
Eric
  • 773
  • 1
  • 7
  • 14
59
votes
9 answers

New to creating AI - where to start?

I am new to game programming and am trying to make a basic 2d top-down space game with 2 space ships that fight each other. I am doing well with the user controlled space ship, but have no idea how to even start programming an AI. Are certain…
jle
  • 737
  • 1
  • 6
  • 5
55
votes
5 answers

How to avoid the GameManager god object?

I just read an answer to a question about structuring game code . It made me wonder about the ubiquitous GameManager class, and how it often becomes an issue in a production environment. Let me describe this. First, there's prototyping. Nobody cares…
Laurent Couvidou
  • 9,251
  • 2
  • 43
  • 58
55
votes
6 answers

How can I implement gravity?

How can I implement gravity? Not for a particular language, just pseudocode...
L.P
  • 741
  • 1
  • 7
  • 9
55
votes
2 answers

How can I get textures on edge of walls like in Super Metroid and Aquaria?

Games like Super Metroid and Aquaria present the terrain with the other facing parts having rocks and stuff while deeper behind them (i.e. underground) there's different detail or just black. I would like to do something similar using polygons.…
meds
  • 1,480
  • 3
  • 21
  • 34
49
votes
10 answers

C++: Smart pointers, Raw pointers, No Pointers?

Within the scope of developing games in C++, what are your preferred patterns in regard to use of pointers (be it none, raw, scoped, shared, or otherwise in between smart and dumb)? You might consider object ownership ease of use copy policy…
jmp97
  • 989
  • 2
  • 11
  • 19
45
votes
6 answers

What are the best resources on multi-threaded game or game engine design and development?

What are the best resources on multi-threaded game or game engine design and development? As this is obviously where computers are headed, I intend to study this topic and I'd like to know what resources and examples are out there.
Ricket
  • 14,900
  • 6
  • 69
  • 82
43
votes
6 answers

When is the best time to consider performance?

I am coming from software development background. During the software development cycle, we usually focus on functionalities and the working product. At the end of development, we start optimizing the code and improving performance. Now the question…
36
votes
2 answers

Will there be any more books in the Game Programming Gems series?

It's been more than three years now that the last Game Programming Gems book was published. The official website isn't updated anymore, and this page of Mark DeLoura's website seems to imply that the series is over. Was there ever an official…
Laurent Couvidou
  • 9,251
  • 2
  • 43
  • 58
1
2 3
…
43 44