Hello. I am new to the website and to uplink itself. I found the game over the internet and have been infatuated with it ever since. This game has so much potential in today's world it makes me mad that there is no network play or even an uplink2. However I was wanting to know, I have the resources to get what I need. I also have a team ready for some major project that would be amazing. What I am wondering is what it exactly does it take to make a game like uplink and make a multi-player version?

Basically I want to know what programming language is necessary to make a game like uplink and then what languages are needed to make the game have network compatibilities.

I can't promise I can get it done fast, or even at all. *the reason I say at all is there seems to be a lot of failed attempts.* but I do think that this games deserves a squeal to it.

So if anyone can tell me what all I need to learn, I will gladly do so *and my team will as well* and we will begin working on something that would at least be plausible.

Oh I am currently learning HTML... my stuff isn't pretty.... but its functional.

Here are some things I do understand.
1. I am a noob because I know almost nothing.
2. It would take a lot of work just to even get a glimpse of being able to something remotely close to uplink.
3. I am not the only one wanting to make a better version
4. I know there are programming "gods" who work on this kind of stuff and I am not even near anything like them

Modelling and system design - the methods required to plan and analyse a project. It may be useful to go as far as learning and using UML and OCL but it depends on your time constraints, size of the project and team size.

System design/development methodologies - software engineering and professional issues (e.g., lifecycles, methods, standardisation). Key to maintaining the integrity and management of a project.

Principles of programming - the techniques, patterns, and idioms of programming which are applicable to any specific type of programming language. From there, you'll be able to design solutions to programming problems before writing code, enabling you to choose the most appropriate language (or implementation technique for a given language) with which to engineer your program.

Thoery of algorithms and data structures - to analyse data structures and algorithms for performance so you can select the appropriate models to fit practical contexts.

Computer graphics and visualisation - to understand visualisation techniques and concepts. Will drastically increase your understanding of APIs like OpenGL or DirectX.

(Google Searching the above titles should turn up relevant books, webpages and university modules. Alternatively, a decent general computer science or software engineering book should provide nice broad coverage of these topics as well as cover some other topics that may or may not provide additional help)

Once you've got that covered, what you do next will pretty much depend on the developmennt methodology you choose but initially you'll need to use your newly aquired skills to:

Generate and document ideas - Have A LOT of well defined ideas. "multiplayer Uplink" is too vague. What exactly would be multiplayer? How would it play? What would it involve? Would it be fun? etc. You need to answer those kinds of questions for each idea.

Plan - LOTS AND LOTS of planning. Planning what you want, how you're going to get it, who is going to do it and when to expect it. Start high level and then break it down into smaller portions.

Pick a programming language and learn it - Asking us to tell you what programming language to use wouldn't be very useful to you unless you plan to use the Uplink Dev CD as a starting point, which is C++ based, as each programming language has advantages and disadvantages so the one best suited to your project is very much based on your goals, aims, ability, preferances and ideas.

Visualise - OpenGL is what the Uplink Dev CD uses, although, if you're starting anew you may want to use something else. Research different graphics libraries and APIs. Find out which is the best for your needs then learn it.

If any of the points above need to be expanded just ask and I'll try my best to point you in the right direction. Good luck.

Uplink help: Check out the Guide or FAQ.
Latest Uplink patch is v1.55.

Wow... That was a lot more than I expected to need to know. However I am not going to get discoruaged. I thank you for the info, it is much appreciated. Hmm.... looks like a trip to the bookstore with debit card in hand.... lots of reading. Would it be advised to split up the reading? I am sort of figuring no due to the fact that all of these are things that will need to be intertwined and it would be inconveintant to not have the one person you need with that bit of info on hand....

Do you know of any books that would be a must?

I don't really know what OCL or the UML is but I figure Google can help with that.
E-books: I know they are free but are they as good as hardback copies?
Also: with the information you gave me, would this be enough to get the game to have network compatibility?

Oh well... I guess I will start reading. Thank you for the info. I will try to keep what I have done updated.

*oh a little side joke..... no wonder why my team and I have always failed at making smaller type games.... we were working backwards. Thinking of what it would do without knowing how to even start. That's funny to me*

Also I started thinking about copyright.... If I make a game similar to uplink... wouldn't that be against the law? I know there is some 30% rule with the copyright but still. I would not want any malfractions on my part.