Should I even bother?

Talk about just about anything else that is non-gaming here, but keep it clean
fvgazi
Next-Gen
Posts: 1765
Joined: Fri Jul 24, 2009 7:16 pm
Location: Long Island NY

Should I even bother?

Post by fvgazi »

I'm addicted to working on random projects (especially related to videogames and or music). Lately I've fixed some controllers, worked on restoring game gears, and built an arcade stick.

Now I would like to tackle.... programming!
I've been toying around with the idea of creating an xbox indie game or possibly a game for an older system such as Dreamcast, NES, or SNES. The only problem is I have basically no experience programming. I built some websites like 10 years ago, but haven't done anything since.

Is it going to be a waste of time for me to start learning stuff like JAVA and C# (i'm 25)? How hard is this stuff?

Can anyone point me in the right direction? I've downloaded Visual C# from the XNA website.
[ XBL: downedcity | PSN: biggry | Steam: Merchandise ]
Black Lodge Amplification: http://blacklodgeamps.tumblr.com/
Image
User avatar
MrPopo
Moderator
Posts: 24090
Joined: Tue Aug 26, 2008 1:01 pm
Location: Orange County, CA

Re: Should I even bother?

Post by MrPopo »

fvgazi wrote:I'm addicted to working on random projects (especially related to videogames and or music). Lately I've fixed some controllers, worked on restoring game gears, and built an arcade stick.

Now I would like to tackle.... programming!
I've been toying around with the idea of creating an xbox indie game or possibly a game for an older system such as Dreamcast, NES, or SNES. The only problem is I have basically no experience programming. I built some websites like 10 years ago, but haven't done anything since.

Is it going to be a waste of time for me to start learning stuff like JAVA and C# (i'm 25)? How hard is this stuff?

Can anyone point me in the right direction? I've downloaded Visual C# from the XNA website.

The actual assembly of code? It's not terribly hard (though I'm probably not the best barometer, as I do it for a living). The really difficult thing is the design work. You need to plan out how all the pieces of your application will work before you start writing the actual code. The design is the level just above the actual coding work, and is independent of the language you choose. Then when you write the code you translate the semantic statement "iterate over your list and remove any items with a creation_date newer than one day ago" into whatever language you chose. And that's where the real difficulty of the game development is.

For example, back in junior high I took a two week course on DirectX (specifically it focused on DirectDraw). By the end I had a functioning version of Missile Command. Here's a rough outline of my program flow:

  • Program start: load all the graphical resources from the disc
  • Initial setup of the window
  • Begin the event loop (the next several commands are in this event loop)
  • Check for player input, if input is valid take the appropriate action (quit, begin a player missile launch)
  • Iterate through the list of enemy missiles in flight and update position if enough time has elapsed
  • Iterate through the list of player missiles in flight and update position if enough time has elapsed
  • If a player missile has reached the end point turn it into an explosion
  • Advance all explosions to the next frame as appropriate (or remove)
  • Check for collision with enemy missiles, if so remove enemy missile
  • End event loop
The graphics were incredibly simple. I drew a simple bitmap background once, and the explosions were a series of still frames I created in Paint. A missile was created by drawing a dot every frame (and not refreshing the overall display) and then when a missile was destroyed I would "erase" it by drawing on top of it using dots the same color as the background.

If you want to make a game I'd first recommend you go with Xbox Indie. Stay away from older consoles, as they are developed in Assembly. The NES is pretty well documented, but the chip is incredibly limited (it makes x86 seem amazingly feature rich) and you have to use lots of different tricks to make it do what you want. With Indie you get to use a nice high-level language like C#, which lets you focus on the actual game design. Before you even look into the programming part first start with the very high level game idea. Is it a shmup or a platformer? What will set it apart from other games? If you can come up with an initial hook and start to flesh out the mechanics a bit (again, from a very high level like you might see in a detailed review) you're ready to tackle turning it into a program. To do so pick up a book on Object Oriented Design and a book on Algorithms and Data Structures. The syntax of whatever language you use is the easy part to pick up; what you need is to understand is how to model a large system in a method a computer can understand.

At this point you'll want to start breaking down how the game actually will function. It will probably have a similar outline to what I detailed above, in terms of having an event loop where you continuously process player input and update the state of all the objects in the game world. The tricky part is how all the enemy objects are updated. Missile command is the simplest. You generate an enemy missile with a random start point and a random end point and then just move it X units every time interval. With a game like Raiden, though, it gets much more complicated, as different enemies move in different ways (though all still have an incredibly simple pattern). Once you can plan things out to this degree you'll be good to start learning a language and turning these semantical elements into actual code.

