Basic 2d game dev resources

Started by mrhaboobi, 07/23/2013, 05:21 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

mrhaboobi

Ok, so im far from being a game developer, yes my every day job is a code monkey but not in teh games space, so im wondering if there are any good online resources that people suggest for getting up to speed with basic 2d game dev, approaches, physics, general stuff that would prove useful, im not really sure where to start to looking for basic concepts, dealing with tile maps, character movement, approached to sprite collision, etc.. im sure this is well trodden ground..
Looking for (MINT ONLY)
US Manual : Magical Chase, Shockman 
US Box : Turrican,  Soldier Blade, New Adventure Island, Neutopia II
Other : Sapphire OBI, Turbo Play Aug/Sept 90, April/May 92, Turbo Edge Spring 90

PC Engine Special Cards : Bomberman User Battle

Alydnes Super Grafx

mrhaboobi

no one have any pointers? bugger :)
Looking for (MINT ONLY)
US Manual : Magical Chase, Shockman 
US Box : Turrican,  Soldier Blade, New Adventure Island, Neutopia II
Other : Sapphire OBI, Turbo Play Aug/Sept 90, April/May 92, Turbo Edge Spring 90

PC Engine Special Cards : Bomberman User Battle

Alydnes Super Grafx

Arkhan Asylum

I thought I posted in here.  My bad.


Look for books geared towards kids.  There's "2D Game Programming for Teens" style books out there cheap.

They're easier to approach and usually come with a ton of things to get you started, more so than "books for grown ups".


You should also check out GameMaker.   It's easy going.
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

mrhaboobi

gameMaker is a platform though?  which hides away some of that stuff?  would like flash scripting etc?  I was looking atusing XNA, or Yaroze or some other C++ / C# language based platform.  The idea for "kids" type books is good though, will look for some of those ;)
Looking for (MINT ONLY)
US Manual : Magical Chase, Shockman 
US Box : Turrican,  Soldier Blade, New Adventure Island, Neutopia II
Other : Sapphire OBI, Turbo Play Aug/Sept 90, April/May 92, Turbo Edge Spring 90

PC Engine Special Cards : Bomberman User Battle

Alydnes Super Grafx


Prime

If you've got no knowledge in game programing it's going to be rough.
Study as much source code you can get your hands on,converting routines into the launguage of your choice is also good practice.

http://www.tonypa.pri.ee/tbw/start.html

Arkhan Asylum

Quote from: Prime on 08/08/2013, 08:56 AMIf you've got no knowledge in game programing it's going to be rough.
Study as much source code you can get your hands on,converting routines into the launguage of your choice is also good practice.

http://www.tonypa.pri.ee/tbw/start.html
Yep.

However,
Forget studying any source code that hasn't been commented well.   If you don't know what you're doing, looking at someone elses undocumented code will just leave you guessing/assuming/confusing yourself.
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

Prime

Quote from: guest on 08/08/2013, 11:49 AM
Quote from: Prime on 08/08/2013, 08:56 AMIf you've got no knowledge in game programing it's going to be rough.
Study as much source code you can get your hands on,converting routines into the launguage of your choice is also good practice.

http://www.tonypa.pri.ee/tbw/start.html
Yep.

However,
Forget studying any source code that hasn't been commented well.   If you don't know what you're doing, looking at someone elses undocumented code will just leave you guessing/assuming/confusing yourself.
Good point unless your an advanced coder deciphering code structure will be immensely difficult.

Arkhan Asylum

Especially if you're looking at assembly.   It'll all look the same.  lol
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

mrhaboobi

want to avoid assembly ;)  im strong in c# .Net etc.. and okish at c++ so they are my languages of choice
Looking for (MINT ONLY)
US Manual : Magical Chase, Shockman 
US Box : Turrican,  Soldier Blade, New Adventure Island, Neutopia II
Other : Sapphire OBI, Turbo Play Aug/Sept 90, April/May 92, Turbo Edge Spring 90

PC Engine Special Cards : Bomberman User Battle

Alydnes Super Grafx

Arkhan Asylum

Well, none of those are an option.

lol.   C is what you get.  It's not even real C.  It's like a busted version of Small C
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

mrhaboobi

well then that just makes it even more fun, actually i use C for Yaroze (PSX) coding, so at least its familiar.
Looking for (MINT ONLY)
US Manual : Magical Chase, Shockman 
US Box : Turrican,  Soldier Blade, New Adventure Island, Neutopia II
Other : Sapphire OBI, Turbo Play Aug/Sept 90, April/May 92, Turbo Edge Spring 90

PC Engine Special Cards : Bomberman User Battle

Alydnes Super Grafx

Prime

