• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 16:58
CET 22:58
KST 06:58
  • 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 - 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[ASL20] Finals Preview: Arrival13
Community News
[TLMC] Fall/Winter 2025 Ladder Map Rotation13Weekly Cups (Nov 3-9): Clem Conquers in Canada4SC: Evo Complete - Ranked Ladder OPEN ALPHA8StarCraft, SC2, HotS, WC3, Returning to Blizzcon!45$5,000+ WardiTV 2025 Championship7
StarCraft 2
General
[TLMC] Fall/Winter 2025 Ladder Map Rotation Mech is the composition that needs teleportation t RotterdaM "Serral is the GOAT, and it's not close" RSL Season 3 - RO16 Groups C & D Preview TL.net Map Contest #21: Winners
Tourneys
RSL Revival: Season 3 Sparkling Tuna Cup - Weekly Open Tournament Constellation Cup - Main Event - Stellar Fest Tenacious Turtle Tussle Master Swan Open (Global Bronze-Master 2)
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 500 Fright night Mutation # 499 Chilling Adaptation Mutation # 498 Wheel of Misfortune|Cradle of Death Mutation # 497 Battle Haredened
Brood War
General
FlaSh on: Biggest Problem With SnOw's Playstyle BGH Auto Balance -> http://bghmmr.eu/ What happened to TvZ on Retro? SnOw's ASL S20 Finals Review BW General Discussion
Tourneys
[Megathread] Daily Proleagues Small VOD Thread 2.0 [BSL21] RO32 Group D - Sunday 21:00 CET [BSL21] RO32 Group C - Saturday 21:00 CET
Strategy
PvZ map balance Current Meta Simple Questions, Simple Answers How to stay on top of macro?
Other Games
General Games
Clair Obscur - Expedition 33 Path of Exile Should offensive tower rushing be viable in RTS games? Stormgate/Frost Giant Megathread Nintendo Switch Thread
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
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
US Politics Mega-thread About SC2SEA.COM Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread Canadian Politics Mega-thread
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
Movie Discussion! [Manga] One Piece Anime Discussion Thread Korean Music Discussion Series you have seen recently...
Sports
2024 - 2026 Football Thread Formula 1 Discussion NBA General Discussion MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Dyadica Gospel – a Pulp No…
Hildegard
Coffee x Performance in Espo…
TrAiDoS
Saturation point
Uldridge
DnB/metal remix FFO Mick Go…
ImbaTosS
Reality "theory" prov…
perfectspheres
Customize Sidebar...

Website Feedback

Closed Threads



Active: 2222 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
IPSL
20:00
Ro16 Group A
Dewalt vs WolFix
eOnzErG vs Bonyth
Liquipedia
BSL 21
20:00
ProLeague - RO32 Group D
JDConan vs Semih
Dragon vs Dienmax
Tech vs NewOcean
TerrOr vs Artosis
LiquipediaDiscussion
Online Event
18:00
Coaches Corner 2v2
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nathanias 357
DisKSc2 21
StarCraft: Brood War
ZZZero.O 316
yabsab 11
Dota 2
Pyrionflax216
League of Legends
JimRising 129
Counter-Strike
fl0m1028
allub223
kRYSTAL_95
Super Smash Bros
hungrybox258
Heroes of the Storm
Khaldor251
Other Games
tarik_tv9249
gofns7531
Grubby5487
B2W.Neo631
Beastyqt436
ToD99
Maynarde26
Organizations
Other Games
EGCTV920
gamesdonequick723
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 21 non-featured ]
StarCraft 2
• Hupsaiya 56
• davetesta31
• Adnapsc2 8
• musti20045 6
• LaughNgamezSOOP
• sooper7s
• AfreecaTV YouTube
• intothetv
• Migwel
• Kozan
• IndyKCrew
StarCraft: Brood War
• Airneanach52
• FirePhoenix13
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• masondota2941
• Ler87
League of Legends
• Doublelift2275
Other Games
• imaqtpie1469
• Shiphtur254
Upcoming Events
Replay Cast
1h 2m
Wardi Open
14h 2m
Monday Night Weeklies
19h 2m
Replay Cast
1d 1h
WardiTV Korean Royale
1d 14h
BSL: GosuLeague
1d 23h
The PondCast
2 days
Replay Cast
3 days
RSL Revival
3 days
BSL: GosuLeague
3 days
[ Show More ]
RSL Revival
4 days
WardiTV Korean Royale
4 days
RSL Revival
5 days
WardiTV Korean Royale
5 days
IPSL
5 days
Julia vs Artosis
JDConan vs DragOn
RSL Revival
6 days
Wardi Open
6 days
IPSL
6 days
StRyKeR vs OldBoy
Sziky vs Tarson
Liquipedia Results

Completed

Proleague 2025-11-14
Stellar Fest: Constellation Cup
Eternal Conflict S1

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
YSL S2
BSL Season 21
CSCL: Masked Kings S3
SLON Tour Season 2
RSL Revival: Season 3
META Madness #9
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
BLAST Open Fall 2025

Upcoming

BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter 2026: Closed Qualifier
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 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.