1

Hello.
For a long time already, I had an idea to create a game like a real world. But not like the real world, with their countries, etc. Not text, sound, like GTA.
But there are a few questions that I can not solve. Help me please:
1. The client I want to develop on C#. But in which programming language is better to develop a server? I know that C++ is faster than C#, but C++ is difficult. Will it effectively use sockets in C# or Python?
2. What is the best way to implement maps? Create multiple maps for homes, each state, or one large map? And the problem is that I know how to create different steps sounds, but how to create walls, different background sounds in different places, etc? Maybe there is literature on creating maps?
3. How best to store information on the server? In a database or in files?
Thanks in advance!

Thumbs up

2

Hi,
Wait, I thought you were making some muds? Anyhow, If you ask me, don't think twice and jump into python. You can make your websites, muds and anything you wanted to. Not to mention python is probably the easiest language you can use in the world (if someone knows a language which can challenge python in simplicity and other factors, let me know here). If using python, get pygame or pyglet whatever you want. For sound, get sound_lib or libaudioverse and finally, for server and client stuff, use twisted maybe.
Regards,
Amit

Thumbs up

3

For Python 3, there is no good compilation in EXE.

Thumbs up

4

Hi,
Who told you there is not? Let me give you a small advice that I myself learnt: When you are learning programming on your own, google is your best friend. You can find out anything you wanted to with it's capabilities. For example, if you do a google search "how to compile a python file into .exe", you will find that pyinstaller, py2exe and a python compiler called nuidka can be used to make an executable from your python code.
Regards,
Amit

Thumbs up

5

I spoke about Python 3

Thumbs up

6 (edited by Amit 2018-02-15 14:56:27)

Hi,
What I said above works for both python 3 or 2.  I am myself using python 3 and I also have my own game_engine library written by myself. Try to write a hello world program then use a library like pyinstaller to compile it.
Regards,
Amit

Thumbs up

7

yeesh dude, one thing at a time. You'll get nothing done if you flop around like a fish out of water from one project, or one language to the next.

I'm a cat! What's mine is mine, and what's yours is mine to :P XD

Thumbs up

8

Hi Jonikster.
[wow], you might want to slow it down a little. If you don't at least have an idea on how to do these things, you probably need to work on your programming skills a little bit more. First you were studying C# and python for work, now you don't know whether to use C# or python to create your game? You will never get anything done bouncing around like this.

Guitarman.
Playing music and coding, are kinds of real world magic.

Thumbs up +1

9

Guitarman, a big request to you, you are not a programmer, do not answer me. I know that the client is better to develop on C#, but I do not know what is better to use for the server.

Thumbs up

10 (edited by Amit 2018-02-16 14:28:14)

Do you know concepts like object oriented programming and basic problem solving concepts? Perhaps a smaller game like an online board game will be nice for the first project as you will actually release something and learn about coding more.
Regards,
Amit

Thumbs up

11

You can try to develope a server and a client with sockets.
If you wanna use twisted there should be an online game written in python which should give a basic example,  not sure though.
For managing sound you could use sound_lib, pyall, or libaudioverse.

...

Thumbs up

12

Hi Jonikster.
I am a programmer, and unlike you I stick to things instead of bouncing back and forth. I don't have to justify myself to you, but I've been programming for ten years, and I'm guessing that's ten years longer, and a lot more experience than you'll ever have. Don't get mad at me because I told you the truth about how you are, it's not just me, Ethin and others have said the same things to you many times, and it doesn't seem to get through to you. I've known your kind for years, they pretend to know everything, when in reality they know very little about anything. When your kind get confronted about things, they respond cowardly or with anger, which you just did the latter. I dare you to prove me wrong!
When I wrote my earlier post I was trying to be helpful, not rude, but you were rude to me in turn! I'm not going to bother with you anymore, it's a waste of time. Don't ever talk to me again unless you plan on appoligizing!
Have fun constantly struggling through everything.

Guitarman.
Playing music and coding, are kinds of real world magic.

Thumbs up +1

13

@9 that was just uncalled for. You responded with hostility to something that wasn't meant in the same vein.

I'm a cat! What's mine is mine, and what's yours is mine to :P XD

Thumbs up

14

Guitarman, you contradict yourself. At the forum, I saw some simple programming questions from you. If you are a programmer, what programming languages did you work with for 10 years?

Thumbs up

15

And you are a programmer? I think not. You're a dreamer with illusions of grandeur. You can't stick with something long enough to learn it. You also ask questions nonstop and waste everyone else's time and resources, and when they tell you, in a polite manner, you have just ignored it. Now, you've grown defensive and have gotten snappish, well who's fault is it, its not the other developers here.

