mooglegiant's picture

starting 2D game developement

Ok. so technically OpenTK is already the engine, but I started to try and wrap some things to start developing. Really all I have started to do was create a sprite in the loosest sense of the word.

It's a little confusing, but I basically want to create 2d game object that can display different textures, but separate things like co-ordinates to the object, and I think this design might actually work. What do you guys think? I want to keep it simple.

Yes, I am aware of the many 2d game engines out there already, but I really hate all the library dependencies.

Programming.zip316.56 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
iliak's picture


You can have a look at my framework ArcEngine. It's in C# and use OpenTK. I have a project hosted here called Dungeon Eye. If you need inspiration about sprite I can send you my Tile class which act as sprite.


mooglegiant's picture

I have looked at it a little bit. It is very helpful. I am trying to not use the Tao framework at all either, which it looks like you rely on a bit.

iliak's picture

The svn is really out of date, about 8 months I didn't commit. I can send you the source code, or you can wait until I handle how to use use svn :)
Maybe a faster solution is to use Reflector to look inside arcengine.dll.

triton's picture

You can use OpenTK for 2D game development, but maybe it's better you start out with a 2D game development library, instead of using 3D (OpenGL) for rendering 2D.

Check out AgateLib. I've never used it, but it looks good and can use OpenTK for rendering.

mooglegiant's picture

AgateLib is odd. I'd rather just use SDLdotNet, or TaoSDL.

kanato's picture

Really? What's odd about it?

mooglegiant's picture

The whole driver system, it can use OpenTK, or SDL, or whatever. A lot of code I don't see being used. I guess a lack of a good example /demo is what holds be back. Something that really shows how to use textures and whatnot.