NetGore is a free, open-source multiplayer 2d game engine written in C#. The primary focus is for RPGs (both top-down and sidescrollers), but other game types will work as well. It has been in development for many years and spans over half a million lines of code and comments, and provides for you most all of the fundamental components and features to make an online RPG.

Originally, NetGore was developed to be fast, flexible, and powerful, and have a target audience of more serious game developers not afraid of a larger learning curve and writing code. This proved to result in a very small user base. Recently, the focus has shifted to instead focus on easier ramp-up and faster game development while still leaving all the advanced features in there for those who want to use them. This continues to be the goal of the engine going forward.

NetGore is considered to be "complete". There is always stuff that can be improved and custom features that can be added, but all the important stuff is there and things are quite stable.


This is just a very brief list of some of the features in NetGore.

Advanced Graphics: Along with the basics like scaling, coloring, and rotating sprites, NetGore also supports dynamic lights, shader effects (e.g. for animated water that reflects and refracts), and a particle engine.

Performance: NetGore is designed to be fast and low bandwidth, especially on the server side, to allow for good scaling on a low-cost server. Just make sure you build for Release instead of Debug if you want to see the real performance.

Fundamental Game Features: Most all of the fundamental parts of any game are already implemented in NetGore: chatting, items, shops, guilds, instanced maps, groups/parties, skills, spells, status effects, trading, etc. A lot of the work is already done for you, and more features continue to get added all the time.

Large Framework: A huge amount of work and code have been put into the core engine to make it easier for you to expand on your game. You will be very happy this is all here when you start implementing your own features.

Want to know more? See the extended feature list.


Keep in mind NetGore can be altered by anyone to make any kind of game. With that said, you are best off if you stick with the intended purposes of the engine.

Perspective: 2d games, both side-scroller and top-down. Isometric is possible with additional code work and has been done by some users, but not currently not support out-of-box.

Genre: The focus is on real-time RPGs able to handle moderate latency (lag). A fast-paced high-precision shooter isn't recommended, but moderate-pace shooters are still fine. Multiple users have made turn-based combat as well.

Commitment: There is quite a bit of a learning curve to use NetGore, so don't expect to whip out a decent game in just a few days. But once you get familiar with NetGore, development will become much easier and quicker. This applies to any game, but is especially true for multiplayer games.

Programming: You can get away without writing any code, but you will end up with a quite unoriginal game. However, prior coding experience isn't mandatory. All the basics are given to you, you just have to tweak it until you get the results you want. If you show great effort on all other parts of your game (design, graphics, mapping, website, etc), you can probably even find someone willing to do the coding for you. Spodi (NetGore's creator) frequently helps people out with the coding on their project as long as they show dedication and progress with the rest (graphics, game content, game design plan, etc).

System Requirements: The system requirements should be relatively low and able to support any mid-range and low-end PCs. Windows is recommended and required for the editor. The server can run on Linux, and with a little work, so can the client. The game client is always a stand-alone application - sorry, browser-embedded client.

World Size: Each world is run on a single server, so MMO-scale games are not possible without a lot of work. But the server should be able to support more users than anyone will ever be able to reach. Maps can be variable size, but become less efficient at larger sizes (large being greater than, say, 32,000 pixels in both dimensions). There is no native support for huge seamless maps, but you can have as many individual maps as you like.

As long as you are making a 2d online RPG, NetGore should work fine for you. If you want more information, feel free to ask on the forums.

Do not worry about licensing. You are free to do whatever you want with NetGore.