June 07, 2008
On Sat, 07 Jun 2008 02:08:09 +0400, Chris R. Miller <lordSaurontheGreat@gmail.com> wrote:

> Nicolay Korslund Wrote:
>
>> Hi guys.
>>
>> I'd like to announce a project I've been working on for some time - an open
>> source reimplementation of Morrowind. I've called it OpenMW, see
>> http://openmw.snaptoad.com
>>
>> OpenMW is written almost completely in D, with some minor parts in C++
>> to interface with libraries. I'm using Ogre for graphics, and there's already
>> a discussion going (with screenshots) at
>> http://www.ogre3d.org/phpBB2/viewtopic.php?p=288886
>>
>> My hope is that this project will make D more visible in the game dev
>> community, and prove that D has merit in that field.
>>
>> One specific thing is that it connects D code with Ogre and other C++
>> libraries. Even though this is done in a way that is very specific to
>> openmw, it show that it can be done without much problem. (In fact it
>> isn't hard at all, the interface is not a complete low-level wrapper but
>> a small set of "medium-level" functions using extern(C). It will be even
>> easier with D2.0-style C++ linkage.)
>>
>> For more info and shots, check http://openmw.snaptoad.com . Note
>> that it's still in a very early stage of development though.
>
> Very very cool, though I do wonder about the legality of what you have just done.  I seem to remember a large number of commercial EULAs being more or less Xerox copies of each other, and all of them very expressly disallow reverse engineering of any kind.
>
> I don't mean to be hostile, I'm just trying to know whether I can expect to see you in the news.  I can see it now...  "Electronic Entertainment Mega-corp Ubisoft sues Open-Source Programmer Nicolay Korslund for the reverse-engineering of their ancient and discontinued title "Elder Scrolls III: Morrowind," claiming that the act of writing a redundant game data file reader constitutes reverse engineering and is a violation of Intellectual Property.  Representatives from Ubigroup were unable to comment at this time, though damages in the order of $500,000 were discussed if programmer Korslund refuses to completely destroy his work and renounce computer science for ever.  Details at eleven."  Perhaps not that dramatic, but you understand where I'm coming from.  Then again, I live in America.  Lawyers are a dime a dozen, so we get to put up with a lot of legal nonsense.  I think it's made me more than a little paranoid.
>
>

Well, it's not like that. There are tens of engine reimplementations out there[1]. Nothing is wrong if your game doesn't supply any copyrighted data, but those users who own the original game should be able to attach game data files to the engine and play game. Otherwise, it would be piracy.

Complete remake is another story. I know of a few projects, that got Cease and Desist letter from copyright holders, and that forced the project to close. Good example is Chrono Trigger Resurrection[2], but AFAIK those guys were going to sell the game after release.

Anyway, try to avoid usage of trademarked names (like "Morrowind" or "Elder Scroll"), in a title at the very least.

----
[1] Links:
http://rewiki.regengedanken.de/wiki/Links_to_engine_reimplementations
http://scummvm.org/compatibility.php
http://en.wikipedia.org/wiki/Game_engine_recreations

[2] http://www.opcoder.com/projects/chrono/
June 07, 2008
> I guess he means Ogre uses Win32-api+D3D under windows where Win32-api is responsible for window creation and D3D for graphic rendering. under SDL+OGL, SDL is the part creating window and some other stuff aswell. DirectX alone cannot exist, since it cannot create windows and those necessary things.

Yeah, my bad, I thought some part of DX could create a window.

>
>> I'm also interested in using OpenAL
>>
> You can take a look at the ArcLib Project for a start. It has a SoundSystem build around OpenAL. For 3DSound it is not much more of work.
ArcLib looks interesting, what is the advantage of using it for sound only
in
comparison with using derelict and raw OpenAL?


June 07, 2008
Saaa schrieb:
> ArcLib looks interesting, what is the advantage of using it for sound only in
> comparison with using derelict and raw OpenAL?   
I just mentioned it as a good start if u want to dig in using OpenAL. You could of course also simply use the Sound package of ArcLib if it is sufficient for your needs.
June 07, 2008
Thanks for the input. BTW I've added openmw to both the wiki lists you gave ;-)

Nico
June 07, 2008
Saaa Wrote:

