Skip to main content
GameDev.net gamedev.net
🔒 Locked

I'm trying to think of the name for this type of 2D engine...

Started by MarkS_ Dec 14, 2012 at 4:19 AM 6 replies 1.7k views
Original Post
MarkS_
MarkS_
I have an idea for a 2D game engine for platformers and other types of games. However, instead of using tiles that are stuck to a grid system, I want the levels to be composed of objects of varying size, position, rotation and shape. If a tile map is wanted, simply place the objects on a grid.

I've seen this before, but I am at a loss as to what it is or should be called. It isn't a tile map and I have no clue how to word it. I'd like to get started coding, but I need to name the base classes something and again, I'm at a loss. Tile isn't correct. Object has too many meanings. Entity can describe literally anything.

I'm hoping some creative people can come up with something.
Green_Gill
Green_Gill
Disclaimer: I am not a professional, I research, this is based on research, not professional opinion, when someone with more of a clue posts, listen to them not me.

Tiles are still used. Objects are broken into multiple sub-objects each of which is smaller than a tile.
http://www.metanetsoftware.com/technique.html
A tutorial can be found here.

For collision/efficiency purposes, tiles are best. Sure you can just collide everything with everything else, this type of engine is called either a 'kludge' or 'inefficient'. You can also collide linearly, but again, it's less efficient. I also have a design using 'cells' for collision (see matlab), but again, it's less efficient and the cells must be adjusted as objects move).

I think you should look into clip plane algorithms, bounding boxes, etc,

If you want to implement such an engine straight and ignore the tile suggestion, it may possibly be doable with an orthographic camera in Unity3d. Unless you mean vector graphics... which could still be done with polygons and clip-planes (to create tiles from vector graphics).
Krypt0n
Krypt0n
those are simply called 'sprites', so you're creating a 2d sprite engine, but ppl usually just call it 2d-engine. a 2d tile engine is a special version with the grid restriction you've mentioned.

to save yourself some time, I suggest to use some existing editor e.g. http://gleed2d.codeplex.com/
Daaark
Daaark
Call your engine something catchy, not a meaningless implementation detail.
MarkS_
MarkS_

Call your engine something catchy, not a meaningless implementation detail.


Actually, right now I am looking for the meaningless implementation details. A catchy name for the engine will have to come later.

My issue is that I know exactly what to do in a tile engine. A level in a tile engine has a level or world class that holds an array of tile layers and in each tile layer is a 2D array of integers, which are the tile ids for the tiles in the layer. Somewhere in there are the tile images and such. None of those names apply here.


those are simply called 'sprites', so you're creating a 2d sprite engine, but ppl usually just call it 2d-engine. a 2d tile engine is a special version with the grid restriction you've mentioned.
to save yourself some time, I suggest to use some existing editor e.g. http://gleed2d.codeplex.com/


No, not a sprite engine, although there will be sprites. I make a distinction between sprites and level objects. Sprites are reserved for the player, enemies, and other such objects. For instance, in a tank game, a sprite would be the tanks, projectiles, explosions and such, but not the buildings, roads, ground or other objects.
saejox
saejox
You may call it a 'Node'.
Node has a scale, rot, pos and many sprites.
May be even node children of its own.
JTippetts
JTippetts

No, not a sprite engine, although there will be sprites. I make a distinction between sprites and level objects. Sprites are reserved for the player, enemies, and other such objects. For instance, in a tank game, a sprite would be the tanks, projectiles, explosions and such, but not the buildings, roads, ground or other objects.


That's a meaningless distinction, and one that's not quite accurate against the historical context.

For this sort of construction, I have commonly used the terms "sprite map", "sprite layer map", "sorted sprite map", "sorted sprite hash map" and so forth. It's all irrelevant. What you name things in your own code and engine are irrelevant, as long as it is something that people can easily associate with what it is doing. If nothing else, go with the generic old "scene map" terminology. If people understand that yours is a 2D engine, then they will know all they really need to know if you just call it a scene. Name it something and get coding; if you feel like you have to change the name, well that's what search and replace is for.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.