You probably meet with difficulties and think switching languages will help, it won't. Programming concepts transfer across. Now, to put all my cards on the table, I'm a shit coder, will always be. I dabble with it, mostly in MOO and have made a few things, but I'm not good at it and will never be. That doesn't mean that I can't apply logic to the problem and realize that you will never get anywhere unless you buckle down and learn it, and if you can't learn it, pick another field and start over.

Asking questions is fine, but why should you expect people to be waiting hand and foot on you to come up and say hey, fix my programming issues, or hey, which language should I spend the next 5 seconds trying to learn, deciding I can't do it and then give up and find something else.

People like you always have their head in the clouds and it never works, it never... ever... works. I know people like this who think they can do this and that and this and that and they're so impressed with themselves, when all they're doing is wasting their own time and resources and getting no where, spinning their tires as it were. You're in that trap now, but you can get out if you take a minute to realize what I"m trying to say here. If you want to get angry, fine get angry, but at some point its worth thinking about. Learn to ground yourself in reality and find what's practical, something that is attainable, and do that.

I'm a cat! What's mine is mine, and what's yours is mine to :P XD

Thumbs up +1

16

Hi Jonikster.
No I did not. Sometimes I need help recalling simple things, like syntax spacific stuff, so I ask. I've worked with ruby, python, PHP, HTML, some others. There is nothing wrong with asking for help, if you don't take advantage of that.
I'm guessing your what, still in your teens? I'm a lot older than you, I have a lot more life experience. I've helped many people on this forum, which is very rewarding. What have you done besides asking tons of silly questions?

Guitarman.
Playing music and coding, are kinds of real world magic.

Thumbs up +2

17

Hi Ironcross.
I sent you a PM.

Guitarman.
Playing music and coding, are kinds of real world magic.

Thumbs up

18

ironcross32, no, I'm a programmer, but I'm a web programmer

Thumbs up

19

If asking what language to pick for web programming counts as being a web programmer, I would be an Astronaut.

Thumbs up +1

20

right right?

I'm a cat! What's mine is mine, and what's yours is mine to :P XD

Thumbs up

21

@18
I assume that you then choosed your language for working as a freelance and getting some moneys.
I also assume that you've made your MUD as you wanted to do.

...

Thumbs up

22

jonikster wrote:

Hello.
For a long time already, I had an idea to create a game like a real world. But not like the real world, with their countries, etc. Not text, sound, like GTA.
But there are a few questions that I can not solve. Help me please:
1. The client I want to develop on C#. But in which programming language is better to develop a server? I know that C++ is faster than C#, but C++ is difficult. Will it effectively use sockets in C# or Python?
2. What is the best way to implement maps? Create multiple maps for homes, each state, or one large map? And the problem is that I know how to create different steps sounds, but how to create walls, different background sounds in different places, etc? Maybe there is literature on creating maps?
3. How best to store information on the server? In a database or in files?
Thanks in advance!

Hello Jonikster!
I'll address the points you made:

1 - When developing games for the first time, I don't think it is worthy to decide which language to create your application, simply by their speed. I can't tell about python, but both C++ and C# are capable of using sockets effectively, and the speed gap between them is negligible for this case. Nowadays people are building muds with NodeJS. It doesn't mean you should pick the "flavour of the month" language.
You should pick up a language you are comfortable with, stick with that language and only them you will have results;

2 - It depends on which platform you want to build. Is this a 3D game in unity or a text based one? I don't have much experience with 3D, but in 2D it's usually easier to split your maps into chunks of two or three dimensional arrays and link them together. Even big open world 3d games do something like that, like World of Warcraft.
In the cases of MUDs, you could have only a big array/list of Rooms with x and y positions(and z if you want to simulate depth).
The states you can implement with a finite state machine, and I'm not sure what do you mean by walls;

3- Json is a great format to save your files and it's pretty easy to create a reader/writer in any language to import or export. Creating a database may be overkill, more so if you are using a relational database. Another format is XML, which the .NET framework has a built-in lib for you to use and it's pretty easy as well, though not as readable as a Json can be.

Thumbs up +1

23

If I may, I would recommend aiming a bit smaller. If I am understanding what you want to do here, you want to create a large open world game. That's fine and all. In fact, what I would do is create a design document and just make notes on what you want. Next, write down the things you know how to do, and the things you don't know how to do. From there, create a project that uses what you know how to do, but feel free to add some features that you may not know as well, but are able to research. Do limit this to only a 1 or 2 unknown features, though. Finally, select a language and stick with it. Believe me, I know what it is like to jump from language to language. It is as others have said. It doesn't work out to well. You tend to get nothing done. I think C# should have stuff for both server and client programming. If this the language you want to use, go for it. Just make it a language that you are sure you can learn well.
hth

Thumbs up

24

teach yourself how to teach yourself basically, learn how to learn effectively, and learn how to pose challenges to yourself without overwhelming yourself.

I'm a cat! What's mine is mine, and what's yours is mine to :P XD

Thumbs up