As a quick introduction before getting into the meat of my questions, I'd like to begin by saying I'm by no means a newbie programmer, and I program almost exclusively in C and occasionally some assembly depending on the platform. After tinkering with consoles like the Wii using devkitPPC and the Gameboy Advance among others, I'd like to get to the down-and-dirty of programming my first videogame from scratch, engine and all. I'm sure people will at some point get on my case about not using C++ or some other language, and to stimy this, let's just leave it that I have my reasons for not having a strong desire to use C++. I'm not all against the language itself or anything, but I'd rather not deal with the additional overhead it comes hand-in-hand with, personally.
I have some experience with some of the more low-level concepts after years of poring over the Doom and id Tech 3 source, and I think I have a pretty good idea how I'm going to go about designing the engine in itself and all the memory management stuff (simple 2D sprite-and-tile-based engine, maybe support for scaled/rotated sprites if I find that I am competent enough to implement the feature cleanly), but I'd like a little help on things like libraries and maybe some open-source projects that have been completed in the past.
I concern myself first and foremost, of course, with getting a working model that behaves the way I want it to, but I am also very concerned with how efficient my resulting engine will be. I know this isn't some AAA studio I have with 200 other programmers to write professional, clean, fast code with me, but I'd also like to not end up having to statically link 200MB of libraries with my 4MB game.
My questions, basically, are:
1) Are there any particularly amazing 2D sidescroller engines I could look at the source for, preferably if it was written in C or C++?
2) I'm considering using SDL for my humble project. Can anyone tell me if it'd come with more overhead than it's worth? Is there a lighter-weight library I could use opposed to SDL?
3) I know my ins-and-outs of trig and matrix-multiplication, but the last time I dealt with sprite effects is feeding the Gameboy Advance and SNES arbitrary values that the hardware would deal with for me to modify sprites. Are there any awesome tutorials out there I could use to better understand how to implement sprite scaling and rotation using, say, SDL?
Edited by darkhaven3, 14 December 2012 - 08:08 AM.