Register
Email: Password:
Forum » Multrium; an open source project to bring co-op multiplayer to Notrium

Multrium; an open source project to bring co-op multiplayer to Notrium

ZeroBits 1 year ago
Hullo, I'm ZeroBits, and a while back, I discovered OpenNotrium, as soon as I figured out Notrium had been open-sourced, I thoughts were "Why isn't anyone working on a Multiplayer mod?" which was followed shortly by "I should make a Multiplayer mod!" so I cloned OpenNotrium, and started looking through the source code, Notrium looks like it was made with C++ which I don't know, so I shelved the project.

Today, I happened upon the github page I put up earlier, and thought "I think I should do something with this, would be a shame if such a great project came to it's end simply because I don't know C++"

So here we are. you guys are all great people, and I need your help to get this project off the ground while I learn C++

here's the GitHub page; github/Multrium

and the subreddit, for discussion, and planning; /r/Multrium

EDIT; after some consideration, I've decided to postpone this until OpenNotrium is at 1.0

Edited 1 year ago
#
Guest2015997 (guest) 1 year ago
ZeroBits said:
I need your help to get this project off the ground while I learn C++
To learn a programming language is not as like as to learn to brush the toilet after you take a shit.
#
E_net4 1 year ago
Well, it's great to see someone motivated to enhancing the game. However, as one of the folks who has been contributing to OpenNotrium, I wish to point out a few things:

- The OpenNotrium project emerged initially as a port (from a Windows-specific environment with the Grim engine, to platform independent code with SDL), and some of the issues haven't quite been worked out yet. Sure it is playable, but we wish to solve them before introducing overhauling features, such as multiplayer. Hopefully, we'll manage to the v1.0 milestone this year or the next, although we have no time constraints at all. This is a hobby project for all contributors, after all, and we all have our priorities.

- You did say you're just learning C++. Have you looked deeper into the OpenNotrium code? Maybe you didn't notice this, but the main source file is quite messy! Attempting to introduce such extreme features into what we currently have, with the additional factor that you are still learning C++, will most likely bring more terrible code or simply discourage you from completing the project.

To conclude, here's my good piece of advice on you: instead of thinking into making Notrium multiplayer right now, join us on the main development, mutually helping both your C++ skills and achieving OpenNotrium v1.0.

I'll be also ignoring the previous post. It's better that way.

Edited 6 months ago
#
ville 1 year ago
On the other hand, if there's programming in you, the best way to bring it out is to work on something real, not just tutorials. You might make some messy code, but you might learn plenty on the way.

On the other hand, concentrating all effort on a single good version would be best for the game overall.
#
E_net4 1 year ago
ville said:
On the other hand, concentrating all effort on a single good version would be best for the game overall.
Absolutely! Multiplayer doesn't go immediately out of question, but we should have something stable and usable first.
#
ZeroBits 1 year ago
After taking your comments into consideration, I've decided that it is indeed best to wait until OpenNotrium is finished before doing much with the project, which will give me some time to learn C++ and familiarize myself with the code, and hopefully C++ isn't too different from C# or Python.
#
MageKing17 1 year ago
ZeroBits said:
After taking your comments into consideration, I've decided that it is indeed best to wait until OpenNotrium is finished before doing much with the project, which will give me some time to learn C++ and familiarize myself with the code,
It will. Nothing is better for learning a language then jumping into a project you're enthusiastic about and helping.

ZeroBits said:
and hopefully C++ isn't too different from C# or Python.
Your hopes will be dashed there. C++ is very different from C# and Python. C# is obviously a little closer than Python, but I find that C# is really more comparable to Java than to C++.
#
ZeroBits 1 year ago
MageKing17 said:

Your hopes will be dashed there. C++ is very different from C# and Python. C# is obviously a little closer than Python, but I find that C# is really more comparable to Java than to C++.

That won't stop me, if it's a programming language, I can learn it, but it'll take a little longer.
#
E_net4 1 year ago
Well, hop right in. You should also try to compile and run the project if you haven't yet.
#
Freshairkaboom (guest) 1 year ago
Can someone tell me what you are working on and how I can help? I want to learn C++ too
#
E_net4 1 year ago
Freshairkaboom (guest) said:
Can someone tell me what you are working on and how I can help? I want to learn C++ too
If learning C++ is your real intent, there are plenty of sources for that. I cannot recommend OpenNotrium for that, but only as an incentive to keep on learning so as to eventually contribute to the project.