#12
Quote from: mrhaboobi on 08/08/2013, 04:10 PMwell then that just makes it even more fun, actually i use C for Yaroze (PSX) coding, so at least its familiar.
#1:
Mrhaboobi:a good programmer recomended game maker but you refused(because you don't want simplistic game engine helping you,problem is you don't have enough game programming structure to do without it).
#2
Mrhaboobi:No assembly(6502)well than forget about learning how everything works completely
which means you need (macros)functions written for you.
#3
Mrhaboobi:The tutorials written for huc game programming are the best i've seen.I'm assuming it's the function calls that confusing you.(if you can't grasp what the old man explained,game programing isn't for you)
#4
Mrhaboobi:Possessing a strong knowledge of a language has 0% what's happing in game programming(alot of newbie coders figure if i learn the language i'll code the most awsomeness,bestest,games ever!!!)
#5
Arkhan Himself can code well in 6502 but has the impression it's for brain damaged coders,i prefer 6502 over C,but reason being it was my first language.
Finite state machines are terrible easy to implement in assembly(i'm in majority here though,as every single coder i've meet prefers C for implementing ai structures)

mrhaboobi

#13
Prime, point 4 is correct, like i was saying, i know HOW to code, i know .Net very well, i know c/C++ ok, i write business applications ( web/desktop/mobile and im a solution architect by day ) what i dont have a concept of is Game algorithms, eg dealing with gravity and velocity when doing mario type physics, or understanding collisions ( other than basic bounding box, though i also understand pixel by pixel, but its expensive, so looking for other things ).    Didnt say HUC tutorials wasn't good, just said im trying to understand more than just whats in the tutorials, i can get characters on screen, i can move them around, i can do basic stuff, its just pulling that together with other common gaming para-dimes that i need a better understanding of.  

The reason i wanted to avoid game maker is that alot of the sort of stuff im interested in understanding is wrapped up and hidden by gamemaker... and as for assembly, i dont have exp with much more than the basics ( decompiling software into assembly every now and then if desperate ), so avoiding that at first where possible.

So please dont just lump me in to the "oh wow im gonna learn C and then make this kick ass game and im 12 years old" crowd, , kinda feels like from your comments that you are, im a coder by day, just in another area, and looking for help to take what i know of the languages i know and apply to games.  Right now i understand and have done the basics with Yaroze ( PSX Dev in C ), and played with XNA ( C# ) and was looking as PSM dev Platform ( c# - psx )..

So other than the huc tutorials, the idea of older 2d Games for kids books are probably a good start to understand character movement, dealing with platforms ( or screen layout with tile based engines ) and collision..

I have time up my sleeve, its more about doing this for my enjoyment, and i enjoy understanding how things work under the hood..

Cheers

Quote from: Prime on 08/08/2013, 07:53 PM
Quote from: mrhaboobi on 08/08/2013, 04:10 PMwell then that just makes it even more fun, actually i use C for Yaroze (PSX) coding, so at least its familiar.
#1:
Mrhaboobi:a good programmer recomended game maker but you refused(because you don't want simplistic game engine helping you,problem is you don't have enough game programming structure to do without it).
#2
Mrhaboobi:No assembly(6502)well than forget about learning how everything works completely
which means you need (macros)functions written for you.
#3
Mrhaboobi:The tutorials written for huc game programming are the best i've seen.I'm assuming it's the function calls that confusing you.(if you can't grasp what the old man explained,game programing isn't for you)
#4
Mrhaboobi:Possessing a strong knowledge of a language has 0% what's happing in game programming(alot of newbie coders figure if i learn the language i'll code the most awsomeness,bestest,games ever!!!)
Looking for (MINT ONLY)
US Manual : Magical Chase, Shockman 
US Box : Turrican,  Soldier Blade, New Adventure Island, Neutopia II
Other : Sapphire OBI, Turbo Play Aug/Sept 90, April/May 92, Turbo Edge Spring 90

PC Engine Special Cards : Bomberman User Battle

Alydnes Super Grafx

Prime

Quote from: mrhaboobi on 08/08/2013, 10:11 PMPrime, point 4 is correct, like i was saying, i know HOW to code, i know .Net very well, i know c/C++ ok, i write business applications ( web/desktop/mobile and im a solution architect by day ) what i dont have a concept of is Game algorithms, eg dealing with gravity and velocity when doing mario type physics, or understanding collisions ( other than basic bounding box, though i also understand pixel by pixel, but its expensive, so looking for other things ).    Didnt say HUC tutorials wasn't good, just said im trying to understand more than just whats in the tutorials, i can get characters on screen, i can move them around, i can do basic stuff, its just pulling that together with other common gaming para-dimes that i need a better understanding of. 

The reason i wanted to avoid game maker is that alot of the sort of stuff im interested in understanding is wrapped up and hidden by gamemaker... and as for assembly, i dont have exp with much more than the basics ( decompiling software into assembly every now and then if desperate ), so avoiding that at first where possible.

