• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 04:31
CET 10:31
KST 18:31
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10
Community News
Weekly Cups (Nov 24-30): MaxPax, Clem, herO win2BGE Stara Zagora 2026 announced15[BSL21] Ro.16 Group Stage (C->B->A->D)4Weekly Cups (Nov 17-23): Solar, MaxPax, Clem win3RSL Season 3: RO16 results & RO8 bracket13
StarCraft 2
General
Maestros of the Game: Live Finals Preview (RO4) BGE Stara Zagora 2026 announced Weekly Cups (Nov 24-30): MaxPax, Clem, herO win SC2 Proleague Discontinued; SKT, KT, SGK, CJ disband Information Request Regarding Chinese Ladder
Tourneys
$5,000+ WardiTV 2025 Championship Constellation Cup - Main Event - Stellar Fest RSL Revival: Season 3 Tenacious Turtle Tussle [Alpha Pro Series] Nice vs Cure
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 502 Negative Reinforcement Mutation # 501 Price of Progress Mutation # 500 Fright night Mutation # 499 Chilling Adaptation
Brood War
General
Which season is the best in ASL? [ASL20] Ask the mapmakers — Drop your questions BW General Discussion FlaSh's Valkyrie Copium BGH Auto Balance -> http://bghmmr.eu/
Tourneys
[Megathread] Daily Proleagues [BSL21] RO16 Group B - Sunday 21:00 CET [BSL21] RO16 Group C - Saturday 21:00 CET Small VOD Thread 2.0
Strategy
Game Theory for Starcraft How to stay on top of macro? Current Meta PvZ map balance
Other Games
General Games
Stormgate/Frost Giant Megathread The Perfect Game Path of Exile Nintendo Switch Thread Should offensive tower rushing be viable in RTS games?
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas TL Mafia Community Thread
Community
General
Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine US Politics Mega-thread The Big Programming Thread Artificial Intelligence Thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! Anime Discussion Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion NBA General Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Where to ask questions and add stream? The Automated Ban List
Blogs
James Bond movies ranking - pa…
Topin
Esports Earnings: Bigger Pri…
TrAiDoS
Thanks for the RSL
Hildegard
Saturation point
Uldridge
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1020 users

Game Programming Primer - Page 4

