Jump to content
  • Advertisement
Sign in to follow this  
disks86

.net + sdl

This topic is 4807 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

Hey everyone. I haven't posted on here in a while. I believe that last time was about a .net engine well I'm at it again. This time I'm thinking about using .net (probly vb.net) and SDL. I just found out about the .net library for SDL. I have been playing with it and it looks even easier than DirectX. Anyhow my goal is to create a 2d tile based MMORPG. I would like some pointers. I know there are allot of people that know way more about this then I do. First off let me explain why I'm using vb.net because I'm sure I'll get flamed for that. I like the vb.net syntax and it is cross platform via mono. I was thinking that sdl and vb.net would allow me to create a game that was not only cross platform but cross architecture. I know that if I wrote it in c++ I could just modify the code a little and recompile for a different OS but what about the Operating Systems I don’t know about or don’t support? This way any OS that mono & SDL support can play my game. Oh and hardcore c++ people yes I know c++ is faster. Ok now to the nuts and bolts. On my last engine I used a hash table with byte arrays and a memory stream to form a game file cache. My question is would making a game file cache be worth it? I know .net buffers file streams and hash tables have extra overhead because they only take objects as values thus boxing and unboxing happen allot. If I should cache game files how should I do it? Should I just cache tiles in an array or whole files? In my last engine I used a type of collision detection to check for control click events basically gave the mouse a rectangle variable and use intersects with to check it against the clickable objects on screen. Is this the best way to do it or am I showing my ignorance. In my last engine I used flat text files for scripts. I made my own script reader. It was very simple it delimitated lines of code by a hash symbol at the beginning of each new command. What is the best way to do engine scripting? The engine is going to be for an RPG so the script system will get a workout. I also would like to know if making the engine use plug-ins is worth it. How much overhead will I get from using dynamically loaded libraries? What is the best way to use plug-ins? Does anyone know what the packet size limit is for TCP/IP? I want to know how many characters I can fit in one packet. What is the best way to stop hacking? I was thinking about encrypting the data before sending but I don’t want to slow down the code too much. I know there is no one way to stop hacking it requires client and server side prevention systems and even then there is always a way. I also thought about doing a checksum of sorts by loading a file into a byte array adding the values and checking that with the server’s checksum. Would something like that be worth it or no? What about multithreading, should I use it, If so on what parts? What image format should I use? Last time I used PNG. Well that is about all the questions I can think of right now. I will appreciate any constructive comments. Please keep the anti Microsoft/.net flames to a minimum.

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by disks86
I haven't posted on here in a while. I believe that last time was about a .net engine well I'm at it again. This time I'm thinking about using .net (probly vb.net) and SDL. I just found out about the .net library for SDL. I have been playing with it and it looks even easier than DirectX. Anyhow my goal is to create a 2d tile based MMORPG. I would like some pointers. I know there are allot of people that know way more about this then I do. First off let me explain why I'm using vb.net because I'm sure I'll get flamed for that. I like the vb.net syntax and it is cross platform via mono.


SDL.NET is really cool, and I agree that it's very nice for getting a game up and going with minimal hassle. If VB.NET gets the job done and it presents the game in a fashion (speed-wise, graphically, etc) that you're satisfied with, then that's all that matters.

I found the latter portion of your post rather hard to read simply because your lack of paragraphing and your ideas/questions are so vague and lacking in context that it's hard to identify exactly what you mean. Questions like "what's the best way to stop hacking?" are worth volumes upon volumes of answers. The detail and specification you can fit into your questions, the easier it'll be for the folks around here to dish out a comprehensive answer to get you on your way. :)

Share this post


Link to post
Share on other sites
SDL.NET is a great .NET library, capable of being used in Windows, Linux and MAC. It provides an object oriented CLS compliant .NET bindings to SDL. Since it is CLS compliant, you can develop in VB.NET with it.

As for making a tile-based MMORPG, DarkSun Online is supposedly a tile-based MMORPG currently in development using C# and SDL.NET; Discuss.

Your comments about C# being too slow for game development are completely untrue. Arena Wars was the first commercial game in the industry and it was developed using C#. You're looking to work on a 2D game which is much less comprehensive then something in 3D so you shouldn't have to worry, unless you plan on doing extremely cumbersome graphic operations.

You can use System.Assembly objects to deal with plugin creation. There's a great article on the Code Project named Plugin-Ready Application Development, you might want to have a look at it. You will experience absolutely no overhead when dealing with assemblies because the code is already loaded and ready for use.

SDL.NET uses SDL_image for loading images, primarily. It supports BMP, PNM, XPM, LBM, PCX, GIF, JPEG, PNG and TGA image formats. It really doesn't matter which format you choose as long as it works for you.

Sadly, I would have to agree with HopeDagger on this one and say that the way to get better answers is to have better questions. Do some design work on your project and questions will popup on you. Do some research on your own before even asking the questions as you might just find exactly what you're looking for. The best way to learn is trial and error [wink].

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.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!