• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 12:20
CET 18:20
KST 02:20
  • 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
[ASL22] Finals Preview: Sweet Victory!12[ASL22] Ro4 Preview: Mirror Mirror6[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5
Community News
Weekly Cups (October 19-25): Clem triples first in 5.0.175Evil Geniuses - shutting down21ISSL (IntoTheTV x SOOP SC2 League): Premier7Weekly Cups (October 12-18): 5.0.17 era begins1[$1250] International ShieldBattery League99
StarCraft 2
General
How do you feel about the mass reverts in the 5.0.17 PTR? No more SC2 streamers on team liquid? Behind the Blue - Team Liquid History Book 5.0.17 Patch Notes - October 7, 2026 Evil Geniuses - shutting down
Tourneys
ISSL (IntoTheTV x SOOP SC2 League): Premier Stellar Fest TWO the Moon (Dec 16-20) Sparkling Tuna Cup - Weekly Open Tournament RSL goes to London! 2026 Offline Finals Nov 21-22 RSL 2026 Offline Finals LCQ Sign-Ups
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[D] the control group Simple Questions/Answers [G] How to playtest arcade maps [A] Nemrods 1/4 players
External Content
Mutation # 550 Graveyard Shift The PondCast: SC2 News & Results Mutation # 549 Endless Sparkles Mutation # 548 Shining Bright
Brood War
General
Top Players of October 2026 (EBPD Rankings) BW General Discussion Rollback Netcode in Brood War Sagi.gg Launcher Released Mathematicians needed to calc "Low Econ Epicness"
Tourneys
[Megathread] Daily Proleagues 2v2v2v2 Tournament Stage 1: Community Poll [IPSL] IPSL Winter 26-27 Ro24 is HERE! [$1250] International ShieldBattery League
Strategy
50,000-Word Terran Builds Memo 2026-10-22 Cliff Jump Revisited (1 in a 1000 strategy) Simple Questions, Simple Answers
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread Deus Ex 3!? Mobile Legends: Bang Bang Armies of Exigo - YesYes?
Dota 2
Dota 2 Champions League Season 3 Begins April 25!
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread The Chess Thread Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread
Fan Clubs
Fan Club Resource Thread Reynor Fan Club The Flash Fan Club
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
Why I built Repalyzer (1.1.…
BlueStar
Innovate or Game Over?
TrAiDoS
ShieldBattery on Mac
Kraekkling
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Can Bots Beat Pros?? Starcr…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 9506 users

2 prog. q's

Blogs > Senff
Post a Reply
Senff
Profile Blog Joined September 2002
United States360 Posts
August 06 2008 01:49 GMT
#1
Well I got two more great questions about programming, so I thought I'd answer them again.

RtS)Night[Mare asked,
"I'd like to get into game programming anywhere in the future. Do you have any advice on what should i focus my attention in? Im still in college btw.

Do you have any good book to recommend to me? Do you think reading books of programming help? (because im more of a "teach me" person rather than to read a book by myself). Also, what languages do you think are worthier for this kind of programming?

About general programming, you said it helps tons to be good at graphics. I've always struggled with this. Do you have any advice here as well?"

I'll answer the last one first: I'm not talking about general programming there. It can help you get a job in the graphics industry. When looking for programming jobs, they're not going to ask if you're good at graphics, unless that's explicitly part of the job that you're applying to.

As for game programming, lately I've been delving into XNA. Namely, it's a free framework for creating games, has a very minimal learning curve (although to do the best stuff it can be a pain), and in general is fun to program with. It is C# code. There are a few books out for it, but more important are the websites that go over the information related to it - you'll learn far more from those. If you wanted to learn a separate system that isn't so babyish (they really do give you a lot of help with stuff in XNA), then I'd suggest DirectX and C++. There's a ton of books out on those, and I don't know any in particular, because I was too lazy to learn DX, and wasn't going to make a game in C++, so no reason to look for them.

Next, fonger asked,
"As a professional, how do you deal with the inevitable (in my case anyway) "but OMG if I abstract this just one more level, think of the possibilities!" and the subsequent torrent of design issues that crop up? This is usually a fast track down the burnout trail for me when I start off on a new project.

Essentially I spend all my time working on a perfect, "elegant" framework that will do all I want and just about inifinity more, and end up burning out before I even start on the application itself.

There are of course exceptions, but I've noticed that any software that actually functions and I end up releasing invariably has awful and unmaintainable code.

So in a nutshell:

1) Do you have - or have you at any point had - trouble with this sort of thing?
2) How did/do you deal with it, and do you still approach a new project with a view to putting it all together in the most elegant way possible?
3) In a professional environment, how often do you have to compromise code integrity to meet a deadline?"