So please dont just lump me in to the "oh wow im gonna learn C and then make this kick ass game and im 12 years old" crowd, , kinda feels like from your comments that you are, im a coder by day, just in another area, and looking for help to take what i know of the languages i know and apply to games.  Right now i understand and have done the basics with Yaroze ( PSX Dev in C ), and played with XNA ( C# ) and was looking as PSM dev Platform ( c# - psx )..

So other than the huc tutorials, the idea of older 2d Games for kids books are probably a good start to understand character movement, dealing with platforms ( or screen layout with tile based engines ) and collision..

I have time up my sleeve, its more about doing this for my enjoyment, and i enjoy understanding how things work under the hood..

Cheers

Quote from: Prime on 08/08/2013, 07:53 PM
Quote from: mrhaboobi on 08/08/2013, 04:10 PMwell then that just makes it even more fun, actually i use C for Yaroze (PSX) coding, so at least its familiar. 
#1:
Mrhaboobi:a good programmer recomended game maker but you refused(because you don't want simplistic game engine helping you,problem is you don't have enough game programming structure to do without it).
#2
Mrhaboobi:No assembly(6502)well than forget about learning how everything works completely
which means you need (macros)functions written for you.
#3
Mrhaboobi:The tutorials written for huc game programming are the best i've seen.I'm assuming it's the function calls that confusing you.(if you can't grasp what the old man explained,game programing isn't for you)
#4
Mrhaboobi:Possessing a strong knowledge of a language has 0% what's happing in game programming(alot of newbie coders figure if i learn the language i'll code the most awsomeness,bestest,games ever!!!)
Not completlely sure how to repy,my applogize are first in order(very sorry)
Coming from c64 scene i tend to be sarcastic than others
But all i've said holds true for any beginner coders,though thats not yourself obviously.

OldMan

Quotewhat i dont have a concept of is Game algorithms, eg dealing with gravity and velocity ...
You know how to move a sprite, correct? You add an increment to the current position to get a new position...

So, what if your increment is a variable (as opposed to a constant)? In response to the joystick presses, you update the increment variable, which then gets added to the sprite position. That's how velocity and gravity are usually done (though gravity decrements the increment variable, so you rise less and less)
The other option (which allows for fine tweaking) is to use tables. On this step, add this... works surprisingly well, and is easy to code.

Both of these methods can be quite convincing, especially if you use fixed-point values

Quoteor understanding collisions
Bounding box is simple and quick, especially for squarish sprites. Pixel collision is expensive, but if you understand boolean operations, you can test a whole row of pixels as easily as testing each individual one. The downside is setting up the correct masks.
An interesting alternative to bounding boxes is to use distance measurements. No, you don't -have- to sacrifice cycles to square things either. Comparison of the X and Y differences to a known 'hit distance' can be just as effective.

The real question, though, is how you set the origin of your sprites. From experience, using center-based coordinates works better in many cases, and leads to simpler algorithms. If needed , you can always convert to a corner based origin with a simple add/subtract.

QuoteRight now i understand and have done the basics with Yaroze ( PSX Dev in C ),
Wow. There's one I haven't heard in a while. I played with that for a couple of months, but the way the libraries and such were set up was pretty limiting, iirc. I eventually 'upgraded' to the hacked libraries. I still don't understand the decision behind those wierd fixed point numbers....

QuoteArkhan Himself can code well in 6502 but has the impression it's for brain damaged coders....
Not really. He's from a generation that started with C, so that's more natural to him. He's used to some things being taken care of for him (Adding an int takes 2 adds? And you have to clear the carry first? Why?) What he does have a problem with is the fact that it's more difficult to debug assembler. You usually have to step through it with a debugger, instead of printing values to see what went wrong. That just takes too much time for him :)

[ Just for reference: I started with Basic, then moved to 6809 asembler. When C came out, I learned it - and liked it enough that it's my preference of languages. A full C compiler makes state machines as easy as doing them in assembler. Unfortunately HuC is not a full C compiler. I miss int  (*(move[]))()....or whatever the exact syntax is. I haven't done it in a while :)]

Arkhan Asylum

Truth be told, I didn't mind 6502 on the C64 and Apple II that much at all.  The zero page and indirect indexed indirecty direct addressing is a bit out there, but other then that, it's pretty doable.

The problem with doing 6502 on PCE is that the development tools are a bit lacking.   There sure as shit isn't anything as nice as the final cartridge for it, so it makes doing everything a bit more annoying.

As far as assembly goes, I prefer the z80.  *shrug*.   It's funny too, because I learned that one second.   Having the 6502 load instructions modify flags really pisses me off.  It always has.


Either way though, yes, I started with C++.  Not even C!  So, my roots are there, and it's what I am most comfortable dealing with.


mrhaboobi, if you want to get a decent grasp of 6502 assembly, there are only two books I can recommend.

One is called Assembly Lines.  It's Apple II oriented, but covers 6502 just fine.

The other is "Machine Language for the Commodore 64 and Other Commodore Computers".   It's most commonly referred to as "The Butterfield Book".


Either one of those books (or both) will be the best things you can possibly do to learn how to program assembly. 
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

mrhaboobi

thanks guys for the input.. :)  will check out those books.

Oldrover.  I still like Yaroze, mainly because i played with it so many many years ago, the psyq ( pro ) dev kit is now floating around, so you can actually do alot more than with yaroze if you want .. PSX dev is starting to pick up again..
Looking for (MINT ONLY)
US Manual : Magical Chase, Shockman 
US Box : Turrican,  Soldier Blade, New Adventure Island, Neutopia II
Other : Sapphire OBI, Turbo Play Aug/Sept 90, April/May 92, Turbo Edge Spring 90

PC Engine Special Cards : Bomberman User Battle

Alydnes Super Grafx