Forum Index > General Forum
Post a Reply
Prev 1 2 3 4 5 6 7 Next All
Deezl
Profile Blog Joined November 2010
United States355 Posts
November 21 2012 03:14 GMT
#61
If you're ever interested in a job in technical writing, let a brotha know.
Three hundred lives of men I have walked this world, and now I have no time.
Ender2701
Profile Blog Joined January 2012
United States581 Posts
November 21 2012 04:29 GMT
#62
Wow really nice article! Definitely will recommend to any friends that are interested into getting into industry game programming. I learned a bit from the generic coding in C article and I've been doing game development in C++/C for several years
]343[
Profile Blog Joined May 2008
United States10328 Posts
November 22 2012 05:00 GMT
#63
Wow, all I need to do is learn graphics and find a physics engine, and I can write my own games too!

Nice guide
Writer
4tre55
Profile Joined June 2011
Germany330 Posts
November 22 2012 10:44 GMT
#64
Just bought "Code" because of your guide an it's an amazing book, thanks a lot for the recomandation.
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
November 22 2012 19:09 GMT
#65
On November 22 2012 19:44 4tre55 wrote:
Just bought "Code" because of your guide an it's an amazing book, thanks a lot for the recomandation.

Very awesome! I loved that book, read it twice.
kollin
Profile Blog Joined March 2011
United Kingdom8380 Posts
November 22 2012 20:30 GMT
#66
Out of interest, Cecil, what compiler do you use for coding? Having trouble finding the 'right' one :/
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
November 22 2012 20:34 GMT
#67
On November 23 2012 05:30 kollin wrote:
Out of interest, Cecil, what compiler do you use for coding? Having trouble finding the 'right' one :/

I like gcc/g++ and VS 2010. I'd recommend VS Express 2010.
kollin
Profile Blog Joined March 2011
United Kingdom8380 Posts
November 22 2012 20:53 GMT
#68
On November 23 2012 05:34 CecilSunkure wrote:
Show nested quote +
On November 23 2012 05:30 kollin wrote:
Out of interest, Cecil, what compiler do you use for coding? Having trouble finding the 'right' one :/

I like gcc/g++ and VS 2010. I'd recommend VS Express 2010.


Alright thanks, I took a look at VS 2008 I think, but some of the UI felt a bit weird to what I'd used before, but I'll definitely check out both those recommendations! :D
Chronopolis
Profile Joined April 2009
Canada1484 Posts
Last Edited: 2012-11-23 06:43:32
November 23 2012 06:42 GMT
#69
O ..................... O

_______________
|.........................|
|.........................|
|.........................|
|.........................|
|.........................|
| ______________|

Too long, will read.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
November 23 2012 15:48 GMT
#70
On November 23 2012 05:30 kollin wrote:
Out of interest, Cecil, what compiler do you use for coding? Having trouble finding the 'right' one :/

You don't use a compiler for coding, you use a text editor or an integrated development environment (IDE) which usually consists of a text editor, a compiler and lots of other helpful tools. Visual Studio is an IDE, gcc/g++ is just a compiler. If you're more of a linux/command line guy, vim with the right plugins is supposed to be good. For typical Windows users, Visual Studio is very good.
Afaik Eclipse is somewhat popular too, and I often use it when I am working on a Linux system, but I find it to be just an inferior version of Visual Studio (I'm not exactly good with the command line style editors).

For C/C++ you usually don't really need a fancy IDE though as long as you have syntax checking and code completion.
If you have a good reason to disagree with the above, please tell me. Thank you.
Arnstein
Profile Blog Joined May 2010
Norway3381 Posts
November 23 2012 18:38 GMT
#71
What a shitty text...............JUST KIDDING, THIS WAS FUCKING AMAZING!!! Thanks a LOT!!!
rsol in response to the dragoon voice being heard in SCII: dragoon ai reaches new lows: wanders into wrong game
Spikeke
Profile Joined October 2010
Canada106 Posts
November 23 2012 18:44 GMT
#72
Covered more general programming than actual game programming, but it was still a good refresher. For those who think this is a lot... This isn't even scratching the surface. That's one thing I enjoy about game development though, it's like a never ending rabbit hole. Always something new to learn or new tech to play with.
Lorizean
Profile Blog Joined March 2011
Germany1330 Posts
November 25 2012 18:39 GMT
#73
On November 23 2012 04:09 CecilSunkure wrote:
Show nested quote +
On November 22 2012 19:44 4tre55 wrote:
Just bought "Code" because of your guide an it's an amazing book, thanks a lot for the recomandation.

Very awesome! I loved that book, read it twice.


Haha, I bought it too and it is pretty amazing indeed.

About the compilers: you will want to use gcc (g++) on gnu/linux. For Windows you have a choice between the microsoft compiler included in visual studio or MingW (a gcc port for windows).
Or you can use the Intel compiler (parallel xe) on both platforms.
Microsoft and Intel cost money though, but you can get free access as a student or for non-commercial use.

As for IDE i quite liked codeblocks (linux+windows, option to come coupled with mingW/gcc) or you can use visual studio for the microsoft/intel compilers.
Personally I use vim with g++ on linux and I can say that learning to use vim was very worth it, but it takes time to get used to it. So if you just want to code some small c++ program its probably not worth your while to learn it.
Ender2701
Profile Blog Joined January 2012
United States581 Posts
Last Edited: 2012-11-26 06:38:26
November 26 2012 06:38 GMT
#74
On November 26 2012 03:39 Lorizean wrote:
Show nested quote +
On November 23 2012 04:09 CecilSunkure wrote:
On November 22 2012 19:44 4tre55 wrote:
Just bought "Code" because of your guide an it's an amazing book, thanks a lot for the recomandation.

Very awesome! I loved that book, read it twice.


Haha, I bought it too and it is pretty amazing indeed.

About the compilers: you will want to use gcc (g++) on gnu/linux. For Windows you have a choice between the microsoft compiler included in visual studio or MingW (a gcc port for windows).
Or you can use the Intel compiler (parallel xe) on both platforms.
Microsoft and Intel cost money though, but you can get free access as a student or for non-commercial use.

As for IDE i quite liked codeblocks (linux+windows, option to come coupled with mingW/gcc) or you can use visual studio for the microsoft/intel compilers.
Personally I use vim with g++ on linux and I can say that learning to use vim was very worth it, but it takes time to get used to it. So if you just want to code some small c++ program its probably not worth your while to learn it.


If you're coding on linux, I'd suggest emacs and g++, but since you're doing game programming you're probably using Windows. If you're going to use Windows, I'd suggest Visual Studio and Visual Assist X. Visual Assist X is probably the greatest IDE add on I've ever used, really good for large C++ projects, I used it when I was doing game programming for First Playable and it was awesome.

No matter what I'd suggest learning + using emacs hotkeys. It makes editing text so much faster. The only downside is that you'll constantly be frustrated when other things don't have emacs hotkeys and you accidentally open 10 new windows.
iaretehnoob
Profile Joined June 2004
Sweden741 Posts
November 26 2012 13:49 GMT
#75
And if you get Visual Studio, get VS 2012 (unless you're stuck on Win XP). C++11 support should be enough to convince anyone. Also syntax-highlighting/intellisense seems to have improved at some point, I remember VA X being somewhat of a must have in the past, but I haven't missed it in the last few months.

Clang is another good compiler choice, competing with gcc, just really not as widespread.
Random()
Profile Blog Joined August 2004
Kyrgyz Republic1462 Posts
Last Edited: 2012-11-30 19:01:36
November 27 2012 18:43 GMT
#76
While this is a great article, I think you are overemphasizing the "internals" of game programming. Those parts that work with the hardware and all the low-level implementation details are, of course, quite important, but in all honesty they have little to do with your actual game.

When you look at it this way, then game development (as in implementing the actual gameplay mechanics) is very often done in a higher-level language. People use all sorts of languages (Python, Lua, Java, C#, ...) to abstract themselves away from the engine internals and the horrors of C++, and that is a very good thing. Writing good C++ programs is extremely difficult, and even the state-of-the-art engines written by the most talented programmers in the world are ridden with bugs. C++ programs written by average programmers are a minefield.

So unless you are determined to be a very technical sort of developer, working on the engine, I don't agree that you HAVE to use C++ for game development, in fact I would argue that you should try to avoid it at all if that is possible within your workflow.

Also, you write "there are a few different simple guidelines that one can follow to ensure their code isn’t running sub-optimally" as if running sub-optimal code is something to be ashamed of. Saying such things, especially to new programmers, is a recipe for disaster. Premature optimization is the root of all evil, and for whatever reason many people really seem to like spending their effort "optimizing" absolutely unimportant stuff which they don't even know to be the bottleneck, while at the same time their program is not working correctly overall.

EDIT: please take this as my personal rambling and wishful thinking. Reality is, as people have pointed out, that you will be most likely expected to know C++ if you are going to apply for a game programming job.
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
November 27 2012 20:29 GMT
#77
On November 28 2012 03:43 Random() wrote:
While this is a great article, I think you are overemphasizing the "internals" of game programming. Those parts that work with the hardware and all the low-level implementation details are, of course, quite important, but in all honesty they have little to do with your actual game.

When you look at it this way, then game development (as in implementing the actual gameplay mechanics) is very often done in a higher-level language. People use all sorts of languages (Python, Lua, Java, C#, ...) to abstract themselves away from the engine internals and the horrors of C++, and that is a very good thing. Writing good C++ programs is extremely difficult, and even the state-of-the-art engines written by the most talented programmers in the world are ridden with bugs. C++ programs written by average programmers are a minefield.

So unless you are determined to be a very technical sort of developer, working on the engine, I don't agree that you HAVE to use C++ for game development, in fact I would argue that you should try to avoid it at all if that is possible within your workflow.

Also, you write "there are a few different simple guidelines that one can follow to ensure their code isn’t running sub-optimally" as if running sub-optimal code is something to be ashamed of. Saying such things, especially to new programmers, is a recipe for disaster. Premature optimization is the root of all evil, and for whatever reason many people really seem to like spending their effort "optimizing" absolutely unimportant stuff which they don't even know to be the bottleneck, while at the same time their program is not working correctly overall.

I can understand why you'd want to shy from encouraging C++, but if you want a job being very good at C++ is the best way I know of. Sure, the everyday workflow of the position you might get may or may not be using C++, but that's besides the point if you want the best chances of hire. Just go check out all the various game programming or software engineering positions offered from studios; pretty much every one requires excellent C++ skills.

As for optimization, I only talked about delayed construction and said not to pass-by-value. These are the sort of things I learned my first semester working in C. They aren't really something you can get lost in while programming in a bad way as you'll be learning fundamentals essential to programming in general.
ClysmiC
Profile Blog Joined December 2010
United States2192 Posts
November 28 2012 04:35 GMT
#78
This is AWESOME. I'm learning Java right now, but I took a little detour learning some C++ and this will definitely help. Can't wait to read this over the next few days. Looks like a great write-up!
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
Last Edited: 2012-11-28 16:56:57
November 28 2012 16:56 GMT
#79
On November 28 2012 05:29 CecilSunkure wrote:
As for optimization, I only talked about delayed construction and said not to pass-by-value. These are the sort of things I learned my first semester working in C. They aren't really something you can get lost in while programming in a bad way as you'll be learning fundamentals essential to programming in general.

Not using pass by value to improve speed is a trap too. Sometimes you want to pass by value, sometimes you don't.
See: http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/


Generally you never even want to think of optimization until after you ran a detailed performance analysis. Before that point all your efforts should be spent on producing simple, readable, understandable, reusable, testable and maintainable code.
If you have a good reason to disagree with the above, please tell me. Thank you.
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
November 28 2012 18:48 GMT
#80
On November 29 2012 01:56 spinesheath wrote:
Show nested quote +
On November 28 2012 05:29 CecilSunkure wrote:
As for optimization, I only talked about delayed construction and said not to pass-by-value. These are the sort of things I learned my first semester working in C. They aren't really something you can get lost in while programming in a bad way as you'll be learning fundamentals essential to programming in general.

Not using pass by value to improve speed is a trap too. Sometimes you want to pass by value, sometimes you don't.
See: http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/


Generally you never even want to think of optimization until after you ran a detailed performance analysis. Before that point all your efforts should be spent on producing simple, readable, understandable, reusable, testable and maintainable code.

You know, intentionally setting up RVO is in and of itself programming while being mindful of optimizations. Some optimization really is just low hanging fruit you can be sure of.
Prev 1 2 3 4 5 6 7 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 2h 29m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SortOf 200
ProTech114
StarCraft: Brood War
actioN 743
Shuttle 728
Larva 289
Mini 196
Pusan 174
Hyun 163
Killer 117
Zeus 97
PianO 97
Sharp 93
[ Show more ]
ZerO 68
Dewaltoss 68
Light 43
sorry 38
Rush 31
soO 22
NotJumperer 19
Hm[arnc] 7
ajuk12(nOOB) 3
Dota 2
XaKoH 576
XcaliburYe131
League of Legends
JimRising 464
C9.Mang0254
Counter-Strike
olofmeister594
shoxiejesuss553
Super Smash Bros
Westballz17
Other Games
summit1g11935
Happy405
ZerO(Twitch)1
Organizations
Other Games
gamesdonequick699
StarCraft: Brood War
UltimateBattle 73
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Berry_CruncH264
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota245
League of Legends
• Lourlo1080
• Jankos985
• Stunt482
Upcoming Events
Wardi Open
2h 29m
StarCraft2.fi
7h 29m
Replay Cast
14h 29m
The PondCast
1d
OSC
1d 6h
Demi vs Mixu
Nicoract vs TBD
Babymarine vs MindelVK
ForJumy vs TBD
Shameless vs Percival
Replay Cast
1d 14h
Korean StarCraft League
2 days
CranKy Ducklings
3 days
SC Evo League
3 days
BSL 21
3 days
Sziky vs OyAji
Gypsy vs eOnzErG
[ Show More ]
OSC
3 days
Solar vs Creator
ByuN vs Gerald
Percival vs Babymarine
Moja vs Krystianer
EnDerr vs ForJumy
sebesdes vs Nicoract
Sparkling Tuna Cup
4 days
OSC
4 days
BSL 21
4 days
Bonyth vs StRyKeR
Tarson vs Dandy
Replay Cast
4 days
Wardi Open
5 days
StarCraft2.fi
5 days
Replay Cast
5 days
StarCraft2.fi
6 days
PiGosaur Monday
6 days
Liquipedia Results

Completed

Proleague 2025-11-30
RSL Revival: Season 3
Light HT

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
YSL S2
BSL Season 21
CSCL: Masked Kings S3
Slon Tour Season 2
Acropolis #4 - TS3
META Madness #9
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2

Upcoming

BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
Kuram Kup
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
eXTREMESLAND 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.