Hi,
I heard about your engine on the gamedev.net website.
I'm currently searching for engines which I can use in a 2D arcade shooter with multiplayer and physic.
Because I'm a fan of C# and Mono/.Net I want to develop in it. And it would support multiple platforms without a recompiling.
I looked into SDL.Net but it is only a wrapper so it will only support things from SDL and is not very innovative.
So I hope I can find here a innovative and in developing engine.
But I have some questions to you:
1. Is this engine meant to be a 2D, 2D/3D or only 3D engine?
2. Will you continue working on this engine?
-> And how long do you plan to do this?
3. As I understand the license I can use this library in commercial products but any modification on the AgateLib I need to public under the MPL license. I'm correct?
4. I want to support Linux and Windows. So which driver libraries can I use for a commercial product without paying?
I think for graphics it would be AgateOTK.dll with OpenTK library. But what about sound? I can't use fmod because there I need to pay what I don't want. I read the todo list and there was something about SDL support. Will this for sound support?
5. Do you plan only to implement graphic/sound/input parts to the engine or others too like physic/network/AI ?
Hope you have time to answer them.
Thanks in advance ~Agon
1. Is this engine meant to
1. Is this engine meant to be a 2D, 2D/3D or only 3D engine?
At the moment it is entirely 2D only. At some point in the very distant future I will want to add interfaces for vertex buffers and shaders. But don't count on that anytime soon.
If you want to do 3D, you're probably best off to stick to using OpenGL and reference the OpenTK dll's to use them. This will take some experimenting though, because AgateLib is not "3D-safe," meaning it makes assumptions in many places about the projection matrices and stuff. So if you go this route, be sure to push and pop the OpenGL state around your 3D code.
2. Will you continue working on this engine?
-> And how long do you plan to do this?
Yes, I will continue to work on the engine. I'm hoping to do a new version release this fall. I have no plans to quit working on it anytime, but I don't always have a lot of time to work on it, so things progress slowly.
3. As I understand the license I can use this library in commercial products but any modification on the AgateLib I need to public under the MPL license. I'm correct?
That is correct. What I really wanted out of a license was to let people use it however they wanted, but if they make changes to AgateLib, they can't use the name AgateLib. I couldn't find a license which satisfied that without requiring that changes to Agate be released as well. At some point I will look for a license that better matches what I want, but it is a low priority.
4. I want to support Linux and Windows. So which driver libraries can I use for a commercial product without paying?
I think for graphics it would be AgateOTK.dll with OpenTK library. But what about sound? I can't use fmod because there I need to pay what I don't want. I read the todo list and there was something about SDL support. Will this for sound support?
For Windows, you can use AgateMDX for graphics and sound, or AgateOTK for graphics and AgateMDX for sound. Right now the only option for sound in Linux is FMOD. The most recent version of OpenTK has support for OpenAL, so for the next version of AgateLib I will have an OpenAL driver built into AgateOTK.dll. It should also work on Mac OS X. But that's not available yet.
5. Do you plan only to implement graphic/sound/input parts to the engine or others too like physic/network/AI ?
Physics: Maybe eventually. It's a pretty low priority at this point however.
Network: I don't have much experience with writing network games, so I don't have a good idea of what features would be important in designing something like this. .NET already includes the System.Net namespace which contains all the tools for networking, and they are supported on Mono. So anything written for AgateLib would just be an extra layer on top of that. It's probably not something I'll do, unless someone else writes it and contributes it.
AI: Probably not. I think AI implementations tend to be specific to their problem domain. I think writing a framework that would be general enough to be used for very different AI problems would not end up being all that useful. I don't know though.
Also I have planned to implement a skinable GUI, but that won't take place in the near future.
Thanks for fast replay. I
Thanks for fast replay.
I want to make a 2D game, maybe with some 3D effects. So I don't really need 3D.
The Tao framework has bindings for CG (a Shader language) as I know.
Physic: There is already a physic engine written in C# and works under Windows (.Net) and Linux (Mono). Maybe only a layer (driver) is required to implement it. http://code.google.com/p/physics2d/
About the network extension, I thought more about a manager which syncs objects provided by AgateLib between clients and a server or as a p2p network. I have some experience in network programming but not much with game network programming.
AI: Yeah not really necessary. Was only a thought because I have seen it as a part of the Jadengine,
The GUI would really help me. As I know only a port of CEGUI (CEGUI#) exist as a C# GUI for OpenGL.