nident on 7/11/2007 at 11:46
If "calling a whole bunch of subroutines" is a way "to do things so quickly that they APPEAR to be happening simultaneously", ZB is the most pleasant and knowledgeable poster on this forum.
Edit: Anyway, this whole thread should stick to the topic of OPDE - even though it was amusing to find out that ZB is willing to make bold statements even when he has zero factual knowledge.
OrbWeaver on 7/11/2007 at 11:52
Quote Posted by nident
If "calling a whole bunch of subroutines" is a way "to do things so quickly that they APPEAR to be happening simultaneously", ZB is the most pleasant and knowledgeable poster on this forum.
Well I won't comment on whether he is pleasant, but there is nothing technically wrong with that statement. If you can't (or don't want to) use multi-threading in an application, you can easily simulate parallelism by switching between tasks rapidly.
For example, a media player can give the impression of simultaneously playing both video and audio by decoding a chunk of audio, sending it to the sound card, decoding a chunk of video, sending it to the screen and repeating. I'm pretty sure that MPlayer uses this approach, rather than threads.
nident on 7/11/2007 at 12:17
If you read the discussion, you notice that ZB claims that it is harder or impossible to reverse-engineer the Dark Engine because subroutines execute "simultaneously" or "effectively simultaneously" (or whatever), which is obviously not the case. How users perceive the game - obviously - doesn't matter at all. If anything, subroutines can make it slightly easier to reverse-engineer. Now, ZB is not the first programmer that I encounter that believes that placing instructions in subroutines somehow magically makes them execute in a different manner than they would if they instead were placed one after another in an (admittedly messy) main loop. There are plenty of programmers that don't really know what their code actually does even though they get the desired results. But all this has been sufficiently covered in the discussion that took place in the first few pages of this thread and anybody that is still interested and doesn't understand all of it, is better of reading a book on programming. So let's get back on topic.
Volca is doing a fantastic job and hopefully version 1.0 of OPDE will eventually see the light of day.
sparhawk on 7/11/2007 at 13:08
Quote Posted by nident
That's beyond hilarious.
What part exactly is the hilarious bit? :confused:
OrbWeaver on 7/11/2007 at 13:20
Quote Posted by sparhawk
What part exactly is the hilarious bit? :confused:
I think it's the part where nident reads something into ZB's comment that was never said, specifically this:
Quote Posted by nident
Now, ZB is not the first programmer that I encounter that believes that placing instructions in subroutines somehow magically makes them execute in a different manner than they would if they instead were placed one after another in an (admittedly messy) main loop.
The point was that simultaneous behaviour can be simulated by rapidly interleaving small tasks, which it can. Whether these tasks are contained within subroutines or as blocks of code in a huge main loop has nothing to do with it, and I see no evidence that ZB suggested otherwise.
inselaffe on 8/11/2007 at 17:11
If you use synchronisation and locking and then put them in the same method / function then that does make a difference actually. You are "in effect" as near as possible going to get the changes done "simultaneously". Yes, they are not done at the same time, but if you do it like this, no threads or anything else can change those variables (or even read them depending on how you do it).
I don't see the need to get all pedanty wanky over it.
Kerrle on 10/11/2007 at 02:04
Quote Posted by Volca
You're right sparhawk....Will some VM be able to run the old games smoothly any time soon?.
Actually, while I totally support your work and look forward to this as a Linux user, Thief I & II can already be run under a few VMs. Parallels and VMWare Fusion can already run them, and Parallels at least will be updating their code base so that all their platforms (Mac, Linux, and Windows) will all be able to shortly. Really, for any DX8.1 or lower game, virtualization is quite possible. It's when you get into games with shader support that it becomes problematic.
New Horizon on 10/11/2007 at 04:41
Quote Posted by Kerrle
Actually, while I totally support your work and look forward to this as a Linux user, Thief I & II can already be run under a few VMs. Parallels and VMWare Fusion can already run them, and Parallels at least will be updating their code base so that all their platforms (Mac, Linux, and Windows) will all be able to shortly. Really, for any DX8.1 or lower game, virtualization is quite possible. It's when you get into games with shader support that it becomes problematic.
True, but TDM won't need any of that. It runs natively on linux, and eventually Mac too.
Kerrle on 10/11/2007 at 07:30
Sure, and I'm glad for the native support. I was just commenting on the state of virtualization.
I think a lot of people don't realize the strides it's made recently, with processor extensions that allow for almost full speed virtual machines, and several groups pursuing 3D support in virtual environments. Already there is virtualized openGL support for Linux good enough to allow guest OSs to play UT2003 at very reasonable speeds, and several commercial entities have working Direct3D virtualization, even when the host OS doesn't support Direct3D.
The seamless desktop is cool, too - already in Linux, using only free software, I can virtualize a Vista install and have Vista and Linux windows on the same desktop: (
http://conan.shackspace.com/Ubuntu-Vista.png)
Sorry to turn the thread off into another direction, even with virtualization, native apps are best, and I'm still very interested in OpenDarkEngine...I just didn't want to see virtualization dismissed unnecessarily.
New Horizon on 10/11/2007 at 15:43
Quote Posted by Kerrle
Sure, and I'm glad for the native support. I was just commenting on the state of virtualization.
I think a lot of people don't realize the strides it's made recently, with processor extensions that allow for almost full speed virtual machines, and several groups pursuing 3D support in virtual environments. Already there is virtualized openGL support for Linux good enough to allow guest OSs to play UT2003 at very reasonable speeds, and several commercial entities have working Direct3D virtualization, even when the host OS doesn't support Direct3D.
The seamless desktop is cool, too - already in Linux, using only free software, I can virtualize a Vista install and have Vista and Linux windows on the same desktop: (
http://conan.shackspace.com/Ubuntu-Vista.png)
Sorry to turn the thread off into another direction, even with virtualization, native apps are best, and I'm still very interested in OpenDarkEngine...I just didn't want to see virtualization dismissed unnecessarily.
Cool, what programs are you using to run vista under linux? I wouldn't mind setting that up so I can stay in linux all the time, but hop into windows quickly when I need to.