Re: How did they make Sonic?
Posted: Mon Feb 23, 2009 8:19 pm
Yeah, a signed multiplication program is like... 150 lines. I made my first actual game, and it had a title screen, and a non-working menu, and it was 350 lines.
The Next Generation of 2D Roleplaying Games
http://elysianshadows.com/phpBB3/
Yeah, it's not something you would use to write large applications (or even small ones). But it can be good for optimizing certain parts of programs. And once you become fairly proficient in C/C++, it's not a bad idea to learn assembly. You get a good idea of what the compiler is transforming your code into, and it also helps to understand what happens when you make a function call, how arguments are pushed onto the stack, etc.Sure, the syntax and semantics of learning an assembly language is not dificult, but doing anything even remotely useful or nontrivial is horrendous in comparison to a higher level language.
Yeah but what if the animations are running at 3 fps... Or your language doesn't support a function you need, or your gameplay flat out sucks????BlueMonkey5 wrote:See, what I don't get, is whether or not you use assembly, C++ or whatever, that's not going to change the look of the game?? The look of the game comes down to the graphic artist, with the backgrounds, character sprites and animation... right?
And when it comes down to it, no matter what language you use, the compiler is going to convert it all into machine code (the 1s and 0s). BlueMonkey5, you're correct to an extent, that the looks of a game are mostly not dependent on what language you use. But with most modern games, advanced rendering techniques require some technical know-how. But moreso, your programming skills have an impact on the performance of the programs you make. For instance, bitmap images (like all files) are represented by numbers, and as a programmer it is your job to tell the computer what to do with those numbers.eatcomics wrote:Yeah but what if the animations are running at 3 fps... Or your language doesn't support a function you need, or your gameplay flat out sucks????BlueMonkey5 wrote:See, what I don't get, is whether or not you use assembly, C++ or whatever, that's not going to change the look of the game?? The look of the game comes down to the graphic artist, with the backgrounds, character sprites and animation... right?
You get used to it, it seems like a lot to take in at first but eventually you start taking it as it comes....BlueMonkey5 wrote:gotcha... I see what youre gettin at. Man, I don't know how you guys program. Way too much for me
derbon the awesome wrote:if sonic a ramp he jumps into his ball-shaped-thing(ive never played sonic before) in a quarter circle fasion
game logic is confusing
Roflcopter.Netwatcher wrote:derbon the awesome wrote:if sonic a ramp he jumps into his ball-shaped-thing(ive never played sonic before) in a quarter circle fasion
game logic is confusing
this is just a simple animation, from images, it didn't really change it's shape.
No circular transformation ever occured...
They're sort of intimidating you here, talking ONLY about Assembly. It's really low-level, so it takes a good deal of knowledge on how computers actually work to use it. Higher-level languages are more widely used these days for making games, like C++. Even that, though, takes practice to get used to. It's not impossible, but you need to learn your basics before you move on from there.BlueMonkey5 wrote:Wow, that all sounds really confusing, but thank you all for the input. It is very informative, helpful and good to know.
Code: Select all
if ( player.HasItem( FISH ) == true )
{
npc.Say( "Blahblahblah" );
player.GiveItem( TUNA_SALAD );
}
I could tell, haha. Game maker's Object Orientation is insanely lacking compared to C/++'s.I've never used Game Maker language before, but I'm just trying to give a general example. @_@;Code: Select all
Code: Select all if ( player.HasItem( FISH ) == true ) { npc.Say( "Blahblahblah" ); player.GiveItem( TUNA_SALAD ); }
if( obj_player.HasItemFish == true )
{
obj_npc.Say = "Blahblahblahblah";
obj_player.GiveItemFish = true;
obj_player.HasItemFish = false;
}
Code: Select all
If( argument0 <> argument1 ){ argument0 = argument1 }
Code: Select all
var mmm;// define variables (cannot have an assignment operator).
var hmmm;
mmm = 142;// Assign numbers to variables
hmmm = 24421;
MakeEqualScript( mmm, hmmm );//Call your script
Code: Select all
MakeEqualScript( 142, 24421 );//Call your script
Pickzell wrote:Sorry about the double post.
I can't see myself coding in ASM, but if you want to learn C/++ I would strongly recommend learning GML (Game Maker) and Fusion 2 (MMF2).
That's just how I did it.
Well, in MY opinion, in order to be a programmer, you have to be motivated. In order to be motivated you'll have to make a game, which you will be doing in 10 minutes in GML, and 3 weeks in C/++. If you just stay there blitting pictures in SDL, you will slowly lose motivation, and probably stop trying to be a programmer.hurstshifter wrote:Pickzell wrote:Sorry about the double post.
I can't see myself coding in ASM, but if you want to learn C/++ I would strongly recommend learning GML (Game Maker) and Fusion 2 (MMF2).
That's just how I did it.
Hmmm... If I wanted to learn C/++, I would learn C/++, not GML. If you want to start with basic game development GML would be a good idea.