Hello Neoecs
Well then, you have reached the point that many before you have reached - namely wanting to make a hacking sim in the period of euphoria that follows having played Uplink
Most of those before you did not get much beyond this point, however enthusiastically they announced there soon-to-be-completed super-hacking-simulator, which is part of the reason as to why you are seeing a certain lack of enthusiasm for your project among most of the veterans of this forum
In any case, if you are truly set on this project, then you must, first of all, keep in mind Edison's words: "Success is 10 percent inspiration and 90 percent perspiration." as these words go for software development as well!
Secondly, right now you are probably feeling extremely enthusiastic about this project, feeling that it should take a few weeks at most - experience shows however, that making any software beyond the complexity of, say, a simple calculator, takes time, time, and TIME!
If you are still with me, then let me give you some advice - firstly, read the advice listed by Stewsburntmonkey and ODDin about their insights in the software development process - they made some good points!
In general, you need three basic things to succeed, not counting skill at programming and the patience and dedication to actually complete the project after the first enthusiasm has worn off:
Firstly, you need a basic concept, which you have: You want to make a hacking simulator.
Secondly, you need a solid design - what this means, is that you have to plan how your game is going to be - what can the player do, how does it "work", etc. As you get an idea of how your game is going to work, some ideas for the GUI should emerge from these.
Thirdly, you need to implement your design, eg. you sit down and use those programming skills you mentioned earlier
. This is where your comment about wanting to have something to show comes into the picture - sometimes it is most practically to start by designing the "framework"/skeleton of your application, and then implement this - this means you can test it, and see if it works - if it do, then you go BACK and design some more - perhaps add a few details you skipped earlier - then you implement these, and test your improved game - then you return to design, correct any design-decisions that did not work out, and add some more content - you bounce back and forth in this way until either you are satisfied (not very likely) or decide that you have more important things to do ( much more likely
).
Did this process seem overly complicated and boring to your? If so, well GOOD
Software developers does not spend years and years reading about and perfecting these processes for the fun of it, but because a solid developing process makes it MUCH more likely that they will eventually end up with a piece of software that anyone else will want to use
Programming and adlibbing as you go, usually results in a final product that is buggy, and incoherent, and TERRIBLE to debug WHEN, not IF, bugs are discovered
If you still want to go ahead on this project, well good luck then! Even if you do not eventually succeed, I'm sure you will learn a lot from it. But seriously, software development is hard work - if you read the developer diaries made by Chris, you can get a glimpse of just how much work did go into making Uplink - there are even some early testversions on the collectors disc (and the devCD too, as I recall), which demonstrates the "make the software bit by bit to see if the design holds" principle I mentioned.
Final notes: To Neoecs: I am aware that I did not give you any design suggestions as such, and neither did I mention any features - this is because I think you have to have at least a good grasp of what you want to do with this project - if you have no idea at all of how you wish your game to be, I would advice that you joined an existing project as a coder instead
To everyone else, sorry for the long post, but someone had to do it
- The Eye