Scrolling levels

Hi all sorry if this has already been asked, I did have a search, but does codea allow you to create large levels that you can move around. For example a platformer game like Mario. Or are you restricted to creating static level games?

Codea doesn’t know such things like levels, it gives you more freedom (while at the same time requesting a bit more work from you).
You make a level by placing tiles at their proper positions. You make a scrolling level by placing tiles at their proper positions, where the position is not fixed. It is (conceptually) as easy as that.

If you need some inspiration, look at Notch creating a game for Ludum Dare 22 (lengthy video, observe Notch programming in real time):

http://www.twitch.tv/notch/b/302823358

He writes it in Java, but this shouldn’t bother you. He draws his level by drawing sprites in rows and columns. What the heck, he even writes the sprite rendering routines by hand! As I said, it may be a bit of a work, but you don’t have to be Notch to do it, Codea can already render sprites.

GENERALLY, if you (I mean everybody, you and you and you) are interested in game programming but have no real idea at the moment, I might almost recommend the video above. Notch uses a real minimal toolset and starts off small by rendering a black screen. Yes a black screen, and he even tests it. Then he draws colored lines and tests them. And makes mistakes, corrects them and goes on. Bit by bit ha makes his game. Great.

Codea is generally fast enough to scroll by simply tiling sprites, and being intelligent about culling out tiles that are off-screen.

Having said that, one of the exciting uses of mesh() is to use it to make giant levels with tiled sprites (by setting a per-quad image), then compositing the whole thing with one draw call, so it should be nutty-fast. You’d scroll the level by simply moving the mesh x and y, and it would all follow.

The ground in Plane Crazy is actually a stack of several meshes, each of then hundreds of tiles across, and it still draws very quickly.