How did they make Sonic?

Forum for the creative side of the game development process: art, music, storyline, gameplay, concepts, etc. Any sort of relevant discussion is welcome here.

Moderator: PC Supremacists

User avatar
ibly31
Chaos Rift Junior
Chaos Rift Junior
Posts: 312
Joined: Thu Feb 19, 2009 8:47 pm
Current Project: Like... seven different ones
Favorite Gaming Platforms: Xbox 360, Gamecube
Programming Language of Choice: C++, ObjC
Location: New Jersey.

Re: How did they make Sonic?

Post by ibly31 »

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.
Image
Twitter
Website/Tumblr
My Projects

The best thing about UDP jokes is that I don’t care if you get them or not.
User avatar
wtetzner
Chaos Rift Regular
Chaos Rift Regular
Posts: 159
Joined: Wed Feb 18, 2009 6:43 pm
Current Project: waterbear, GBA game + editor
Favorite Gaming Platforms: Game Boy Advance
Programming Language of Choice: OCaml
Location: TX
Contact:

Re: How did they make Sonic?

Post by wtetzner »

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, 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.

The more you understand about the language and the compiler, the better you'll be able to use them.

-Walter
The novice realizes that the difference between code and data is trivial. The expert realizes that all code is data. And the true master realizes that all data is code.
User avatar
BlueMonkey5
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 86
Joined: Fri Feb 20, 2009 12:54 am

Re: How did they make Sonic?

Post by BlueMonkey5 »

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?
User avatar
eatcomics
ES Beta Backer
ES Beta Backer
Posts: 2528
Joined: Sat Mar 08, 2008 7:52 pm
Location: Illinois

Re: How did they make Sonic?

Post by eatcomics »

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?
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????
Image
CC Ricers
Chaos Rift Regular
Chaos Rift Regular
Posts: 120
Joined: Sat Jan 24, 2009 1:36 am
Location: Chicago, IL

Re: How did they make Sonic?

Post by CC Ricers »

eatcomics wrote:
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?
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????
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.
User avatar
BlueMonkey5
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 86
Joined: Fri Feb 20, 2009 12:54 am

Re: How did they make Sonic?

Post by BlueMonkey5 »

gotcha... I see what youre gettin at. Man, I don't know how you guys program. Way too much for me :)
User avatar
eatcomics
ES Beta Backer
ES Beta Backer
Posts: 2528
Joined: Sat Mar 08, 2008 7:52 pm
Location: Illinois

Re: How did they make Sonic?

Post by eatcomics »

BlueMonkey5 wrote:gotcha... I see what youre gettin at. Man, I don't know how you guys program. Way too much for me :)
You get used to it, it seems like a lot to take in at first but eventually you start taking it as it comes.... :lol:
Image
User avatar
ultimatedragoon69
Chaos Rift Regular
Chaos Rift Regular
Posts: 122
Joined: Tue Oct 28, 2008 1:57 pm
Current Project: Pangea's quest (text ~tile~ based rpg)
Favorite Gaming Platforms: Dreamcast, PC, playstation 1, Virtual Boy, Snes
Programming Language of Choice: c++
Contact:

Re: How did they make Sonic?

Post by ultimatedragoon69 »

My philosophy of programming is don't stress out about it and take it in bunches. Don't try to learn everything at once, take your time and let things just sink in. Eventually programming becomes a cake walk and the hard part is the design of your projects. Of course this is my own way of thinking about programming. This could be different for other people.
User avatar
derbon
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 54
Joined: Tue Jun 09, 2009 7:25 pm
Current Project: Big Nasty Enemies
Favorite Gaming Platforms: NES SMS snes PC N64 PS2 Vectrex The Arcade Machine
Programming Language of Choice: C++, Perl
Location: why shud i tell u u mite steal my tv
Contact:

Re: How did they make Sonic?

Post by derbon »

they probably wrote the engine to do that,so 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
i think the best paint program would be microsoft paint + paint.NET+graphics gale + Paint shop Pro 7 + photoshop CS3, it would be called Paint Gale Pro Shop.NET,

