Hi Dave,

being a private pilot and an ATC sim fan myself this is a very
interesting project. Looks like a nice initial concept. Are you going
to share the source code for this somewhere (github, sourceforge, ...)
?

Maybe couple of different types of aircraft and related performace
values. Would add nice flavour when you can't tell a Cessna to
maintain a 2500 fpm climb ;) Or tell a LearJet to slow down to 80 on
the final.

Best of luck with the project and especially your recovery!

Cheers,
Petri


On Mon, Jan 31, 2011 at 12:49 PM, Plastic <plasticu...@gmail.com> wrote:
> So, I have started on my ATC project.
>
> I thought I'd document here my struggles, learning, and how I did it. I'm
> hoping it'll engage other BASIC programmers in discussion, and maybe you
> (yes, YOU!) will help me if you can see me getting stuck. Please remember
> this is primarily an exercise in improving and restoring my mind after a
> bump on the noggin. I'm fighting against some short term memory problems.
>
> I'm using the Mac version 1.0 of Q-Emulator, and SuperBASIC on JS ROMS with
> TK2. I'm writing it to run at standard QL speeds, and to run at a consistent
> speed on faster hardware.
>
> So far, I have written out a table of some of the variables I need, and
> their valid ranges, and how I will auto-generate pseudo-random flight
> numbers, altitudes and speeds for various aircraft profiles.
>
> Next, I will work out a co-ordinate base for a local airport. I have chosen
> Bergstrom because it is local to me, and I know where all the beacons and
> VORs are.
>
> I have decided that there are "hard bits" (it's a technical term) in this
> project for me (I know to some of you, these will be trivial, but to me, the
> solution isn't obvious):
>
> 1. I'll be keeping the aircraft, their altitude, speed, direction, intended
> alt, speed and direction, etc, in a large DIMmed array that can hold 10
> aircraft. Landed or departed aircraft will be removed from the array and any
> newer aircraft will be scrolled up one spot. Like in real life, the oldest
> aircraft is always at the top of the stack. There will be inbound and
> outbound aircraft. Inbound aircraft will be announced and placed at the edge
> of the screen, and outbound aircraft will originate from the runway when
> given flight instructions and clearance to take off. The aircraft must
> always maintain "separation" of 1000 feet altitude and 3 miles horizontally.
> Checking all the aircraft against each other to see if any violate airspace
> of others, or have collided, might be hard to code.
>
> 2. I need to write a command parser to accept input from the user, namely
> instruction for flights. There is a standard way of doing this and I will
> follow this. This means I need to accept input and add it to a stack, then
> when it is "entered" I need to parse it to ensure valid, rational input.
> Once I know it is within bounds, I need to carry out the action, i.e.
> instruct the aircraft to follow the instruction.
>
> 3. I need to write routines for landing aircraft. Once instructed to land, I
> need to detect when they cross the glide-slope, and get them to follow it to
> landing, land, then remove themselves from the stack.
>
> 4. I need to write a "ticker"... No matter the speed of the hardware, the
> game should run at the same speed. This means events should be triggered at
> an interval, complete (even on the slowest hardware) before the next
> interval. This interval should ideally be 1 second, but could be 2 seconds.
> Despite the ticker, the input routines need to continue unaffected.
> Responsiveness of keyboard input is essential.
>
> 5. I need to plot this on a 512x256 screen. I can't let flights go off the
> edge of the screen.
>
> 6. I need to detect valid landings of arrivals and proper exits of
> departures.
>
> 7. I'd like to add an element of realism where planes, including departures,
> can declare emergencies.
>
> Well, those are the "hard bits" I can see up front.
>
> I can foresee earning a little money next week, so maybe a compiler will be
> in my future? I'd prefer an easy compiler over a good compiler. I would also
> love to have an external USB floppy so I could save my stuff somewhere other
> than my OS X HD... Maybe later...
>
> In the mean time, I'll work on this and keep sharing. Hopefully it'll work
> out.
>
> Dave
> _______________________________________________
> QL-Users Mailing List
> http://www.q-v-d.demon.co.uk/smsqe.htm
>
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to