Jump to content

New Space Flight Simulator Project


MAFman

Recommended Posts

I actually thought you were just trolling a whole bunch of people until you posted this. I did not realize you were serious...

Nope, I was dead serious.

- - - Updated - - -

def unity. I'm good in unity

Ok, where do we start? I shared a "project brief" with you on Drive.

Link to comment
Share on other sites

I am interested in tracking the progress of this, not to see how horribly it will fail, but just to see how it's doing as the years pass.

But if not enough effort gets placed into this, you're going to get frustrated and start on other, more interesting projects. This is what happens to me all the time: something happens, I'm not able to work on a project for a few days (homework, etc.), and soon I don't want to work on it anymore.

It's like a chemical reaction: time + knowledge --effort--> code. Watch out for any limiting reactants, and be sure to have plenty of that wonderful catalyst called motivation.


People tend to place others in one of two categories: the "ideas" people who are really just consumers and will always be consumers with a vivid imagination; and the real producers, the "geniuses," the "legends" who really were destined for glory from the very beginning and deserve millions for their excellent work. Humble yourself, but do not act like either one of these two categories in order to avoid trouble.


Coding is hard if you don't have a plan in mind - and on paper. I don't know what the best way to plan a coding project is. There are really a bunch of random bits of ideas floating around in my head that just pop in and out of my conscious realm so I can't really recall all of them once I find a place to write them all down on. And when I do, how do I organize those ideas?

Your circumstances are common: college student, no time for big projects. Many developers disrespect their own human bodies by going to bed at 4am or so to "create" time out of their busy lives. You also don't know how much free time you're going to have in the future - who knows, your professor might either extend that paper to next week (a few hours of free time for any weekday of your choice) or slap on an extra requirement (work your butt off till 11pm).

One solution is to make your roadmap highly flexible and cut out: for example, you can assign your first month (November) to research and commit. Your task is simple but a bit tedious: find out everything you need to know to begin the design process. In my opinion, only small projects can get away without a design process because there is usually only one developer who either has everything in his head or has bits of it written down (like me). But this is a large project, and design is just as important as implementation.

Find out the best language to write this simulator in: C# or C++? If you choose C#, will you add on native libraries through P/Invoke? Make a diagram of Wikipedia articles on aerodynamics you must read about. (I may be sounding angry or impatient to you at this point, but I am not at all. Just trying to help here.) OpenGL or Direct3D? Will you use CMake? What version of Visual Studio? Tabs or spaces? Git or Mercurial? What will this project really cover? What physics engine will you be using? Will you add GPU acceleration? CUDA, OpenCL, or both? What's the best programming pattern/paradigm(s) to utilize for this project? All of these questions you must answer by December, with a final judgment on whether or not you will really carry on with the project.

Okay, so it's 11:30pm on November 30th and you said yes, after writing 4 pages for your essay and 4 more pages for this abysmal phase 0 and you are wondering to yourself why did you say yes why did I agree to working on this stupid project now I have to carry it out to the end or I will look like a laughingstock and get banned from every job 5ever. Nah don't worry about it, there's still phase 1 for December and January.

As said before, phase 1 is your design. You make diagrams and cool stuff. Basically object-oriented programming, but in picture form, down to the structs and specific algorithms. Be sure to include some UI design onto it, but not too much so as to overwhelm you. (I've never done design before, maybe that's why I never finish my projects. Oh well, maybe you'll figure out how to do it in phase 0. After all, it is something to research on :wink:) Again, don't overwhelm yourself with tiny details. Create a rudimentary model, and then chisel it out like a statue. By the end of the phase, however, there should be no uncertainties remaining in the design.

Phase 2 is to find people and refine your design so it sells. People won't want to help you if all you have is "making flight simulator, dunno how to do this. please help" as a design, so make it presentable, coherent, and clear so that when the time comes, you can turn your design into code with only minor issues. That'll be February for you, when everybody's chillin' and the snow is piling up and all your classes keep getting canceled. And if you don't find people, don't feel offended; just move on, and remember, don't advertise stuff like this on Reddit.

Phase 3 is to start coding. It's time to carve out a bigger version of the statue you made in phase 1, with the assistance and motivation of the people you found in phase 2. This would take you the rest of 2016, but always remember keep your code in sizeable, workable chunks so that every part does not just so happen to depend on each other. Divide phase 3 into subphases if you'd like, and remember to make weekly meetings with your team to manage responsibilities and make sure everyone's on track (or figure out why they're not). Space out your deadlines to let you and your team catch up on school, take a breath, and then dive back into the project. Do not burn out. This will set you back for an indefinite period of time (weeks to months). Always find something new to do if you cannot figure something out after a long while. You have a team for a reason: rotate/swap out your team's tasks if needed.

After an arduous summer and yet another lovely autumn, you should have a proof of concept ready to show off. This does not mean everything is done. This means that the 3D engine works and you can do some physics simulations on it. If not, your project needs a reevaluation. This is where all the shoulds, the uncertainties come in: nobody knows how hard you've worked on the project by the end of phase 3, and how much extra time you will need.

Now, I will not go past phase 3, because it would be ridiculous for me to talk about something I've never experienced myself before. If you ever reach that stage, we'll be sure to talk, and naturally you'll turn out to be a much much better coder than I am.

Until then, however, good luck!

EDIT: I see you've decided to go with Unity. Unity is a really nice 3D engine for small games like platformers, but watch out for the pitfalls and roadblocks for the more complex games like yours; otherwise, you will end up with the same limitations as those of KSP.

Edited by longbyte1
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...