http://youtube.com/gonduda
User avatar
Netwatcher
Chaos Rift Junior
Chaos Rift Junior
Posts: 378
Joined: Sun Jun 07, 2009 2:49 am
Current Project: The Awesome Game (Actual title)
Favorite Gaming Platforms: Cabbage, Ground beef
Programming Language of Choice: C++
Location: Rehovot, Israel

Re: How did they make Sonic?

Post by Netwatcher »

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...
"Programmers are the Gods of their tiny worlds. They create something out of nothing. In their command-line universe, they say when it’s sunny and when it rains. And the tiny universe complies."
-Derek Powazek, http://powazek.com/posts/1655

blip.fm DJ profile - http://blip.fm/Noobay
current code project http://sourceforge.net/projects/vulcanengine/
User avatar
Moosader
Game Developer
Game Developer
Posts: 1081
Joined: Wed May 07, 2008 12:29 am
Current Project: Find out at: http://www.youtube.com/coderrach
Favorite Gaming Platforms: PC, NES, SNES, PS2, PS1, DS, PSP, X360, WII
Programming Language of Choice: C++
Location: Kansas City
Contact:

Re: How did they make Sonic?

Post by Moosader »

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...
Roflcopter.
BlueMonkey5 wrote:Wow, that all sounds really confusing, but thank you all for the input. It is very informative, helpful and good to know.
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.

If you want a bit of a taste of code without all the little intricacies that comes with it, you could try GameMaker. It offers a graphical user interface for getting everything set up and creating levels, and then you write scripts with Game Maker's Language, which is similar to C in syntax.
(So like, a lot of it would be graphical, but you'd have to write things like

Code: Select all

if ( player.HasItem( FISH ) == true )
{
   npc.Say( "Blahblahblah" );
   player.GiveItem( TUNA_SALAD );
}
I've never used Game Maker language before, but I'm just trying to give a general example. @_@;
User avatar
Pickzell
Chaos Rift Junior
Chaos Rift Junior
Posts: 233
Joined: Sat May 16, 2009 10:21 am

Re: How did they make Sonic?

Post by Pickzell »

Code: Select all

Code: Select all
    if ( player.HasItem( FISH ) == true )
    {
       npc.Say( "Blahblahblah" );
       player.GiveItem( TUNA_SALAD );
    }
I've never used Game Maker language before, but I'm just trying to give a general example. @_@;
I could tell, haha. Game maker's Object Orientation is insanely lacking compared to C/++'s.
It would probably look like this.
if( obj_player.HasItemFish == true )
{
obj_npc.Say = "Blahblahblahblah";
obj_player.GiveItemFish = true;
obj_player.HasItemFish = false;
}

Game Maker also has things called scripts, which in GML(Game Maker Language) is the equivalent of a C\++ function.
It would like something like this

Code: Select all

If( argument0 <> argument1 ){ argument0 = argument1 }
Which could then be called by typing.
NameOfScript( Define Argument0, Define Argument1 );

So, if the script was named MakeEqualScript

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
It could also be done

Code: Select all

MakeEqualScript( 142, 24421 );//Call your script
I'm an altogether bad-natured Cupid.
User avatar
Pickzell
Chaos Rift Junior
Chaos Rift Junior
Posts: 233
Joined: Sat May 16, 2009 10:21 am

Re: How did they make Sonic?

Post by Pickzell »

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.
I'm an altogether bad-natured Cupid.
User avatar
hurstshifter
ES Beta Backer
ES Beta Backer
Posts: 713
Joined: Mon Jun 08, 2009 8:33 pm
Favorite Gaming Platforms: SNES
Programming Language of Choice: C/++
Location: Boston, MA
Contact:

Re: How did they make Sonic?

Post by hurstshifter »

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.
"Time is an illusion. Lunchtime, doubly so."
http://www.thenerdnight.com
User avatar
Pickzell
Chaos Rift Junior
Chaos Rift Junior
Posts: 233
Joined: Sat May 16, 2009 10:21 am

Re: How did they make Sonic?

Post by Pickzell »

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.
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.
I'm an altogether bad-natured Cupid.
Post Reply