> Did you just solve the halting problem  ; ) or is it timebased?

Since it's a VM, I can limit the number of instructions a function / object is allowed to execute per call. It's some ridiculously high number, but it typically stops an infinite loop in less than a second.

> I would like to be able to cap the size/cpu-time/memory usage.

I agree. This is something I will look into later.

Nico
June 08, 2008
>> ArcLib looks interesting, what is the advantage of using it for sound
>> only in
>> comparison with using derelict and raw OpenAL?
> I just mentioned it as a good start if u want to dig in using OpenAL. You could of course also simply use the Sound package of ArcLib if it is sufficient for your needs.

I meant it more like:
Does ArcLib offer stuff OpenAl doesn't?


June 08, 2008
Saaa schrieb:
>>> ArcLib looks interesting, what is the advantage of using it for sound only in
>>> comparison with using derelict and raw OpenAL?
>>>       
>> I just mentioned it as a good start if u want to dig in using OpenAL. You could of course also simply use the Sound package of ArcLib if it is sufficient for your needs.
>>     
>
> I meant it more like:
> Does ArcLib offer stuff OpenAl doesn't?   
Short answer: no. It is build around OpenAl, so basically it cannot offer anything more. Ogg-loading is an exception cause loading these is supported by ArcLib nativly. OpenAL nativly can only load from raw-bytes or wav-files.
June 09, 2008
Nicolay Korslund Wrote:

> Chris R. Miller Wrote:
> 
> > Very very cool, though I do wonder about the legality of what you have just done.  I seem to remember a large number of commercial EULAs being more or less Xerox copies of each other, and all of them very expressly disallow reverse engineering of any kind.
> 
> Well, that's a very valid point. I'm not a lawyer so I can't definitely say anything
> about the legality of the software. Technically it is probably already in violation
> of the DMCA just by allowing access to the data without a copy protection
> scheme.
> 
> That being said, openmw does not do anything that hasn't been done by
> other software for years already (I did very little of the reverse engineering
> myself), and there are similar projects (like ScummVM) that are going strong.
> Furthermore, I'm not based in the US. I honestly don't see how openmw could
> possibly contribute to piracy or hurt Bethesda Softworks in any way. In fact
> it's more likely to increase the shelf-life of one of their products, but that
> doesn't mean they will see it that way.
> 
> But I have no reason to make enemies with anyone, and I will do what they ask me to, in the worst case take it down (but I hope it doesn't come to that.) One thing to be very careful about though is trademarks, since companies basically _have_ to protect them or else they risk losing them. That's why I've called it OpenMW, but I will even remove the MW if I have to.

Cool.  The presence of other engine replacements does make your work much less legally violate in my mind.

I don't know if you already have some place to keep your work, but in the event that you'd like some place to stick your code you can use my site if you'd like (http://www.fsdev.net/).  It has Subversion and some nice bug trackers and other gizmos that can be interesting to play with.  Again, I don't know if you already have something, but if you want it you're welcome to register a project on my site.

June 09, 2008
Saaa wrote:
>>> ArcLib looks interesting, what is the advantage of using it for sound only in
>>> comparison with using derelict and raw OpenAL?
>> I just mentioned it as a good start if u want to dig in using OpenAL. You could of course also simply use the Sound package of ArcLib if it is sufficient for your needs.
> 
> I meant it more like:
> Does ArcLib offer stuff OpenAl doesn't? 
> 
> 


ArcLib / Yage (where the base code of ArcLib openAL module came from) will allow you to get quickly set up using OpenAL. It's the difference between writing

openal.sound.open();

SoundFX snd = new SoundFX("file.ogg / wav");
snd.play();

openal.sound.process();

versus writing 500 lines of code yourself to accomplish the same thing.

You don't have to use ArcLib, just grab the zlib/png licensed openal module, modify it, and use it in your own project. ;)
June 10, 2008
Clay Smith wrote:
...
> ArcLib / Yage (where the base code of ArcLib openAL module came from) will allow you to get quickly set up using OpenAL.
...

I agree, having to write 90% less code than OpenAl is something you can't do with OpenAl ;)

Furthermore, you may get better integration with arclib if you use that and less chance of bugs.