Interfaces:
a brief introduction to...
screensprites - doesnt move relative to the screen etc. lets you build interface, menu, charselscreen, ... stuff
menu/selection
sprites (foliage, leafs) interaction-less (though in my engine when you move on leafs they will move abit, so at least one thing)
dialogues - the infamous textbox multiline, multichoice, multicolor/sprite textbox
timers - makes it possible to have things happen over time
scripting interface <- big part, it makes your engine feel alive, instead of dead
tilelayers and layers (i dubbed it floors)
bricks - blocks, items, bushes all the stuff that can be manipulated by lift throw push pull or an item action in any combination
NPCs - friendly and not-so-friendly characters and is a big part of the game
Characters:
i can take this one, i have quite alot i want to type out here
get off my chest
retry algo, floatation, flags, jump, mandatory and otherwise
Player:
Items, item levels, equipped items, suits, player (learned/otherwise) abilities
Running through items to reapply abilities once you equip something and so on (zelda games are simple in that regard, but you still have to recurse any ability gains)
The basic zelda gameplay: Lift, throw, push, pull, jump, cliffjumps
--- much to be said, but i dont even know where to begin
Particles:
Yep, can be reflected etc.
Nice with a touch of movement options like sinewave travel ~~~
Mapscrolling:
The mandatory scrolling effects
Alpha-blend-to, ->white, ->black, black->, white->, circular in/out, directional scroll, screen wave (lttp mirror world) etc.
Game programming techniques:
die-ticks: particles die after awhile, its a counter - sprites that work as effects also die after a while, another counter
how to make a simple and final counter
drawing priority
game and interface priority, which comes first and last
ie. should the timers run before the keyboard keys are checked?
action combinations - important because ie.:
* you should be able to run + jump(anylevel) and then when you land you continue to run
* if you hold your shield down and swing, when the swing is complete you should go right back into shielding until/unless the shield button is released
blabla :/
this is how i did it at least
you can probably make bricks, sprites and screensprites one and the same, depends
but they are different entirely, so rightfully they are different interfaces in writing
i write too much i know and i dont know if those are all the interfaces
theres alot to write about, and not alot of time spending on choosing my words