I've never really had much of a problem with this, but I can understand why you might. I do view the project in terms of the most elegance, but I keep one thing in mind: Simple is always the most elegant (assuming it works). When I go to design a system, I ONLY make an abstraction when there is a clear need for it. In terms of refactoring, I constantly refactor in order to keep the code clean - there is only very rarely any time when my functions are not lean and clean. I have never sacrificed quality to meet a deadline. There is a strange reason for this, though. In terms of sheer speed, I can go quite fast sometimes. I recently had to take over a project with less than a week and a half to go on it, and I was able to fully rewrite the garbage that my boss at the time wrote (he no longer works there), and finish my stuff with 3 days to spare for our QA team to test it moderately well.

I've decided to develop a game on this blog. I'll only post snippets of code, but when I make an update, I'll post about it here and you can email me if you want the full code-listing. I'm going to "test-driven design" it to show its powers. It will be written in VC# in Visual Studio 2008, which requires .NET 3.5. If you want more information (such as how to download that and such), you can email me at wolfgangsenff@hotmail.com.

It is text-based for now, but will probably be moved to graphical in the future; I just don't want to bother going that route now. This will be mostly for people who know little about program design, but also complete beginners. However, I do think some more advanced coders can gain insight into different ways to think about modeling systems - I pride myself on my ability to think about things in a way that works really well for designing systems.

Does that sound okay?

*****
Jesus: The Other White Moses
BottleAbuser
Profile Blog Joined December 2007
Korea (South)1888 Posts
August 06 2008 01:52 GMT
#2
This sounds awesome. I know I'm going to be reading this.
Compilers are like boyfriends, you miss a period and they go crazy on you.
Drakill Tannan
Profile Joined July 2008
Mexico13 Posts
Last Edited: 2008-08-06 02:14:48
August 06 2008 02:13 GMT
#3
thank you very much!
edit: this is nightmare, on my brothers account, i forgot he made once :p
Aerox
Profile Blog Joined September 2004
Malaysia1213 Posts
Last Edited: 2008-08-06 02:54:54
August 06 2008 02:38 GMT
#4
Request to bold the questions at least or something for a little better readability. Just highlight the lines and press the big B button.

The game development postings is OK with me. I've already bookmarked this blog.
------------------------
Question:
I am doing my final semester of CS. Well, sort of. I am currently mulling over the decision to go for a programming project or industrial training as my elective. I would finish earlier if I went with the programming project but the catch is that I only have 14 weeks while taking industrial training would require me to stay back for another semester. And yeah, I still have 3 other subjects alongside the elective.

What are your thoughts on this? Do you think the stay back is worth the industrial training or should I just choose PP, finish, graduate, and get out in the real world, earn bigger moolah than being an intern?

Do you think I'd have enough time if I chose to make a 2D game as my programming project? would it be too much work to make the game multiplayer? I wonder if making a MUD would be just fine for a project?

I am obviously trying to get into the game industry.

