what do you need to know before do a side scroller?

Started by
7 comments, last by Sneftel 18 years, 7 months ago
basically i know now all about linked lists, references, pointers uses limitations i know vaguely structures and arrays but how much more before i can seriously consider doing a side scrolling game. at the moment i won't know where to start, i know zero win api, im not familar enough to recognise what needs a class and what don't, so answers please, as i really want to get really stuck into one just need some guidance.
Advertisement
You will need to learn a graphics API. I suggest SDL or Allegro

You also may want to try your skills on a simpler project like tic-tac-toe or tetris first...
Jump on to the SDL bandwagon! Cone3D's tutorials will take you step by step to making a sidescroller.
If you have a month or so to research the low-level stuff before you get super-serious, I think you might appreciate knowing how much time these APIs save you.

Check out the Game Programming Genesis articles by Joseph Farrell on the
Game Programming page.

It's Windows & DirectX only, but it shows you how to do 2d, and he explains everything a lot more thoroughly than most tutorials.
XBox 360 gamertag: templewulf feel free to add me!
that's my next project after i finish my pacman clone ^^

it isn't as easy you think, so i would maybe try pong or tetris first...
Firstly, you need to know how to examine a project and extract a list of requirements from it. For example, you might conclude that your side scrolling game will need:


  • The ability to draw a sidescrolling tile-based world
  • The ability to play sounds and music
  • The ability for the player to control his avatar
  • The ability to control enemy avatars to provide challenge
  • The ability to detect collisions between the player's avatar and the enemy avatars
  • The ability to fire bullets out of the player's avatar
  • The ability to detect collisions between the bullets and the enemy avatars
  • The ability to track and display the player's score and number of lives


Then you can begin breaking each requirement down into smaller pieces. For example, the ability to draw a sidescrolling tile-based world could need:


  • The ability to load tile graphics from disk
  • The ability to load data describing how tiles are laid out to make up the world
  • The ability to draw a single tile
  • The ability to manage the current subsection of the world that is displayed
  • The ability to draw all visible tiles on the screen

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

I have tried several times to make a platformer, giving up realising I needed to know more each time. I'm doing another project and then I might try again but trust me it will make your brain melt if you haven't even made any games or worse haven't used a graphics libary yet.

I think you need to learn how to use somthing like sdl and then start making a simple game (alot simpler than a platformer). I recomend making somthing like snake as its good for linked lists, fairly simple and will teach you about things like the game loop and what not.

Good luck
my biggest worry is learning something like allegro or the several others like sdl and prove irrelevant when move onto the likes of directx and opengl which i wish to aim for but at the moment over my head, whats the best way to go about it, if you undertstand my worries.

i dont want to make a side scoller with minimal programming i want to do it all, and feel the sense of progression into becoming competent at it.
Quote:Original post by dcuk
my biggest worry is learning something like allegro or the several others like sdl and prove irrelevant when move onto the likes of directx and opengl which i wish to aim for but at the moment over my head, whats the best way to go about it, if you undertstand my worries.
Allegro and SDL are sufficient for what you want to do here. In the long run, the extra time to learn SDL and then later learn DirectX (for instance) rather than skipping to DirectX will not be significant. Besides, you'll have an extra datapoint for understanding and comparing APIs, which is never a bad thing.

This topic is closed to new replies.

Advertisement