• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 01:05
CEST 07:05
KST 14:05
  • 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
Team TLMC #5 - Finalists & Open Tournaments0[ASL20] Ro16 Preview Pt2: Turbulence5Classic Games #3: Rogue vs Serral at BlizzCon9[ASL20] Ro16 Preview Pt1: Ascent10Maestros of the Game: Week 1/Play-in Preview12
Community News
Weekly Cups (Sept 8-14): herO & MaxPax split cups3WardiTV TL Team Map Contest #5 Tournaments1SC4ALL $6,000 Open LAN in Philadelphia7Weekly Cups (Sept 1-7): MaxPax rebounds & Clem saga continues29LiuLi Cup - September 2025 Tournaments3
StarCraft 2
General
Team Liquid Map Contest #21 - Presented by Monster Energy #1: Maru - Greatest Players of All Time Weekly Cups (Sept 8-14): herO & MaxPax split cups SpeCial on The Tasteless Podcast Team TLMC #5 - Finalists & Open Tournaments
Tourneys
WardiTV TL Team Map Contest #5 Tournaments Maestros of The Game—$20k event w/ live finals in Paris RSL: Revival, a new crowdfunded tournament series Sparkling Tuna Cup - Weekly Open Tournament SC4ALL $6,000 Open LAN in Philadelphia
Strategy
Custom Maps
External Content
Mutation # 491 Night Drive Mutation # 490 Masters of Midnight Mutation # 489 Bannable Offense Mutation # 488 What Goes Around
Brood War
General
Diplomacy, Cosmonarchy Edition [ASL20] Ro16 Preview Pt2: Turbulence BW General Discussion BGH Auto Balance -> http://bghmmr.eu/ ASL20 General Discussion
Tourneys
[ASL20] Ro16 Group C [ASL20] Ro16 Group D [IPSL] ISPL Season 1 Winter Qualis and Info! Is there English video for group selection for ASL
Strategy
Simple Questions, Simple Answers Muta micro map competition Fighting Spirit mining rates [G] Mineral Boosting
Other Games
General Games
Stormgate/Frost Giant Megathread Path of Exile General RTS Discussion Thread Nintendo Switch Thread Borderlands 3
Dota 2
Official 'what is Dota anymore' discussion LiquidDota to reintegrate into TL.net
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread Russo-Ukrainian War Thread The Big Programming Thread
Fan Clubs
The Happy Fan Club!
Media & Entertainment
Movie Discussion! [Manga] One Piece Anime Discussion Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion MLB/Baseball 2023
World Cup 2022
Tech Support
Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread High temperatures on bridge(s)
TL Community
BarCraft in Tokyo Japan for ASL Season5 Final The Automated Ban List
Blogs
The Personality of a Spender…
TrAiDoS
A very expensive lesson on ma…
Garnet
hello world
radishsoup
Lemme tell you a thing o…
JoinTheRain
RTS Design in Hypercoven
a11
Evil Gacha Games and the…
ffswowsucks
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1210 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
OSC
00:00
Mid Season Playoffs #2
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft: Brood War
soO 93
Noble 50
JulyZerg 28
ajuk12(nOOB) 19
sSak 18
Icarus 10
Bale 9
Dota 2
monkeys_forever536
NeuroSwarm141
Counter-Strike
Stewie2K659
semphis_52
Other Games
summit1g7409
JimRising 643
C9.Mang0368
SortOf133
Maynarde108
Trikslyr42
Organizations
Other Games
gamesdonequick784
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 14 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Diggity6
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Lourlo2139
• Rush1412
• Stunt385
Upcoming Events
Sparkling Tuna Cup
4h 55m
Afreeca Starleague
4h 55m
Light vs Speed
Larva vs Soma
2v2
5h 55m
OSC
7h 55m
PiGosaur Monday
18h 55m
LiuLi Cup
1d 5h
RSL Revival
2 days
Maru vs Reynor
Cure vs TriGGeR
The PondCast
2 days
RSL Revival
3 days
Zoun vs Classic
Korean StarCraft League
3 days
[ Show More ]
BSL Open LAN 2025 - War…
4 days
RSL Revival
4 days
BSL Open LAN 2025 - War…
5 days
RSL Revival
5 days
Online Event
5 days
Wardi Open
6 days
Liquipedia Results

Completed

Proleague 2025-09-10
Chzzk MurlocKing SC1 vs SC2 Cup #2
HCC Europe

Ongoing

BSL 20 Team Wars
KCM Race Survival 2025 Season 3
BSL 21 Points
ASL Season 20
CSL 2025 AUTUMN (S18)
LASL Season 20
RSL Revival: Season 2
Maestros of the Game
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1

Upcoming

2025 Chongqing Offline CUP
BSL World Championship of Poland 2025
IPSL Winter 2025-26
BSL Season 21
SC4ALL: Brood War
BSL 21 Team A
Stellar Fest
SC4ALL: StarCraft II
EC S1
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
MESA Nomadic Masters Fall
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 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.