Final Project Freaking Out

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

lhermann
Posts: 1
Joined: Thu Mar 18, 2010 2:03 am UTC

Final Project Freaking Out

Postby lhermann » Thu Mar 18, 2010 2:45 am UTC

Okay so maybe I'm not freaking out, yet. But I am going to have a month to build a video game from scratch in C# using XNA for my CS1302 course. I will be working with a group, but like any true cynic I'm going ot assume off the bat that they're going to be incompetent retards leaving me to do the brunt of the work (like last semester's project).

My Idea: I'm torn between building a Tower Defense Game or a Mini-RPG.

I've put the most thought into the TD game, but I don't really have a mental grasp on how to make the code clear, concise, eloquent, and functional. Can I have you guys' help for the development process and then again throughout the building stage?

User avatar
Jorpho
Posts: 6279
Joined: Wed Dec 12, 2007 5:31 am UTC
Location: Canada

Re: Final Project Freaking Out

Postby Jorpho » Thu Mar 18, 2010 4:30 am UTC

lhermann wrote:I've put the most thought into the TD game, but I don't really have a mental grasp on how to make the code clear, concise, eloquent, and functional.
Isn't this the point of the course? And doesn't XNA have starter kits for this sort of thing?

What exactly is this project supposed to demonstrate? Are you being evaluated on principles of programming, or of game design? If it's the former, I recommend you forget entirely about making something that might amuse you or anyone else and concentrate on making something functional.

User avatar
just-mark
Posts: 98
Joined: Sun Jul 26, 2009 12:20 am UTC
Location: Aberystwyth
Contact:

Re: Final Project Freaking Out

Postby just-mark » Thu Mar 18, 2010 9:02 am UTC

lhermann wrote:I've put the most thought into the TD game, but I don't really have a mental grasp on how to make the code clear, concise, eloquent, and functional. Can I have you guys' help for the development process and then again throughout the building stage?

I'd say that, assuming the others are fine with it, then doing the one you're more interested in will work out better in the end. I've never used XNA or C# but see if you can sketch a rough design out where components are just black boxes so that you don't have to worry about how they work or the internals. Once it's been scribbled on a bit of paper then you'll start to see what might be wrong or which modules are connecting to parts that don't really make sense and you can think about why, what to change, etc.

tl;dr start with design as vague as possible and add detail later, fixing at each step
Latest Blog Post: Triple-booting a Phoenix Laptop
Blog Homepage: just-mark
Twitter: JustAnotherMark

User avatar
Berengal
Superabacus Mystic of the First Rank
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway
Contact:

Re: Final Project Freaking Out

Postby Berengal » Thu Mar 18, 2010 9:45 am UTC

I second the above, and would like to add that it's a good idea to build something functional at each step. Even if it's just some simple console output that you'll have to remove later, give yourself something to play with at each point. It helps you getting a feel for what you've done and where you are that's a bit more grounded than abstract code which only claim to worth is that you get to compile it.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.

User avatar
Toeofdoom
The (Male) Skeleton Guitarist
Posts: 3446
Joined: Wed Jan 10, 2007 10:06 am UTC
Location: Melbourne, Australia
Contact:

Re: Final Project Freaking Out

Postby Toeofdoom » Fri Mar 19, 2010 5:00 am UTC

I'm going to note that RPGs have staggering amounts of content, so I really hope you mean mini-RPG, or just choose the other option.

Anyway, using XNA and having a month to program a tower defense game ... quite reasonable especially if your teammates can help out and it isn't expected to be massively polished on the gameplay side. I assume you're asking for how to program tower-defense like games specifically, rather than programming well in general? Because if you're asking for a course on being a good programmer in general, it's unlikely anyone will type it up on a forum.

My view of subsystems required for tower defence (yours may differ, you may find it useful to write one out yourself before seeing this or not look at all, it's up to you.):
Spoiler:
Construction system.
- resource system
- Needs to check if anything is already there
- UI is probably a subsystem of this.
- if construction isn't instant, timers.
Combat system.
- if you're planning on large swarms, some optimisation may be required.
AI
- mainly navigation for enemies.
Menu
- both in game and main menu.
Scenario
- Scripting of waves at various times/whatever trigger
- Lose condition.

Basic game main loop. Generally includes these tasks
- get input
- update world
--- includes AI, construction, resources and combat
- render world

(Optional) Networking

My development process generally involves having the entire thing work without specific subsystems implemented - for example, a good start would be to get the main loop going and allow players to construct towers. Then you (or your team) can add subsystems to that and it should flow fairly fast. Most subsystems do affect the game world so encapsulation can be a bit tricky, but it may depend on your specific game idea anyway.
Hawknc wrote:Gotta love our political choices here - you can pick the unionised socially conservative party, or the free-market even more socially conservative party. Oh who to vote for…I don't know, I think I'll just flip a coin and hope it explodes and kills me.

Website

GalstafSofL
Posts: 7
Joined: Wed Apr 29, 2009 8:53 pm UTC

Re: Final Project Freaking Out

Postby GalstafSofL » Thu Apr 01, 2010 4:42 am UTC

Well, in high school I wrote a very simplified/laggy/buggy tower defence game in java alone in about a month. With more people (hopefully), and probably more experience than I had at the time you can definitely pull off a nice looking game. As far as an RPG goes, that would be very complex. Maybe it would be worth doing if you had more time than a month. If you really want to do an RPG though something more like final fantasy tactics might make it a little bit easier, if you can get a capable enough AI to pass the project.

User avatar
Cleverbeans
Posts: 1378
Joined: Wed Mar 26, 2008 1:16 pm UTC

Re: Final Project Freaking Out

Postby Cleverbeans » Thu Apr 01, 2010 4:37 pm UTC

GalstafSofL wrote:As far as an RPG goes, that would be very complex.


Not that complex, RogueLikes are RPGs and you ram one out in a week.
"Labor is prior to, and independent of, capital. Capital is only the fruit of labor, and could never have existed if labor had not first existed. Labor is the superior of capital, and deserves much the higher consideration." - Abraham Lincoln


Return to “Coding”

Who is online

Users browsing this forum: ucim and 7 guests