One final thing; hold off on graphics as long as you can. When you initially prototype the game just draw colored boxes (which are pretty trivial to create) and make sure the mechanics work well. At that point you can start doing fancier stuff like transparencies and all the other pieces of graphical sugar. And I'd also recommend you stay away from 3D graphics for your first project, as those are a completely different beast from sprite stuff.
Blizzard Entertainment Software Developer - All comments and views are my own and not representative of the company.
User avatar
RokstaEnSweden
8-bit
Posts: 33
Joined: Sat Apr 11, 2009 4:07 am
Location: Bellingham, WA

Re: Should I even bother?

Post by RokstaEnSweden »

I just have to throw in my few cents because I'm in a similar boat. Just started tinkering around with Python making simple games because I can. My first one, Dice Combat Heroes X, is a fun waste of time and I hope to do more. I have incredibly limited programming experience, so this was a new venture for me, and I gotta say it's pretty rewarding! I am also 25, so take heart!
Playing: Etrian Odyssey III, Final Fantasy III, Parasite Eve
User avatar
Ziggy
Moderator
Posts: 14913
Joined: Mon Jun 09, 2008 5:12 pm
Location: NY

Re: Should I even bother?

Post by Ziggy »

If you wanna mess around with hacking some ROMs, romhacking.net has some good tutorials to get you started.
RyaNtheSlayA
Next-Gen
Posts: 9201
Joined: Fri Mar 14, 2008 4:56 pm
Location: Denver CO, USA

Re: Should I even bother?

Post by RyaNtheSlayA »

The only game's ive made have been in BASIC. Not too hard, made a few small games here and there on rainy days and sleepless nights. I'm particularily proud of my 3D missle command game, although I need to get some good 3D models.
Older. Not wiser.
User avatar
CRTGAMER
Next-Gen
Posts: 11933
Joined: Tue Jan 05, 2010 11:59 am
Location: Southern California

Re: Should I even bother?

Post by CRTGAMER »

Another simple route, won't help in learning programing though.
http://en.wikipedia.org/wiki/Game_Maker

Looks similar to a very old Gamemaker called Klik n Play, anyone try that one?
I made a game inspired by a couple very old Arcade games Blasto and SpaceWars.

Thanks for reminding me of this old game I made years ago.
Well with the help of Klik n Play. SPACE TANKS, Its here:
http://www.racketboy.com/forum/viewtopic.php?t=22784
Image
CRT vs LCD - Hardware Mods - HDAdvance - Custom Controllers - Game Storage - Wii Gamecube and other Guides:
CRTGAMER Guides in Board Guides Index: http://www.racketboy.com/forum/viewtopic.php?p=1109425#p1109425

Image
Image
User avatar
Octopod
Next-Gen
Posts: 2653
Joined: Thu Oct 09, 2008 9:44 am

Re: Should I even bother?

Post by Octopod »

Is the a web site like http://www.w3schools.com/ for programming languages?

That would be p nice.
User avatar
MrPopo
Moderator
Posts: 24090
Joined: Tue Aug 26, 2008 1:01 pm
Location: Orange County, CA

Re: Should I even bother?

Post by MrPopo »

Octopod wrote:Is the a web site like http://www.w3schools.com/ for programming languages?

That would be p nice.

I don't think there's a resource quite as nice as w3 schools. Most programming languages tend to have sites dedicated to describing the various APIs available, but for actually getting started with a language your best bet is to google and see if you hit upon a tutorial website which may or may not be written well.
Blizzard Entertainment Software Developer - All comments and views are my own and not representative of the company.
User avatar
J T
Next-Gen
Posts: 12417
Joined: Wed Mar 25, 2009 6:21 pm
Location: Seattle

Re: Should I even bother?

Post by J T »

I'm more about writing a good story and making pretty pictures, and less about programming. I've always wanted to use a simpler utility like RPG maker or Fighter Maker that takes out a lot of the programming work, so I can focus on the game story. I don't really have the time though, so I have not yet explored these in much depth.

RPG Maker: http://tkool.jp/products/rpgxp/eng/
Fighter Maker: http://www.gamespot.com/ps2/action/figh ... index.html
My contributions to the Racketboy site:
Browser Games ... Free PC Games ... Mixtapes ... Doujin Games ... SotC Poetry
User avatar
Octopod
Next-Gen
Posts: 2653
Joined: Thu Oct 09, 2008 9:44 am

Re: Should I even bother?

Post by Octopod »

I have RPG Maker for the PS1 I have always wanted to mess with but never have. Do people upload games they make with that anywhere?
Post Reply