• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 01:32
CEST 07:32
KST 14:32
  • 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
Serral wins HomeStory Cup 2914Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
SC4ALL II: Brood War - $2500 - Dec 5-64SC4ALL II announced - $10,000 prize pool, Dec 5-63PIG STY FESTIVAL 8.0! (13 - 23 August)8Neeb returns to progaming; rejoins ONSYDE15Weekly Cups (July 20-26): Early returns on 5.0.16b8
StarCraft 2
General
[Personal Project Share] Terran Defense v0.60 August World Ranking: Clem climbs to #2 Daily SC2 Player Grid - feedback wanted Balance hotfix patch 5.0.16b (July 16) Life's Huge Gambling Spree After IEM Katowice 2014
Tourneys
RSL Revival: Season 6 - Qualifiers and Main Event INu's Battles #19 2-Days Event Sparkling Tuna Cup - Weekly Open Tournament SC4ALL II announced - $10,000 prize pool, Dec 5-6 PIG STY FESTIVAL 8.0! (13 - 23 August)
Strategy
[G] Having the right mentality to improve
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
The PondCast: SC2 News & Results Mutation # 537 Hostile Territory Mutation # 536 Railroad Switch Mutation # 535 Assembly of Vengeance
Brood War
General
ASL22 General Discussion BW General Discussion Making an Online Broodwar Manager Game BW Drama: Terror's Debt Incident + C9 disbanding BGH Auto Balance -> http://bghmmr.eu/
Tourneys
SC4ALL II: Brood War - $2500 - Dec 5-6 [Megathread] Daily Proleagues 2v2v2v2 Tournament Escore Tournament - Season 3
Strategy
Simple Questions, Simple Answers Fighting Spirit mining rates Odyssey Mineral Stack Saturation PvT advise for noobs
Other Games
General Games
Stormgate/Frost Giant Megathread ZeroSpace Early Access is Now Live! Nintendo Switch Thread Beyond All Reason Path of Exile
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Power Rank TL Mafia Community Thread NeO.D_StephenKing vs This Guy From 1 Million Dance
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread European Politico-economics QA Mega-thread Artificial Intelligence Thread Things Aren’t Peaceful in Palestine
Fan Clubs
The Scarlett Fan Club The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! Series you have seen recently... [Req][Books] Good Fantasy/SciFi books
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion MLB/Baseball 2023 McBoner: A hockey love story
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Simple Questions Simple Answers FPS when play League Of Legend on laptop
TL Community
Northern Ireland Global Starcraft The Automated Ban List
Blogs
Please support my new stand…
Peanutsc
What is a Gamer?
TrAiDoS
Hello guys!
LIN1s
ASL S22 English Commentary…
namkraft
Poker (part 2)
Nebuchad
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6389 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
Next event in 5h 28m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 233
NeuroSwarm 173
Nina 107
StarCraft: Brood War
Rain 3815
GuemChi 2349
Tasteless 144
sSak 78
Bale 59
Noble 41
Nal_rA 35
ZergMaN 32
Icarus 10
Dota 2
Fuzer 101
canceldota6
League of Legends
JimRising 726
Counter-Strike
summit1g8962
Super Smash Bros
Mew2King128
Other Games
Sick162
Maynarde113
Livibee66
Organizations
Other Games
gamesdonequick783
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 17 non-featured ]
StarCraft 2
• Migwel
• sooper7s
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
StarCraft: Brood War
• RayReign 97
• Azhi_Dahaki11
• ZZZeroYoutube
• STPLYoutube
• BSLYoutube
Dota 2
• lizZardDota2125
League of Legends
• Rush1301
• Lourlo916
• Stunt375
• HappyZerGling74
Upcoming Events
WardiTV Weekly
5h 28m
Sparkling Tuna Cup
1d 4h
INu's Battles
1d 5h
Percival vs Zoun
Cure vs Rogue
ByuN vs Classic
Clem vs NightMare
PiGosaur Cup
1d 18h
Replay Cast
2 days
Kung Fu Cup
2 days
Replay Cast
2 days
The PondCast
3 days
INu's Battles
3 days
Replay Cast
3 days
[ Show More ]
IntoTheTV X SOOP
4 days
RSL Revival
5 days
RSL Revival
6 days
Liquipedia Results

Completed

ASL Season 22: Qualifier #2
CranK Gathers Season 4: BW vs SC2 Team League
Eternal Conflict S2 Finale

Ongoing

KCM Race Survival 2026 Season 3
K-JUNGMAN
RSL Revival: Season 6
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026

Upcoming

Acropolis #5
Escore Tournament S3: W6
Escore Tournament S3: W7
CSLAN 4
ASL Season 22
Escore Tournament S3: W8
Acropolis #5 - TRS
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
PiG Sty Festival 8.0
Thunderpick World Champ.
ESL Pro League Season 24
Stake Ranked Episode 4
Logitech G Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 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.