Jump to content
  • Advertisement
Sign in to follow this  
kevin10

Creating a server engine

This topic is 2837 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

hello everyone,

I'm very intrested in creating some kind of engine in my server application. Currently I just got a few clases like packet writer/reader, database, file loading, iocp.
which I call my "base" of my server. but some people said that this isn't a very good way to build some kind of server and to focus on writing an engine for your server.

but now comes my question what exactly is such kind of engine? is it just a collection of a few classes which you use in your application or some kind of layer which is between the application and the sockets, database, filesystem ect.

I don't know if it's relevant but i'm using C++.

Thank you very much:)

Share this post


Link to post
Share on other sites
Advertisement
In my opinion, "engine" is a terrible word to describe whatever code you write to help you build a server.
In general, an "engine" is a complete set of integrated game development subsystems. This includes physics, sound, input, graphics, AI, networking, etc.

I suggest that you figure out what it is you want to do, first! Do you want to write a networked game? If so, write a networked game!
Do you want to write code that other people can use to write networked games? Then download existing products that do something similar, and play around with them, to figure out how this could be done. Then make your own spin on it. (Also, you may want to articulate in some detail what's wrong with the existing solutions, first)
Do you want to learn networked game server programming? Don't worry about providing an "engine" or a "framework" or even a "library," because you're learning! Dive into some existing open source project or library, and learn from what already exists.

Personally, I kind-of like the "library" approach. Define some area of functionality you want to provide -- say, transforming data structures to bits in a buffer and back (marshalling), or matchmaking between players and available game sessions based on some various properties -- then implement a library that performs that function. Write sufficient sample code and documentation and tests that other people can actually understand and make use of it. Then find another area of functionality you need, and develop another library -- repeat until you feel you've covered what you need to cover!

Share this post


Link to post
Share on other sites
Thank you for your quick reply:)

It's now a lot clearer. I'll dive into some open source projects and see how those people do the job.

thank you:)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!