My skill level would be having gone through a couple of 2D game programming books (WinAPI) but no fully self implemented games of my own yet (which is why I'm considering my first to be my programming project). Main languages are the popular 3 Cs and Java. Do I have enough time?

I haven't picked up DX yet. Trying to start in the next week or so(no matter which elective i choose).
"Eyes in the sky."
AcrossFiveJulys
Profile Blog Joined September 2005
United States3612 Posts
August 06 2008 03:29 GMT
#5
On August 06 2008 11:38 Aerox wrote:
Request to bold the questions at least or something for a little better readability. Just highlight the lines and press the big B button.

The game development postings is OK with me. I've already bookmarked this blog.
------------------------
Question:
I am doing my final semester of CS. Well, sort of. I am currently mulling over the decision to go for a programming project or industrial training as my elective. I would finish earlier if I went with the programming project but the catch is that I only have 14 weeks while taking industrial training would require me to stay back for another semester. And yeah, I still have 3 other subjects alongside the elective.

What are your thoughts on this? Do you think the stay back is worth the industrial training or should I just choose PP, finish, graduate, and get out in the real world, earn bigger moolah than being an intern?

Do you think I'd have enough time if I chose to make a 2D game as my programming project? would it be too much work to make the game multiplayer? I wonder if making a MUD would be just fine for a project?

I am obviously trying to get into the game industry.

My skill level would be having gone through a couple of 2D game programming books (WinAPI) but no fully self implemented games of my own yet (which is why I'm considering my first to be my programming project). Main languages are the popular 3 Cs and Java. Do I have enough time?

I haven't picked up DX yet. Trying to start in the next week or so(no matter which elective i choose).


It's very possible to make a game on your own in a semester. I did it for a programming projects class my 2nd year and it was a lot of fun... there's nothing like coding your own game
goldrush
Profile Blog Joined June 2004
Canada709 Posts
August 06 2008 04:44 GMT
#6
On August 06 2008 10:49 Senff wrote:

I've decided to develop a game on this blog. I'll only post snippets of code, but when I make an update, I'll post about it here and you can email me if you want the full code-listing. I'm going to "test-driven design" it to show its powers. It will be written in VC# in Visual Studio 2008, which requires .NET 3.5. If you want more information (such as how to download that and such), you can email me at wolfgangsenff@hotmail.com.

It is text-based for now, but will probably be moved to graphical in the future; I just don't want to bother going that route now. This will be mostly for people who know little about program design, but also complete beginners. However, I do think some more advanced coders can gain insight into different ways to think about modeling systems - I pride myself on my ability to think about things in a way that works really well for designing systems.

Does that sound okay?


If you go through with this (nothing against you, it's very common for projects to go unfinished), it would be awesome to learn a bit about how to properly design and code a game. In other words, go for it!
ulszz
Profile Blog Joined June 2007
Jamaica1787 Posts
Last Edited: 2008-08-06 04:57:26
August 06 2008 04:56 GMT
#7
this is really helpful. i'll probably have a question in the near future =). i'll be starting my cs degree in a few weeks! i was wondering do you know of a website where you can post code and people review it? i have been making a black jack card counting game and when i finish i was hoping to get my code looked over so i could become aware of bad habits. thanks

oh ya forgot the game is programmed in c++ with allegro, which is a game programming library.
everliving, everfaithful, eversure
Aerox
Profile Blog Joined September 2004
Malaysia1213 Posts
August 06 2008 09:37 GMT
#8
On August 06 2008 12:29 AcrossFiveJulys wrote:
Show nested quote +
On August 06 2008 11:38 Aerox wrote:
Request to bold the questions at least or something for a little better readability. Just highlight the lines and press the big B button.

The game development postings is OK with me. I've already bookmarked this blog.
------------------------
Question:
I am doing my final semester of CS. Well, sort of. I am currently mulling over the decision to go for a programming project or industrial training as my elective. I would finish earlier if I went with the programming project but the catch is that I only have 14 weeks while taking industrial training would require me to stay back for another semester. And yeah, I still have 3 other subjects alongside the elective.

What are your thoughts on this? Do you think the stay back is worth the industrial training or should I just choose PP, finish, graduate, and get out in the real world, earn bigger moolah than being an intern?

Do you think I'd have enough time if I chose to make a 2D game as my programming project? would it be too much work to make the game multiplayer? I wonder if making a MUD would be just fine for a project?

I am obviously trying to get into the game industry.

My skill level would be having gone through a couple of 2D game programming books (WinAPI) but no fully self implemented games of my own yet (which is why I'm considering my first to be my programming project). Main languages are the popular 3 Cs and Java. Do I have enough time?

I haven't picked up DX yet. Trying to start in the next week or so(no matter which elective i choose).


It's very possible to make a game on your own in a semester. I did it for a programming projects class my 2nd year and it was a lot of fun... there's nothing like coding your own game

What kind of game did you code? 2D? 3D? Which framework/library? How many levels? Multiplayer or not?

I guess I may go with the programming project. I just need to estimate what types of games are feasible in a semester.
"Eyes in the sky."
Please log in or register to reply.
Live Events Refresh
Monday Night Weeklies
02:00
#68
RotterdaM435
TaKeTV 148
SteadfastSC56
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
ByuN 753
RotterdaM 435
TKL 140
SteadfastSC 56
BRAT_OK 33
StarCraft: Brood War
Calm 3665
Shuttle 1118
Bisu 947
Mini 378
firebathero 112
Hyuk 87
sorry 61
HiyA 29
Dewaltoss 25
Killer 24
[ Show more ]
Bishop 23
Aegong 18
ToSsGirL 18
Sacsri 12
scan(afreeca) 11
Hm[arnc] 10
yabsab 8
Dota 2
qojqva2459
Cr1tdota1954
BananaSlamJamma345
PGG 237
monkeys_forever197
420jenkins182
Counter-Strike
x6flipin355
Heroes of the Storm
Liquid`Hasu2041
MindelVK14
Other Games
singsing2265
Liquid`RaSZi1612
hiko951
Beastyqt906
ceh9452
Livibee183
tarik_tv168
Liquid`VortiX150
ArmadaUGS143
mouzStarbuck115
Mew2King114
QueenE75
C9.Mang054
Organizations
Counter-Strike
PGL525
Other Games
WardiTV254
StarCraft: Brood War
lovetv 7
[ Show 15 non-featured ]
StarCraft 2
• Adnapsc2 9
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Laughngamez YouTube
• Migwel
StarCraft: Brood War
• HerbMon 42
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 2909
• WagamamaTV679
League of Legends
• Nemesis4219
Other Games
• Shiphtur670
Upcoming Events
Replay Cast
5h 40m
Rogue vs Classic
Patches Events
19h 40m
PiGosaur Cup
1d 7h
Kung Fu Cup
1d 17h
Replay Cast
2 days
The PondCast
2 days
KCM Race Survival
2 days
IntoTheTV X SOOP
4 days
Reynor vs Solar
ByuN vs SHIN
Clem vs MaxPax
herO vs Rogue
WardiTV Invitational
4 days
IPSL
4 days
WorsT vs nOmaD
Dewalt vs andersOn
[ Show More ]
IntoTheTV X SOOP
5 days
WardiTV Invitational
5 days
IPSL
5 days
Azhi_Dahaki vs ggnore13
Double vs WIZARD
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-11-01
Blizzard Classic Cup 2026
HCC Season 3

Ongoing

Acropolis #5
KCM Race Survival 2026 Season 4
International ShieldBattery League
BSL Season 23
IPSL Winter 2026-27
CC Div. A S8
IEM Beijing 2026
PGL Masters Bucharest 2026
Stake Ranked Episode 5
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026

Upcoming

1xBet Invitational
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
BLAST Bounty Winter 2027
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
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 © 2026 TLnet. All Rights Reserved.