From: | streu |
---|---|
Thread: | new VPA 3.7x released |
Forum: | Talk |
In reply to: | Re: VPA 3.72 released |
Date: | Fri, 2017-12-22 14:21 GMT |
Maybe some computer science student in the 18-20 range can have the time and patience to make one.....
There have been a few to try, producing things like iclient, gwp, xk, jvpc, jvc, ...
There is a fundamental difference between a program of the 8/16-bit era (which VPA and PCC1.x and planets.exe are), and a program of the 32/64-bit era: things your program can do, how to interact with the user and the operating system, etc. For example, VPA just draws pixels to the screen - nowadays programs have to nicely ask the operating systems and await their turn (some operating systems even go as far as to just kill programs that don't behave nicely).
I have often announced that PCC2 core could work as the basis of a VPA-workalike. Well, it doesn't until now. I am currently working on a "next generation" version that could potentially deliver. Just one lesson I have learned during the last 5 years (which the 18-20 year student does not have, and which is not taught in schools): if you have a large project, you have to spend significant effort to make sure you cannot mis-use your own code.
Applied to things like VPA (or PCC1 or PCC2, for that matter): the programmer has to remember that they must load hullspec.dat before loading a turn file, or that they have to draw the map before drawing the starbase panel and if they don't, it does strange things (invented examples). That is all in Alex' (or quapla's, or my) head. It should be in the source code.
That is what makes "porting" VPA hard.
--Stefan