It troubles me that some people are now thinking they can learn C++ with OpenNotrium. This is not quite the case, folks.
#
Amarth 1 year ago
You can't learn C++ from diving straight into OpenNotrium, same as you cannot learn English by starting to read Shakespeare or trying to write a book.

(Please note that I don't think OpenNotrium can be compared to Shakespeare. Shakespeare doesn't have enough aliens)

However, if you have a grasp of basic things, you will learn a lot by experimenting with a real project, and I think OpenNotrium is pretty okay for that. The code isn't super clean, so don't think that what we do is the way to do it on all you projects from now on, but apart from that, it's probably in better condition than many other potential learning projects.

Git and Github made it really easy to collaborate and learn. Because we work pull-request based, you can't mess anything up, and we will be able to talk about the code.

Personal story time: I don't know much about C++, to be honest. I'm learning a lot from E_net4 and the reality of trying to get things working. I ask silly things about probably basic things, and he offers his point of view, and I learn. It's sometimes frustrating, but then it's really cool when it eventually all clicks together.

So if you know your way around Github and pull requests and issues etc, you can jump right in: https://github.com/verhoevenv/OpenNotrium

However, I guess it can be quite the barrier if you don't know github best practices. If you have any questions, I set up a public chat room about the project: https://gitter.im/verhoevenv/OpenNotrium. It's persistent and everything (which is why I'm not using IRC), so that means I might not answer immediately, but I will definitely see your message and try to help you. Or you can ask around on these boards, someone is bound to show up and help you around.

Good luck!
#
E_net4 1 year ago
I personally learned a bit more with Amarth as well, regarding the use of Git without messing things up too much. So I guess working on OpenNotrium has even helped us as somewhat capable programmers.
Edited 1 year ago
#
Vacuus 1 year ago
Hey there,

As someone who started their programming / C++ journey in a similar fashion back on monkkonen.net many (10?) years ago I thought I'd drop in with some further advice.

Disclaimer - I don't do much C/C++ anymore beyond some stuff on various ARM platforms in my spare time (of which I have none), we are a Windows shop at work so my day job involves heavy use of the .net stack when I'm not managing projects.

It's great to be motivated about your projects, but the reality is that when starting out it can be hard to get a sense of scale - you're putting a lot of pressure on yourself there to both learn a new language AND modify an existing project AND implement something as complex as networking in a new platform.

I mean -- that's a lot of work, right? Networking is incredibly complex and incredibly difficult to do properly, particularly at the low-ish level that is C++ - I worked on a number of indie MMO's in the early days and without having an in depth understanding of the platform and your environment you're probably going to have a bad time.

What the other are saying about contributing via GitHub is definitely the easiest way to learn things these days; just be conscious of the size of the chunks you're biting off - start with small, discrete tasks that you can knock over quickly and get some feedback on. I've found that issue registers are a good place to start generally.

As you're drawing parallels between Python, C# and C++ (there are BIG differences between them all) - it might be worth doing a deep dive into some of the internals so that you can improve your understanding of the lower level concepts as well. There's a difference between being able to write some code and understanding why it should / should not be written that way.

Hopefully that helps - I went through a large number of failed projects earlier on for similar reasons, programming is something that takes a long time (years) to get your head around fully.

I will also reserve judgement/comment on the 17k lines in WinMain.cpp

#
E_net4 1 year ago
Vacuus said:
It's great to be motivated about your projects, but the reality is that when starting out it can be hard to get a sense of scale - you're putting a lot of pressure on yourself there to both learn a new language AND modify an existing project AND implement something as complex as networking in a new platform.

I mean -- that's a lot of work, right? Networking is incredibly complex and incredibly difficult to do properly, particularly at the low-ish level that is C++ - I worked on a number of indie MMO's in the early days and without having an in depth understanding of the platform and your environment you're probably going to have a bad time.

What the other are saying about contributing via GitHub is definitely the easiest way to learn things these days; just be conscious of the size of the chunks you're biting off - start with small, discrete tasks that you can knock over quickly and get some feedback on. I've found that issue registers are a good place to start generally.
Just that! Thanks for leaving your advice.

Vacuus said:
Hopefully that helps - I went through a large number of failed projects earlier on for similar reasons, programming is something that takes a long time (years) to get your head around fully.
Well, OpenNotrium hasn't gone that much further since it was put on GitHub, for reasons already mentioned.

Vacuus said:
I will also reserve judgement/comment on the 17k lines in WinMain.cpp
A man can dream of the day no WinMain.cpp will haunt us henceforth.

Edited 1 year ago
#
Forum » Multrium; an open source project to bring co-op multiplayer to Notrium

Post Reply


Your email:
Your name: