MrFlibble Posted June 9, 2010 Share Posted June 9, 2010 I think you guys have spent several times longer reverse engineering this game than Cryo did building it :DNo wonder, they had to figure out all the knowledge the dev team already had when building the game :) Quote Link to comment Share on other sites More sharing options...
Monsieur OUXX Posted June 15, 2010 Author Share Posted June 15, 2010 I think you guys have spent several times longer reverse engineering this game than Cryo did building it :DYes, but having a full source code (instead of simply run the game inside DosBox) could allow... A full revamp... Adding characters... Adding a story editor... Enhancing the AI of the strategy part... *Shhhh, don't tell anyone* Quote Link to comment Share on other sites More sharing options...
Nyerguds Posted June 16, 2010 Share Posted June 16, 2010 No wonder, they had to figure out all the knowledge the dev team already had when building the game :)No, development usually doesn't work like that. It's more like "hmm, we need to make this thing show in something resembling 3D... let's see how we can do that!" Quote Link to comment Share on other sites More sharing options...
honza.c Posted June 17, 2010 Share Posted June 17, 2010 Some questions.>I think you guys have spent several times longer reverse engineering this game than Cryo did building itPlease tell me where I can found results? I must start dissassembly from scratch.>Yes, but having a full source code (instead of simply run the game inside DosBox) could allow...I need test assembled code if it works as expected. I'm doing it under dosbox. No disassembler produces perfect codewhich get build directly and work. Dissassembled code needs many fixes to get build and debuging to work properly.I mean my target is not dosbox. After that I will be able to convert it to higher level programming language.>No, development usually doesn't work like that.I don't plan developement. I simply wont to PORT/BUILD game for my embedded device, to be able to play the game.>It's more like "hmm, we need to make this thing show in something resembling 3D... let's see how we can do that!"Hnm player logo.exe is good start to try dissassembly. Its not to long. As I expected it shows most of knowledge related to graphicssprites/palettes. Now I see that it's posible to disassembly all the game. logo is using extraction similar to rlew, unhsq or direct copy,all varriants with or without color keying. All optimized for fast direct scrren videoram access. I garantee You can't figure outin other way which method to apply, whan apply and how apply without disassembly.Without disassembly no 1 would be able use or extract any data from original game, even write new one which using that! How canyou do it without data extractor??? Oh, sorry. You may wont to play all the game and printscreen all pics. Or record music and soundson microphone :-)Actualy I'm able to build new game completely from assembly sources (working and tested under dosbox!). But its over 20000 linesof pure machine code. It's realy very-very hard work to convert it to C or found code related to audio and video data storage formats.Most of graphics work (decompression, decoding) is proccessed in video drivers dune386 and dunevga. So finaly all game binaries and executableshave to be dissassembled and understood how works together.You wont see results?I partialy converted logo to C, but still not complete.I coded hsq, unlzexe, disassembler, and binary convertors tools I nedded.I suppose assembly code is nonsharable, because of author rights. If you aren't perfect in assembly, it will end your life.I'm very busy now, I have no free time. But realy want to continue and success ... later. Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted June 18, 2010 Share Posted June 18, 2010 No, development usually doesn't work like that. It's more like "hmm, we need to make this thing show in something resembling 3D... let's see how we can do that!"I'm afraid you misunderstood my post, the main point of which was that creating a game and deciphering its engine are two different things, thenceforth there's no reason to compare the time it takes to reverse engineer a game to the time it took the developers to build it. Quote Link to comment Share on other sites More sharing options...
honza.c Posted June 19, 2010 Share Posted June 19, 2010 Sorry my english is not so good as yours.I had no choice I must study russian. But I'm trying to the best of my ability.I would like to ask your forum for your opinions. You all commonly tolking about game enhancements. I thing expansion of dialogs/story or remake to 3D would be nice idea.1. What 3D engine do you plan to use for new dune?I'm thinking about unreal engine, but its comercial or licensed. OGRE is open source, free.2. How can you create 3D graphics and animations?This job requires software 3D Studio Max or similar. But this software is comercial and is expensive (for me is very expensive).3. Audio would be easy inough. Emulator for adlib/adlib gold OPL2/OPL3 exists in MAME project and source is free. This files are fmopl.c and ymf262.c.Music can be played original or do you want to remake music to?Thanks Quote Link to comment Share on other sites More sharing options...
honza.c Posted June 19, 2010 Share Posted June 19, 2010 3. More about music.I like Jescola Buzz Machine composer for electronic music. FSM Infector would be able accept parameters from adlib insdruments.These generated sounds can be proccesed in more advanced effects than adlib can do and you get better sound. Finaly music is exported to WAV.I'm mostly using OGG vorbis codec insted of WAV or MP3. Quote Link to comment Share on other sites More sharing options...
rymoah Posted June 19, 2010 Share Posted June 19, 2010 I think enhancements to the game should be a step later. If I didn't misunderstood, the main focus of this project is first to get the original game running on modern OSes without using emulators such as DOSBox. Initially it was proposed by Monsieur OUXX to build a virtual machine in Java to run the game, but, seeing the direction the project has taken, I think it is best to continue at low-level, with C and assembly just like you are doing. Also, another nice side-application would be a game-resources extractor (and this, if we put together all the tools published in the previous pages of this thread, is almost done).Obviously, if we could go further than this, and do a 3D remake of the game using open source engines like OGRE, it would be great :)Rymoah Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted June 19, 2010 Share Posted June 19, 2010 Sorry my english is not so good as yours.I had no choice I must study russian. But I'm trying to the best of my ability.Aw, sorry for the misunderstanding! I was actually replying to Nyerguds, whose post I quoted :) it was never my intention to question your linguistic skills! Quote Link to comment Share on other sites More sharing options...
athanasios Posted June 19, 2010 Share Posted June 19, 2010 Blender is the best 3D program and is free.The only down is that it is extremely hard and time consuming to learn.But once you learn it, it's speed (with keyboard shortcuts) is fantastic.You will be able to create masterpieces. Quote Link to comment Share on other sites More sharing options...
Nyerguds Posted June 19, 2010 Share Posted June 19, 2010 What the heck....?I was just referring to the rotating globe in Dune. This is all about remaking a game, only rewriting the core engine and making it use the game's original files. Blender has no relation whatsoever with that. Quote Link to comment Share on other sites More sharing options...
honza.c Posted June 20, 2010 Share Posted June 20, 2010 Don't worry.I just want to ask which kind of enhancemets you are planning to make. I have only ideas what should be discuss. I'm new in 3d. I wont to know more about yours opinions. First task to solve is just rewriting game to C from assembly and make sources portable to be system independent. If some one wants to be helpfull and knows assembly/C language I may send him some pieces of code try to translate them. But it will take long time, so please wait.I have about 10% rewriten now, but not debugged even not tested. Quote Link to comment Share on other sites More sharing options...
segra Posted June 21, 2010 Share Posted June 21, 2010 honza.c, did you take a look at the IDA database posted a couple of months back in this thread?it may be useful for some functions that i've figured out Quote Link to comment Share on other sites More sharing options...
honza.c Posted June 21, 2010 Share Posted June 21, 2010 Hello segraI'm not responsible to work with ida db files (I'm lazy). If you can export data to any text format and send your results to me, you might be very helpfull. Quote Link to comment Share on other sites More sharing options...
Dunenerd Posted June 22, 2010 Share Posted June 22, 2010 Hi,When this remake is released, will it be open-source?I'm learning objective-C so I can program on Iphone, and I don't have any time to contribute to the project yet, but I would like to port it to Iphone/Ipod Touch when it's done.The idea literally came to me in a dream.Also, I have an interesting idea: If you can manage to extract the flight video (flying over the dunes) could someone please upload it? I'd like to try it as a desktop background in Dreamscene for Vista Ultimate.Anyway, this sounds like it's getting along a bit. Quote Link to comment Share on other sites More sharing options...
rymoah Posted June 22, 2010 Share Posted June 22, 2010 Also, I have an interesting idea: If you can manage to extract the flight video (flying over the dunes) could someone please upload it? I'd like to try it as a desktop background in Dreamscene for Vista Ultimate.Anyway, this sounds like it's getting along a bit.I think it would be best if you record it directly from DOSBox... Actually we don't have a working player/converter for the videos, but only a frame dumper.Rymoah Quote Link to comment Share on other sites More sharing options...
Dunenerd Posted June 29, 2010 Share Posted June 29, 2010 Sorry, I misunderstood about the frame dumper working. Somehow I thought UnHSQ was supposed to do the job. Now I've reread it, I understand.Mental Note: do not attempt to read forum posts at quarter to two in the morning.If I knew enough about C, I would join in. Unfortunately, I don't. So I'll just cheer as much as is possible through text. (trust me. It's better than me singing David Bowie) ;) Quote Link to comment Share on other sites More sharing options...
vasi2k Posted July 2, 2010 Share Posted July 2, 2010 A good start would be to build the game from start, using the free (2D) hge engine;Look at nr.8 example for a day/night cycle:http://hge.relishgames.com/files/hge_tut08.zip Quote Link to comment Share on other sites More sharing options...
honza.c Posted December 4, 2010 Share Posted December 4, 2010 HelloSeveral months passed.I think I solved mysteries around hsq. I discovered more info about compression on wiki[url=http://en.wikipedia.org/wiki/LZ77]http://en.wikipedia.org/wiki/LZ77Our hsq is a kind of old well publishded Lampel Ziv algorithm. Methods like this are known as a dictionary coders.I found same algos in unlzexe for dos, I have to suspect it would be lampel ziv, to save work with compressor/encoder.Advanced encoders use KMP algorithm for pattern matching to work faster. I think, LZ77 encoding was very polular at end of past century.Hsq compressor already posted is using simple intuitive match-comparison method, which is slower than KMP.I hope I get some free time during christmass holiday. I would like to continue rewriting disassembled duneprg to C.Do you know that zip is improvement of this algorithm? (zip stores dictionary in huffman tree)Do you know that excelent lzma (7 zip) from Igor Pavlov is latest improvement of this type of compression?From time to time some body learned about this algo and wrote new one improved (most of them was/are popular and famous) Quote Link to comment Share on other sites More sharing options...
honza.c Posted December 4, 2010 Share Posted December 4, 2010 BIG THANKS TO LAMPEL AND ZIF FOR PUBLICATION OF LZ ALGORITHM Quote Link to comment Share on other sites More sharing options...
Monsieur OUXX Posted December 30, 2010 Author Share Posted December 30, 2010 Good news everyone!After big's, Ryomah's and Honza.c's dumpers, here is a brand new little toy released by my friend Pierre Clément.DOWNLOAD : - Option 1: Attachment to this post DuneReloaded 1.3.zip - Option 2: External mirror: http://shutupload.com/dl/bd2109a435e2/DESCRIPTION :Dune Reloaded=============1. Credits2. What is Dune Reloaded?3. Installation instructionsCredits=======Author of the program: PIERRE CLEMENTPossibly includes (not verified) some source code from : - "big" 's HSQ file format dumper - "Ryomah" 's HNM file format dumper - "honza.c" 's LZ compressed files extractorAll nicknames and programs above refer to the thread "Rewriting Cryo's Dune 1 : it seems possible !!! " on the Dune2k.com website.Direct URL : http://forum.dune2k.com/index.php?/topic/17217-rewriting-cryos-dune-1-it-seems-possible/What is Dune Reloaded?======================This is not a finished game. This is only a tiny tech demo meant to show the extraction and rendering process of Cryo's Dune original game files.Please note, however, that the dunes landscape rendered in the middle of the screen has nothing to do with the original technology. It's an independant Voxel engine (eye candy!).Installation instructions========================= - You need to own the original Dune game *- Copy the game files directly into /Data/Dune- Run /Data/DuneR.exeIf the Dune's files are missing in /Data/Dune, you'll get a runtime errorYou might also get an error if you're missing some Visual Studio files (not tested). They can potentially be found there : http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en* Some people consider that getting the game from Abandonware websites is not a copyright infringement, and that such practices are tolerated by major companies regarding very old programs that are not distributed anymore. This is not true, and that's not the case for Dune. Dune has been property of Virgin Interactive, and is now property of Electronic Arts. You may not use this program if you are not a legal owner of the original Dune videogame.Compilation instructions========================- The code for extracting original game files has no dependencies- The on-screen rendering part of this tech demo relies on SDL Quote Link to comment Share on other sites More sharing options...
Monsieur OUXX Posted December 30, 2010 Author Share Posted December 30, 2010 Honza and other music tech guys, I think you'd really impress everyone here if you managed to integrate the music (extraction+rendering) into the tech demo I just posted...Do you think you can do that guys? Quote Link to comment Share on other sites More sharing options...
honza.c Posted January 2, 2011 Share Posted January 2, 2011 I can do it.I'm working on duneadl and duneagd drivers now.I would like to write music player/wave dumper.I'm using emulators for adlib (2-operator fm synth) and adlibgold (4-operator) chips from mame project (fmopl.c and ymf262.c)Audio rendering will be direct sound/wav writer.Stay tuned it will take more time. Quote Link to comment Share on other sites More sharing options...
Monsieur OUXX Posted January 3, 2011 Author Share Posted January 3, 2011 I'm using emulators for adlib (2-operator fm synth) and adlibgold (4-operator) chips from mame project (fmopl.c and ymf262.c)Audio rendering will be direct sound/wav writer.Do as you please, but keep in mind that the ideal solution would eb to use the ScummVM chips emulators instead, and, more generally, the more standard the components, the better (use existing libraries as much as you can, for everything).Thanks Honza!!! Quote Link to comment Share on other sites More sharing options...
Monsieur OUXX Posted January 4, 2011 Author Share Posted January 4, 2011 There's this md5 guy on the ScummVM forums who seems motivated to adapt the little tech demo to the ScummVM way-of-doing-things. Just keep an eye on it here : http://forums.scummvm.org/viewtopic.php?p=64232#64232 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.