Outpost Universe Forums

Projects & Development => GORF => Hall of Fame => Topic started by: ImpulziveMyztikalGuru on July 05, 2010, 09:25:30 PM

Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 05, 2010, 09:25:30 PM
So, I've been poking around the forums, and i keep running across the problem of not having the source code. I assume that the updates and modifications to the game have been done through dll's then? I know a bit of programming, and if the right programs could be pointed out for C, then I might be able to help with the source code problem. (thumbsup)  
Title: Source Code?
Post by: Sirbomber on July 05, 2010, 09:26:36 PM
ASM and hex editing of the EXE.
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 05, 2010, 09:29:25 PM
Oh, I see why it could be difficult to make improvements. Well, I have a lot of free time right now, I'd be willing to see if I could write up some basic source code. It would take a while, but I think its doable, since there is already a working version of the game.
Title: Source Code?
Post by: Moley on July 06, 2010, 10:48:20 AM
not to make it sound like that i'm trying to bring you down or anything, but that project has been tried many times... but feel fine to try where others have failed...
PS: don't complain on me "bringing you down"... im surprised sirbomber hasn't done any thing yet... :P
Title: Source Code?
Post by: CK9 on July 06, 2010, 12:25:55 PM
If he does, I might be inclined to consider it spam.  I think it would be awesome if someone who claims to have the time took a shot at it.  Most of the people who tried it before didn't have the time and that is a big part of why it failed.
Title: Source Code?
Post by: Sirbomber on July 06, 2010, 02:51:48 PM
Quote
If he does, I might be inclined to consider it spam.
Being realistic is not spam.  You don't just sit down and rewrite OP2.
Title: Source Code?
Post by: evecolonycamander on July 06, 2010, 04:00:00 PM
we should make a count as to how many times the source code issue has come up.  
Title: Source Code?
Post by: Kayedon on July 06, 2010, 06:28:53 PM
Quote
we should make a count as to how many times the source code issue has come up.
You should try reading the topic before replying.
Title: Source Code?
Post by: BlackBox on July 06, 2010, 07:46:31 PM
Most of the edits have been added into the EXE by way of using the padding between functions or other unused areas in the .text section.

Some of the more major ones were placed into a DLL, op2ext.dll (we forced this DLL to be loaded by some modifications to the IAT in outpost2.exe) and are applied via memory edits from within DllMain.
Title: Source Code?
Post by: CK9 on July 06, 2010, 10:58:00 PM
lol, I was kidding around at your expense bomber.

Anyway, re-coding the game entirely would be VERY beneficial to new modifications, which is why I'm hoping it works out (it would be nice to have the mapper openable in OP2)
Title: Source Code?
Post by: Sirbomber on July 06, 2010, 11:13:43 PM
That would probably not be too hard.  Wayback when, didn't clicking the Internet button in the multiplayer menu open up OPUTool?
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 07, 2010, 09:42:18 PM
As far as time, I have plenty of it. I just got back from deployment, so I am on leave for a few months. The only thing i can think of hindering me is not knowing which programs to use for the coding. I would love to see what could be done, with all the ideas here, with the actual source code.  I am willing to devote my more than substantial computer power to this project. Besides, it could be fun?  :P  
Title: Source Code?
Post by: evecolonycamander on July 07, 2010, 10:04:40 PM
Quote
Besides, it could be fun?  :P
seems more like a tedious, but rewarding job (thumbsup)  
Title: Source Code?
Post by: Arklon on July 08, 2010, 12:13:15 AM
Quote
As far as time, I have plenty of it. I just got back from deployment, so I am on leave for a few months. The only thing i can think of hindering me is not knowing which programs to use for the coding. I would love to see what could be done, with all the ideas here, with the actual source code.  I am willing to devote my more than substantial computer power to this project. Besides, it could be fun?  :P
"The only thing i can think of hindering me is not knowing which programs to use for the coding." In other words, you don't know anything about programming?
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 08, 2010, 02:35:46 AM
On the contrary, I know a lot about programming. I just dont know C very well. Never had to program with it, so I dont know what the best programs would be to use.
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 11, 2010, 10:03:12 PM
So, Im curious on what the general opinion is as far a a programming language. I have fairly extensive experience with java, and would feel more comfortable writing the code that way. However, I do have some programs for C. I was wondering what people would prefer, Java or C?
Title: Source Code?
Post by: Hooman on July 12, 2010, 01:59:45 AM
Up to you really. Lately I've been looking into D (Digital Mars D).

Java seems alright as a language, but I've always hated the JVM. It takes way too long to load up, consumes huge amounts of memory, which really kills performance on low memory systems, and generally isn't all the speedy for CPU bound tasks. Although people will always try to tell you otherwise on that last one, while simultaneously ignoring the other problems.

I think C and C++ have had a good run, and are certainly capable of writing fast code, but they have certain maintenance issues as programs get large. The split between header files and source files can be annoying, where you have to write a lot of things twice, and update them in both places should you ever need to refactor code. Use of the preprocessor is also a bit sick, and trying to get includes right can sometimes be difficult. The usual header file guards are annoyingly verbose for such a common problem. In short, a lot of things that a computer would be really good at figuring out and doing are pushed onto the programmer. Templates are nice, but error messages involving them are near impossible to read. The standard library for C and C++ are horrid. I hate the naming conventions used, I hate null terminated strings, I hate the security (and reliability) flaws inherent in so many of the original standard library functions. The standard library issue is probably one of the big reasons why a lot of people switched to Java. There is some degree of portability in the standard library, if you can bring yourself to use it, for certain common operations like file access. The basically raw sockets interface is very similar on Windows as it is to Unix/Linux, so you can kind of get away there. You are often encouraged to use the more modern Cout style functions, but these can be a lot slower than the printf style functions (and in some cases I've heard, slower than Java can perform). I often just avoid the standard library, as the Windows API is much nicer to write for, and works faster, but is not portable. I've heard a comment stating C and C++ are probably the least portable of the "portable" languages. ;)

I'm liking a lot of the cleaness with D, and the ability to write native code, plus good support for newer and higher level constructs. The Tango library (unofficial standard library) has a lot of really well thought out APIs, and the core language design also seems really thought out. The language is still a bit new though, and it can be a pain to setup the compiler. You also end up having to learning a new language before you can really do anything, and not many other people know it so it's probably harder to find someone who can help. There are a lot of interesting articles in relation to the language, and some very academic papers that are a great read if you're into that sort of thing. There is also a book "Learn to Tango with D" with is pretty well written. It covers the base language features well, and some parts of the Tango library, but I still feel like I lack general knowledge on how to use it's API to just get stuff done. It's a language I've been watching, but I'm not sure if I'd be ready to recommend it yet. Although, it seems like the install issue has gotten a bit better since I first dabbled with the project. There are compilers available for Windows and Linux. During install, there was a suggestion to install it in a path without spaces in it (which kind of annoys me).

I hear good things about C# as a language. I don't know too much about it though. It also sounds like it's cleaned up a lot of the issues with C and C++. I get the feeling it's a little more Java like in that a virtual machine is (usually?) used to run the code though. I've heard of performance issues, although, not frequently. I think I've heard stuff to suggest you can do native compiles, but I don't really know. I could easily be wrong about that. It was initially more of a Microsoft/Windows thing, but I've heard about a Linux compiler and runtime system that now exists for it. Probably worth looking into, but I've yet to bother. I've kind of stayed away from anything .NET. My experiences with Java inefficiency have taught me to fear what the underlying idea seems to be.


Kind of seems like there is no silver bullet language. Either which way it seems like there is something disappointing. The reason I've been liking D lately, is because the disappointing aspects of it seem mostly related to it's newness. I suspect as time goes on, and the language/compiler/packaging improve, the few things that annoy me about it will be resolved.
 
Title: Source Code?
Post by: CK9 on July 12, 2010, 03:02:32 PM
Aren't most coding languages used today based on C/C++?
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 12, 2010, 07:40:59 PM
Not all of them are based on the C's, but a few. are There is one language that I know, really new, that is amazing, but very few computers can run it. I have heard good things about D, but don't have any experience with it. Yes, C#is supposed to be the easier to use version of C/C++, but I don't much like anything C for something like a game, seems too great lumping messy.

I'll take a look at using D, but then my next question would be, what about the mods? Everything else would have to written in D as well, I would think, not sure about D's compatibility with other languages.

Also, Ill take a look at using the language I work with, but I dont know how well the translator would work for a game, never tried it. Some things to mull over with a nice glass of bourbon  B)  
Title: Source Code?
Post by: CK9 on July 12, 2010, 11:04:36 PM
Quote
Not all of them are based on the C's
Hence why I did not say all :P
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 13, 2010, 11:13:11 PM
So im going to go ahead and attempt this project. Ill be using C# and the Spring engine. Looking at the failure of other projects, I've decided to not post all my updates. I will post major things, but it'll be kept under wraps for the most part. Help would be appreciated with the graphical design, as Im not a good graphical artist  :blink:  
Title: Source Code?
Post by: Hooman on July 14, 2010, 12:05:33 AM
Quote
I'll take a look at using D, but then my next question would be, what about the mods? Everything else would have to written in D as well, I would think, not sure about D's compatibility with other languages.
D is supposed to have pretty good compatibility with C, and I believe COM objects also work. It probably wouldn't handle C++ classes too well though, as I don't think the D classes support the same ABI (Application Binary Interface). But then that's kind of common. Almost everything is somehow compatible with C, which means you can probably mix and match with any language that is.

A lot of languages have been based on C, or at least influenced by it. Notably, for this thread, C++, C#, Java, and D. There also also C influences in languages that aren't really based on C, like the printf function in Ruby. Some languages that weren't based on C would include Basic, Python, Haskell, Prolog, and some of the really old languages (predating C), such as Fortran and Lisp. You can probably trace more languages back to C than any other language (which weren't a precursor to C, and hence by transitivity is also a precursor to all languages that derive from C).
 
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 15, 2010, 10:37:30 PM
Something interesting as I slowly disassemble the DLLs, there really are four cheats. I havent found what they are, but in every game that Ive taken apart, four cheats are initialized. Also, yes, I have started working on this project. I am currently in the process of breaking and disassembling the DLLs as best I can, but large parts of code get garbled, though surprisingly, they can still be unscrambled. Let me just say, the over all programming is so basic and elementary compared to anything today, that I believe, knowing what we do today, a monkey could write this code.

That being said, I would also like to state that I am not dissing OP2  :D  Its just that it could have been designed so much better, even for when it came out. As in my last post, I am using C# and the Spring engine, though I am playing around with the idea of maybe using Java, maybe even something like Python. Well, thats all for now, more news as it comes  (thumbsup)  
Title: Source Code?
Post by: Sirbomber on July 15, 2010, 11:18:06 PM
Why does everything you just said seem so familiar?
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 15, 2010, 11:29:46 PM
My guess is my cousin. He apparently tried to convert the entire game into a completely incompatible programming language, and failed horribly. But he was telling me he was talking to somebody about his little "project", about the code and what not, so that is my guess why it seems familiar. Hes a good kid, he just knows jack about programming  :D  
Title: Source Code?
Post by: Hooman on July 16, 2010, 12:33:51 AM
I'd say at least someone on the OP2 coding team knew what they were doing, and probably more. There's no way something like OP2 would have been completed without someone experienced on the project. And if little parts of it seem like they could have been done better, keep in mind that real world projects have time and budget constraints. Plus, some of the tools from back then, and available libraries, were not as good as what we have now. Remember that C# didn't exist, and I doubt that Spring engine did either (whatever it is). The programmers for OP2 probably would have had to code a lot of stuff themselves, and any libraries available for them to use may have been lacking. It's hard to judge quality of code from a disassembly, especially if you're only looking at a small part of it. You could very well be looking at library code they had nothing to do with writing. You also don't know what programmer on their team wrote it, plus some aspects of the original code may be hidden by what the compiler or optimizer has done to it.
 
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 16, 2010, 01:54:03 AM
That is true. I never said they didnt know what they were doing, but if memory serves me, and it screws up every now and then  :P , then they didnt use what they could have to their fullest. Yes, not everything we can use now was available to them, and there were areas in programming that were lacking. But, with what they did use, they made an amazing game  :)  Now its time for a long overdue, major update, build on what they had.
Title: Source Code?
Post by: BlackBox on July 16, 2010, 03:08:01 PM
A couple things I guess that kinda stick out at me. (I'm hoping this post isn't going to be interpreted as flaming, as it's not my intention)

1. You admit that you're not completely certain where you stand, level-of-expertise wise (i.e. not knowing what programming language to use), but you apparently seem to know enough about assembly language (and what high level constructs in C++ translate to in assembly) to be able to make the conclusion that it's terrible code, and that "monkeys could have written this"? (I guess no offense meant but you did not make it sound like you were in such a position to make sweeping statements about OP2's design).

2.
Quote
I'd say at least someone on the OP2 coding team knew what they were doing, and probably more. There's no way something like OP2 would have been completed without someone experienced on the project. And if little parts of it seem like they could have been done better, keep in mind that real world projects have time and budget constraints.
This. Generally speaking, you don't write a program of this scale without proper formal knowledge of how to "correctly" write software (considering that the developer, Dynamix, probably isn't going to hire people without at least a university education in Comp Sci or something similar).
Similarly time/budget constraints might cause them to lazily "hack" in required enhancements/features if they need to release by a certain date.

In response to the rest of the posts:

Keep in mind that this was a game released in 1997 (so written before that even). In addition to not having modern/current libraries, etc. you have to keep in mind the limitations of the hardware they were developing for (OP2 was designed to run on a pentium, there is even code to check to see whether the CPU supports MMX instructions or not and two different versions of certain functions for MMX/non-MMX CPUs) so what seems really strange to us now was necessary optimization back then to make the program run at decent speeds.

As far as choice of language is concerned, C probably isn't the best language to use (it's the non object oriented predecessor to C++). It's still useful in systems programming and whatnot (for example the Linux kernel and most of the system software are written in C) but probably is not the best choice for a game.
I've used C# and it was pretty decent; the .net runtime is a lot lighter than Java and the standard library is very good. (Given that it'd be a reimplementation of a 2d game that is over 13 years old, running on modern computers, performance of the chosen language/runtime/framework is probably not a major concern).
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 18, 2010, 04:49:21 AM
In response to you first statement, I know quite a bit about programing. Yes, I know assembly language, because it is some of what I work with. The reason I asked which language would be best to use is because of the wide range, and depending on which one I use, depends on how much of that language I know. If I wrote the game in Binary, it would take forever, but I could do it. What language I use for the final implementation depends on input from outside sources (Outpost Universe). I could write it in my native computer language, but then that would be it, nobody else would be able to use it, let alone modify it.

It probably didnt come across the right way, and I apologize for saying some things about the original programming team, and the original program itself, Im not sober very often, and in fact do my best work, well, not sober. But when writing for forums, that doesnt work so well, haha. I give them great credit, for they did produce an amazing game with what they had.

Back to my programming skills. They are well developed in most languages, but not used very often. I work best with one you probably havent heard of, DeNAos, and basic operating systems. Programming games is different, again, with such a large community, most of whom are adding to and modifying the game, I want to use a language that is compatible with whatever other people are using.
Title: Source Code?
Post by: Sirbomber on July 18, 2010, 10:19:11 AM
Quote
It probably didnt come across the right way, and I apologize for saying some things about the original programming team, and the original program itself, Im not sober very often, and in fact do my best work, well, not sober. But when writing for forums, that doesnt work so well, haha. I give them great credit, for they did produce an amazing game with what they had.
We're not upset that you made fun of them, so much as when you say stuff like "a monkey could code this" it makes you look like you don't know what you're doing.
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 18, 2010, 10:45:59 AM
And I apologize for that, again, I was in the middle of coding, not necessarily for OP2, and like I said, Im not exactly sober when I program, so things get put out that I dont mean to say. I actually feel bad for having said that  :(  
Title: Source Code?
Post by: Sirbomber on July 18, 2010, 01:42:51 PM
Quote
Im not exactly sober when I program
Once again, not inspiring any confidence in your abilities at all.
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 18, 2010, 02:26:19 PM
Haha, thats what the military said before they offered me a contract. Im good, very, very good.  (thumbsup)

Also, cracked seventeen DLLs so far
Title: Source Code?
Post by: CK9 on July 20, 2010, 10:42:44 AM
Did you offer to do the job for less money than anyone else?  That's how the military picks all their weapons anyway...
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 21, 2010, 07:03:56 AM
Haha, not quite. I offered and proved I could do what they wanted better than anyone else, and they weren't worried about payment.
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 22, 2010, 11:38:59 PM
Another update. I've stopped opening DLLs, because Im pretty sure there are only six that are actually responsible for running the game, seeing as how all the others are mission and tutorials.

I've actually been thinking on that, but haven't decided what to do. The fact that the missions are nicely packed into DLLs, I don't see any reason to rework them, if they are still compatible with the new program. Correct me if I'm wrong, but most of the mods done haven't been to the missions themselves, but to the actual program, most notably the EXE.

New mission are made, but then those, again correct me if I'm wrong, are packed into DLLs, and the game is told that they are there. If my assumptions are correct, then again, I see no reason to have to rewrite every single DLL, only those six that are responsible for the game.

That being said, I have opened all six of the DLLs. They are as follows:
odasl.dll
op2ext.dll
op2extra.dll
OP2Shell.dll
op2shres.dll
op2res.dll

Those are the only DLLs that I've seen that have anything at all to do with the running of the game, everything else is, again, missions and tutorials. If anyone knows anything more, please let me know. As of now, those DLLs have been cracked, and I am working on cleaning up the code, so its at least semi-legible, and from there I will use the old code as a blueprint for writing the new. I will be writing the new code in a few different languages, to see which I like best, and which I think works best. The languages are as follows:
C#
D
Java
Python
DeNAos


At a certain point, I will dump four of the five, and continue with one only, but that's a ways off yet Sometime in the next few weeks, I hope to be able to post the six DLLs in their cracked entirety, so that others may see exactly how the game ticks. No guarantees, as the files are large, and I cannot host them for public use.

I also hope to be posting, within a month or two, a rough shell of the new game. Still looking for someone who can do the graphical design, but that's for later, if the consensus is for new graphics, unless they want to stay with the old original stuff.
Title: Source Code?
Post by: CK9 on July 23, 2010, 12:42:21 AM
All the game needs to run new maps is for the .map and the .dll files to be in the OP2 folder.  There's probably a line of code that tells the game to search the folder for the .dll (which in turn tells the game what map to use).
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 23, 2010, 04:17:02 AM
Okay, cool, thank for that. I haven't gotten that far into the code, but that definitely makes things easier, means I don't have to rewrite everything  :P Just need to update the graphics  :(  
Title: Source Code?
Post by: Hidiot on July 23, 2010, 10:52:44 AM
Any .dll that is e/p/t and a number is a mission or tutorial. Any .dll that starts with c is a colony game and any .dll that starts with m is a multi player map.

There's also the demos, ademo1 to 3.

So yeah, you got the 6 game .dlls.
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 23, 2010, 11:02:00 AM
Okay, thanks again. Making things so much easier :)  Well, those 6 DLLs are open, just working on cleaning them up a bit. I've been playing around with Spring, and think I'm going to continue using it for the engine, unless there are any better suggestions?
Title: Source Code?
Post by: Sirbomber on July 23, 2010, 11:15:21 PM
We wrote op2extra.dll; there's no need to disassemble it.
Title: Source Code?
Post by: Hooman on July 24, 2010, 12:18:07 AM
Both of these were written by people at OPU:
op2ext.dll
op2extra.dll

Btw, what do you mean by:
Quote
As of now, those DLLs have been cracked, and I am working on cleaning up the code
I find that a little vague and ambiguous. If you mean you've opened them in a disassembler/debugger, be aware the result might not be editable and recompilable. If you just plan to use a disassembly to rewrite stuff... well, how many lines is it?
 
Title: Source Code?
Post by: ImpulziveMyztikalGuru on July 24, 2010, 01:07:55 AM
I'm using the old DLLs as guidelines for the new code. Don't know how many lines there are exactly, the code is not, and probably never will be completely disassembled, but I am getting enough to have a rough starting point. I am not planning on using the original code, everything is being rewritten, at least as far as the basic operation of the game is concerned.

Don't know if that makes any sense, I've been awake for three days now, and I really really need sleep.  :yawn:  
Title: Source Code?
Post by: ImpulziveMyztikalGuru on April 24, 2011, 09:56:43 PM
Whoa, so, just got a personal email from jcj94 about the status of this little project, which has become not so little, haha  :blink: As far as its come, its still along ways from done, and I actually have used to computers at work for some raw power to get some stuff done, very interesting actually, completely different subject. So, if anyone is interested, hers what has happened since my last post:

All the DLLs have been cracked and open and rewritten. Yes, thats right, I have cracked the DLLs open like a book, and rewritten the code, updating some surprisingly massive bugs  :blink: The new program is underway, and the current plan is actually quite ambitious

I am working on compressing everything into one file. Again, yes, thats right, ONE file, thats actually smaller, more streamlined, and much more powerful than the original game. It will be one massive EXE file, and all mods can be done within this one file, you will just have to know where to look. I would post a snippet of the code, but right now, my coding computer is undergoing a massive overhaul, and the data on the drives is currently inaccessible.

Right now, the program is actually in a state of standby as the overhaul is ongoing, but the project should be rolling again soon, hopefully within the next two or three weeks, hopefully not that long. If anyone has any concerns about anything in this post, feel free to let me know, Id be more than happy to answer questions. Until then, live life to the fullest (thumbsup)



Failure Is Not An Option.
Title: Source Code?
Post by: jcj94 on April 24, 2011, 10:42:03 PM
1: I am super happy that this project is underway again!
2: See, sometimes PM's work out for getting certain members back (no, I won't spam the member base)
3: Wow, .dll's all rewritten?  Is this as far as any project has gone?

 (thumbsup) :D (thumbsup)

EDIT: Just noticed the "Failure is not an option" at the bottom of his post.  Way to keep up morale! (both personal and otherwise)
Title: Source Code?
Post by: CK9 on April 25, 2011, 01:32:40 AM
and that's what you get when you have one person coding instead of a team: a better-working file that is actually smaller.  Game bugs seem to revolve around areas that multiple people and/or teams were working.
Title: Source Code?
Post by: TH300 on April 25, 2011, 05:08:14 AM
Quote
All the DLLs have been cracked and open and rewritten. Yes, thats right, I have cracked the DLLs open like a book, and rewritten the code, updating some surprisingly massive bugs
Care to tell us what these bugs are? And are you even 100% sure that those are bugs and not features that the game depends on? I would feel better if you rewrote the code as close to the original as possible and fixed "bugs" in collaboration with opu members.

Quote
I am working on compressing everything into one file. Again, yes, thats right, ONE file, thats actually smaller, more streamlined, and much more powerful than the original game. It will be one massive EXE file, and all mods can be done within this one file, you will just have to know where to look.
If you care about modding you should keep it several files, so that one can be altered separately. Also, how are you compressing it? How will it be more powerful than the original game? You don't have the original source code. At best you have source code that does the same as the original source code.

Did you even compile the whole thing once? If not, how do you know that you're not breaking it by "compressing" it? How do you know that you'll ever be able to compile it into the working game?

Quote
I would post a snippet of the code, but right now, my coding computer is undergoing a massive overhaul, and the data on the drives is currently inaccessible.
I would really like to see such snippet. Right now I don't even believe that you are doing this, because it sounds so improbable and impossible. If you cannot post source, you should at least be able to explain how you're editing it (e.g. refactoring classes), to show us that you know what you're doing.

Also: Which language are you using now? Still C#?
Title: Source Code?
Post by: Zardox Xheonov on April 25, 2011, 08:05:12 AM
If your rewriting the game, you may want to keep these in mind:

-Ability to add/modify new/existing units/structures with an easy to use program.

-Ability to edit/change player colors by simple use.

-Make some sort of translator, where as .map and .dll are compatible with the new rewrite (or) be able to read and translate older files into compatible files (if older files don't work with new rewrite).

-Ability to store more tilesets at a time.

-Ability to allow two human players to control the same colony (could be useful for helping newbies). And share the same interface.










----------------------
I know most of these ideas have been suggested before and would be nice to have... Probably after you finish you could place some of these features in... Though some are pretty hard to implement.
Title: Source Code?
Post by: BlackBox on April 25, 2011, 06:00:39 PM
I am quite skeptical considering comments such as "All the DLLs have been cracked and open and rewritten. Yes, thats right, I have cracked the DLLs open like a book, and rewritten the code, updating some surprisingly massive bugs" is not how I would expect a software engineer to describe such a project.

"The data on the drives is inaccessible" and complete lack of source code (certainly it would be in some kind of version control system, probably offsite?) or even any specific details about the project or how it is organized also reeks of "vaporware."

Finally, "compressing everything into one massive EXE file" implies that it is a giant monolithic mess and not something that is at all maintainable or modifiable (and is also not how proper software engineers/companies write software).

If this project is real and does exist I will be pleasantly surprised but as a real life software engineer myself I do not see enough solid evidence to prove that it actually exists, much less that one person would be able to accomplish a perfect rewrite from reverse-engineered game code in the amount of time that has been given.
Title: Source Code?
Post by: ImpulziveMyztikalGuru on April 25, 2011, 10:58:58 PM
Understandable. I do apologize for not posting anything besides, well, posts, no files, but this project is not uberly important in light of work, and therefore does not get the attention I would like to give it. I do realize some of what I have said sounds sketchy, but if you meet me in person, youd see why  :P not that Im a sketchy person, im just not a very people person, and horrible at explaining things Ive done.

But, first things first: inaccessibility of game data... The storage unit that all my hardrives are normally kept in is in, uhm, lots and lots and lots of teeny tiny little pieces right now. One of the blades crashed and burned(literally), so trying to rebuild what I have, and upgrade in the process, thus the major overhaul. I hope the sheds some light there.

As far as not posting any code or anything, refer to above  ;)

Secondly: Technically, I am not doing this alone, but that is a whole nother can of worms that I really really dont feel the need to go into anytime soon, and Id prefer to not be asked why.

As far as bugs go, yes, they are actual bugs. Well, maybe not 'Bugs'. but dead code, extra 'poop' that literally has never done anything, and some code that, when you try and mod the EXE file and it doesnt work? Sometimes its because you have to code for those pieces that dont even really need to be there.

Moving on to compressing the file: It works kind of like a JAR file, but not really. Its something Ive tried to explain to friends through text, and not surprisingly, a LOT gets lost in translation. However, they way the file is currently designed, any program that allows coding in any of the Cs, or Java, will be able to open the file and modify it. However, not everything will be accessible unless you program in the original language, which yes, is still C#, but thats just because the compression is kinda stupid  <_<

BTW, on a quick beak, I didnt realize soo much would happen in this post in the space of a day, haha.

Moving on...
There is still much to be done. The games is nowhere near completion, and the menu barely boots as it is, just because, as you all who have worked on code have probably noticed, a lot of things have to work together, and not everything is there yet. Not going to mention the lines of code already written, Ive gone through 9 keyboards so far from typing so long, breaking keys off when I get frustrated  :find:

As far as Lord of Pains suggestions, those ideas are actually blocked out, and will be implemented when the time comes, as they are very, very good ideas. As far as storing more tile sets, how many would you like, ideally? I can make the program recognize, i believe, something around 3000 different tile sets. Not that youd use that many(at least I hope not), but it is, theoretically, possible.

Now, the idea of two people controlling one colony.......
Yea, about that......
The basic idea is blocked out, but Ive played with some hardcode for it, and its going to be massively difficult to implement. Something like that WILL actually be in a separate file, and both players of the colony must have the same version of the file for it to work. In the end, I dunno if anyone has used this, is going to be like an advanced version of Synergy, or a dumbed down version of Remote Desktop. This will be one of the few things that will be in a separate file from the get go.

Something that I think will make people happy:
I have set the initialization to look for certain file types when it starts, within the OP2 folder, like usual. This will allow less advanced programmers to make their own files, and the game will substitute their files for the hardcode in the EXE. Not very hard, just kinda drawn out to actually get it to work.

Some qucik parting comments:
BlackBox, good sir. Software engineer, second major in college. I am first and foremost a quantum physicist and mathematician. Thusly why I am very socially awkward, I usually dont like people  :P they seem kinda slow now  :( However, that was not meant to insult anyone, its just when you think in the time scales I do, a day seems like eternity, everything in the world seems to be slow now. But I do my best  :D

Also, at first glance, yes, it is a giant monolithic mess. HOWEVER, :) it is not. If you look at the notes, it is actually very, very organized, so much so it hurts MY head :P . It is not the most advanced or involved piece of software I have written, but it is a piece of art, I do believe. Also, that is why I am able to write everything on my own, because this is relatively easy compared to what I have to code on a near daily basis.

Now Im pretty sure Ive answered all the replies, but not positive :P So, if I missed you, I apologize, just let me know and I will tomorrow night. For now, bed calls my name :D
Title: Source Code?
Post by: ImpulziveMyztikalGuru on April 25, 2011, 10:59:43 PM
BTW, that is the single longest post Ive ever made, save my dissertations :P
Title: Source Code?
Post by: Sirbomber on April 26, 2011, 08:09:05 AM
While we're on the subject, I wrote a whole new engine for OP3, but then I decided to submerge the hard drive in water, so now the files are inaccessible.  But I totally did it!  You have to believe me!!!
Title: Source Code?
Post by: jcj94 on April 26, 2011, 09:00:46 AM
Yes, hi again, Bomber-The-Troll.

I dunno... :/


I just hope this gets DONE.  If it works is a plus.  So many projects go dead around here because people just either forget, or don't care.

Anyway, if you get some proofs, we'll be happy.
 
Title: Source Code?
Post by: CK9 on April 26, 2011, 11:39:08 AM
Quote
Now, the idea of two people controlling one colony.......
Yea, about that......
The basic idea is blocked out, but Ive played with some hardcode for it, and its going to be massively difficult to implement. Something like that WILL actually be in a separate file, and both players of the colony must have the same version of the file for it to work. In the end, I dunno if anyone has used this, is going to be like an advanced version of Synergy, or a dumbed down version of Remote Desktop. This will be one of the few things that will be in a separate file from the get go.
 
Why would you go through all that trouble?  Wouldn't it be easier to set it up so that it has global accessability and then add in parameters for players to determine who has access access?  Basicly the same as a forum: it compares permissions of the user to those required by the section.  Then for keeping everything up-to-date on both ends, it would just need to utilize the pre-existant data package system and only needs to keep the details of what has been done  (research, construction start, ect) between those two players.

Or even, make it so allied players can share tubes through buildings.  While not as elaborate as a shared colony, much of the functionality is the same.
Title: Source Code?
Post by: jcj94 on April 26, 2011, 03:04:20 PM
Quote
Or even, make it so allied players can share tubes through buildings.  While not as elaborate as a shared colony, much of the functionality is the same.
Yes please! I hated doing allied maps where the good ore is in your friends place, because then you had to build colonies close together.

I would also like the ability to overlap/ use allied players tubes.

That way, I can send my colonists over, and use them while connected to their command center.
Title: Source Code?
Post by: BlackBox on April 26, 2011, 06:01:06 PM
Quote
Understandable. I do apologize for not posting anything besides, well, posts, no files, but this project is not uberly important in light of work, and therefore does not get the attention I would like to give it. I do realize some of what I have said sounds sketchy, but if you meet me in person, youd see why  :P not that Im a sketchy person, im just not a very people person, and horrible at explaining things Ive done.
Well that's probably the best way to explain something you've done, screenshots, binaries, anything. Until then I have no proof that anything exists at all.

Quote
But, first things first: inaccessibility of game data... The storage unit that all my hardrives are normally kept in is in, uhm, lots and lots and lots of teeny tiny little pieces right now. One of the blades crashed and burned(literally), so trying to rebuild what I have, and upgrade in the process, thus the major overhaul. I hope the sheds some light there.

So you're implying that your data was stored within some kind of redundant storage technology like a SAN but somehow this data is completely inaccessible? (SANs have redundant fabrics and storage controllers ("blades"? Most blade server clusters do not contain much if any local storage). No version control or anything like that which might include offsite backups?

Quote
Secondly: Technically, I am not doing this alone, but that is a whole nother can of worms that I really really dont feel the need to go into anytime soon, and Id prefer to not be asked why.

Again smells of fakes (I would expect a project of this magnitude to not be easily completed by a single person but the unwillingness to share details about this raises red flags for me... are you under NDA? If so, why is it expected that the community will accept it with open arms?)

Quote
As far as bugs go, yes, they are actual bugs. Well, maybe not 'Bugs'. but dead code, extra 'poop' that literally has never done anything, and some code that, when you try and mod the EXE file and it doesnt work? Sometimes its because you have to code for those pieces that dont even really need to be there.

*facepalm* this is nonsensical, the only "junk code" that I can really think of that would be inside any of the mission DLLs is library code that doesn't get called. "having to code for those pieces that don't need to be there" makes no sense, there is no requirement to do anything involving library code that got compiled into a mission DLL.

Referring to bugs as "poop" seems a little juvenile to me but that's just my personal opinion.

Quote
Moving on to compressing the file: It works kind of like a JAR file, but not really. Its something Ive tried to explain to friends through text, and not surprisingly, a LOT gets lost in translation. However, they way the file is currently designed, any program that allows coding in any of the Cs, or Java, will be able to open the file and modify it. However, not everything will be accessible unless you program in the original language, which yes, is still C#, but thats just because the compression is kinda stupid  <_<

I translate this as more nonsense. C, C++, Java, and C# all have completely different ABIs (the latter two are interpreted languages and so they have to interface to native code via JNI or P/invoke). If anyone can write extensions to this application in any of these languages that also implies that the proper runtime environment needs to be present (JVM for java, .NET runtime for C#) unless you are doing something like translating java bytecode to MSIL (seeing as how the app is supposedly written in C#).

Other nitpicks that lead me to further believe that this is all a fake:

Quote
as you all who have worked on code have probably noticed, a lot of things have to work together, and not everything is there yet.

Write unit tests to test the functionality of the pieces that do exist? That's certainly what I do when I'm working, which also helps prevent regressions in functionality when that code changes later.

Quote
Not going to mention the lines of code already written, Ive gone through 9 keyboards so far from typing so long, breaking keys off when I get frustrated

I work 40+ hours a week writing code and I am still on the original keyboard I got when I started working at my current company. Strange.

Quote
I can make the program recognize, i believe, something around 3000 different tile sets

Why an arbitrary limit of 3000?

Quote
This will allow less advanced programmers to make their own files, and the game will substitute their files for the hardcode in the EXE.

Why would -any- game data be embedded within the binary in the first place?

Either way, either show some sort of proof that any of this is actually real, or stop getting people's hopes up by writing up fake posts. It does the community no good to make up stories.
Title: Source Code?
Post by: Freeza-CII on April 26, 2011, 06:51:45 PM
I dont code but given the reaction from others and knowning of the history of this place this is starting to sound like your another anti christ of opu. big stories and no proof. to put it simple you need to nut up or shut up. no more long posts about this or that. just simple unadulterated proof.
Title: Source Code?
Post by: Sirbomber on April 26, 2011, 07:08:55 PM
BlackBox, he can make up an infinite number of excuses as to why he can't post any proof that his project is real.  I propose a more direct approach.

ImpulziveMyztikalGuru: Could you write a tiny program in C++ that gets a positive integer X from the user as input, creates an array of size X, and then fills that array with random integers?  I figure, you'd need to know C/C++ inside and out to be able to do something like this, so if what you say is true this should be trivial for you.  Post the code when you're done, please.  Thanks!
Title: Source Code?
Post by: CK9 on April 26, 2011, 07:54:56 PM
bomber, that's far too easy a test.  You just call up a cin prompt for the integer, set it to a variable, use that variable to create the array, use a loop (I like while loops myself) and a random number generation to fill the array, and a cout call if you want to display what is in the array.  That's less than a week in a C++ class.
Title: Source Code?
Post by: Freeza-CII on April 26, 2011, 08:34:31 PM
you cant do those kinds of silly tests it seems like some thing that would be to easy to look up on google how to do. Proof is what is needed to remove reasonable doubt. And i have plenty based on comments i have seen stated.
Title: Source Code?
Post by: ImpulziveMyztikalGuru on April 26, 2011, 08:40:22 PM
READ: The following post is not meant to insult, it is simply the fact that I tire of negative criticism very, very easily.

To begin, I came to this site because I have loved OP and OP2 since I was able to play them. I came to this forum, offering my substantial resources to solve a problem which has existed for a long time, from the beginning, if I understand correctly. I am trying to make OP2 a better, more user friendly environment, without changing the elements of the game itself, without ruining a game I have come to love.

I am not trying to post BS, and in fact, I am not. If there is wish to do so, I can tell you almost anything you want to know about my work. There is a NDA, but for the resources I am using for this project, NDA is not required, and thusly it is MY choice to disclose whatever I please, to whomever I please. I am extremely busy on a daily basis, and devoting 90% of my free time to something that is not critical for my life is something I rather enjoy doing.

I understand the skepticism, I have read through the forums, I have seen all the posts about projects writing source code. I am doing this for pure pleasure, and because it is something that I will present as a masterpiece of personal programming.

From what else I have seen, this community has stagnated. There are numerous projects that have been started, and a fair number have stalled out and died. I am trying to bring life back to OP2, it is something that I personally wish to be playing twenty years from now.

As far as referring to bugs as 'poop', I refrain from cursing in open, public forums, always have, and always will, that is a personal preference. Going through keyboards is a common occurrence for me. I type very fast, and hit keys rather hard, thus damaging keyboards. I have moved to a new, keyless system, but that is still prone to breaking.

SirBomber, I must agree with CK9, that simple program would take not but a minute to write, and in fact, I have several much more complex programs that I could show.

As far as my data storage, it is a system that can be called a database, but in reality is far more complex. Further elaboration can be provided if one wishes.

If you wish to count what I have posted as fake and fraudulent, then so be it, I will turn my free time elsewhere to more pressing matters. I am doing this project because I want to, and because I understand it would make things so very much easier in the long run, but I do not have to, nor do I want to if people will accuse me of lying. I will continue my work on this project for some more time once my data system is online again, but I think this will be my last post here. If you wish more information, feel free to email me at my personal email, Troy.Radabaugh@gmx.com
Title: Source Code?
Post by: TH300 on April 27, 2011, 04:17:10 AM
Now, before anyone even things about stating that this reaction is typical for fakers, lets give him a chance.

There are only two possibilities:
1. he's faking. If that is the case, no one will be disappointed, because everyone must have read BlackBox's post which will prevent people from getting their hopes up.
2. if it is real, its one of the best things that can happen to opu.

Hence its save to give him time to show some proof.

Let me add one thing: Seeing the reactions in this thread - be they justified or not - it is completely understandable that people don't want to share their projects with the public. Other people always get afraid that it won't be finished and don't miss a chance to share this concern with everyone else, whereas by now almost all opu members know that not all projects will be finished, and those who don't know this have to learn it the hard way anyways.

I have really no clue, whether ImpulziveMyztikalGuru is really doing this. I see BlackBox's arguments. On the other hand I see ImpulziveMyztikalGuru's explanations which explain at least some of the inconsistencies. His reactions (including the last one) seem plausible and the picture of his personality that he's drawing seems consistent. If he's faking it, its a good fake.

So, yea, further speculation is pointless. If he is saying the truth, he cannot give us proof right now.

Edit: This doesn't mean that I think ImpulziveMyztikalGuru is telling the truth (BlackBox's concerns are valid). It means that I care about the truth as much as I know about it - not at all. If that isn't true for yourself, you might want to think more carefully about what you believe.
Title: Source Code?
Post by: Sirbomber on April 27, 2011, 06:34:58 AM
Quote
bomber, that's far too easy a test.
Congratulations CK9, that was completely the point.
Title: Source Code?
Post by: Zardox Xheonov on April 27, 2011, 08:15:08 AM
Quote
...Hence its save to give him time to show some proof....

(cut off some wording)
I agree with th300, this could be a very rare opertunity for the opu...

Let us take advantage of this opertunity and not waste it away.

Because if he is actually telling the truth, and we shun him away, that would be a major loss on our part.

He has somthing to offer, so what do you do? You accept it.
Title: Source Code?
Post by: Sirbomber on April 27, 2011, 05:00:29 PM
Quote
He has somthing to offer, so what do you do?  You accept it.
That's the point exactly; all he's done is claim he's done something, and whenever we say "prove it" he just makes excuses or cries about how we're being mean to him.  If he really had anything, he'd either post it or make a single short post, something along the lines of "just making some finishing touches, give me a week/month/whatever", instead of these long winding walls of text designed specifically so nobody will read them.  I would like to be proven wrong, but experience shows I probably won't be.
Title: Source Code?
Post by: CK9 on April 27, 2011, 05:19:27 PM
you know bomber, as soon as I shut down for the night, I knew you were going to say that :P

But if your intent was to see if he knew anything about coding at all, think about what it says that I knew what to do :P
Title: Source Code?
Post by: jcj94 on April 27, 2011, 06:04:07 PM
Wow.. I feel like a failure.. I'd have no clue where to even start with that... (the test).

Question: How in the world do you even read a debugger/disassembler (Ollydbg is what I have been playing with)... I remember in IRC spike saying something along the lines off 'it'd take a month per .dll, even if you know how to read the disassembler language'
Title: Source Code?
Post by: BlackBox on April 27, 2011, 06:20:18 PM
Quote
He has somthing to offer, so what do you do? You accept it.

I'll certainly accept something that can be backed up with more than empty promises. As far as "negative criticism" is concerned, to me it seems kind of expected when very little solid proof is offered (and from the standpoint of someone who writes software for a living, that someone being myself, some very highly improbable explanations are given instead, which to me have not even proven that any kind of development progress is being made, such as comments about hard drives being unusable and explanations about how it works that are very shaky and unclear on technical grounds).

In other words, the software engineering equivalent of the "dog ate my homework" excuse.

This combined with the outcomes of previous similar attempts at recreating OP2/OP3 in this community is enough to make anyone skeptical who has been here at least some amount of time, I'd think.

I would love to be proven wrong and someday come to this thread and see a link to a working binary or even just screen shots, but I'm not holding out hope for that to happen either. Like I said before, I'm not trying to sound like a troll or be negative for the sake of being negative but in this community where many of these attempts have gotten people's hopes up and then failed, you either need to provide proof or it might be best to keep it under wraps completely until there is actually something to show.

--

Edit: to answer the above question, the best place to start would probably be picking up a book on the x86 assembly language. The missions are all written in MS visual C++ 6, which (along with many other languages and compilers) inserts library code into the DLL that is probably likely unused (in any case it can be ignored by the person reading the assembly dump because it is common code that is well documented).

The useful code that has anything to do with the function of the mission is probably no more than 30-50 pages of assembly and the rest of it can be entirely ignored.

As far as understanding logical function, most compilers generate recognizable code that can be translated to the higher level operations in C/C++. A great book to learn about this that I'd suggest is the following (it has a huge focus on security related reverse engineering and does assume that the reader knows how to program in assembly already, but the concepts can be applied elsewhere): http://www.amazon.com/Hacker-Disassembling...g/dp/1931769222 (http://www.amazon.com/Hacker-Disassembling-Uncovered-Techniques-Programming/dp/1931769222)
Title: Source Code?
Post by: jcj94 on April 27, 2011, 07:06:11 PM
Thank you blackbox!

And I, though enjoying this project, am slightly skeptical...
 
Title: Source Code?
Post by: Hidiot on April 27, 2011, 07:46:18 PM
My personal stance on this is wait and see. Sure, his demeanor doesn't inspire me, but I've refrained from bashing, because he did say something will come.

Now, my biggest question is: When can we expect to see that concrete evidence you claim to want to bring to us, IMG?
Title: Source Code?
Post by: ImpulziveMyztikalGuru on April 27, 2011, 09:13:50 PM
I apologize for the way some things may have come across. This project has my full attention during my time away from work. Ideally, the parts I am waiting for will be here in the next two weeks or so, but for now, I am blocking out ideas that will be incorporated into the current code. I would love to give screenshots, but I am pretty sure everyone here already knows what OP2 looks like. That is something I am not going to change without unanimous community decision, as I feel it would change the game from being OP2.

I apologize sincerely for not being able to show proof, as much as I want to, as proof is what I constantly strive to give, given my job. It is not my intention, nor my desire, to let this project fail and die as others have. Failure is not an option, not just quoting, but because it is true in my line of work. You either prove something the best you can, or it gets ignored.

I am coming up on a vacation period after a major test in a week and a half, and that time will be used extensively on fixing computer issues, resuming coding, and posting working, or at least semi functional code, to the community so progress can be seen.

So my deadline is now set for something to give to you all. Two weeks, three at max, and something will be posted for all to see. It wont be pretty, but there will be something.
Title: Source Code?
Post by: jcj94 on April 27, 2011, 09:27:43 PM
Quote
So my deadline is now set for something to give to you all. Two weeks, three at max, and something will be posted for all to see. It wont be pretty, but there will be something.
1: Since when is programming ever pretty?  To me, its lines of code that don't do much by themselves... they are only pretty when you've compiled it.

2: Proof is good.  Very good.

3: Advice: If you need to upgrade hard-drive/hard-disks, us an SSD (Solid State Drive).  They are much, =much= more durable.  This laptop currently has one in it, and it can take a good beating before hard-disk failure.

4:  :op2:  (thumbsup)  :op2:  Don't stop because were skeptical.  Hey, I'm even skeptical about some of =my= projects.  
Title: Source Code?
Post by: Freeza-CII on April 28, 2011, 09:26:52 AM
code can be very pretty with the proper structure comments notes ect.

Any way I am waiting for the deadline for proof or excuses.  
Title: Source Code?
Post by: jcj94 on April 29, 2011, 12:52:12 PM
Agreeing with CK9 here.

Well, maybe if I can get allowence to post our Java code for our bot sometime...
we try to /**comment**/ as much as possible.
 
Title: Source Code?
Post by: Nightmare24148 on July 18, 2011, 11:38:32 PM
Quote
So my deadline is now set for something to give to you all. Two weeks, three at max, and something will be posted for all to see. It wont be pretty, but there will be something.

Hum dee dummmmmm

Also, lol at coding while drunk
Title: Source Code?
Post by: Hidiot on July 19, 2011, 04:28:26 AM
I think he meant 2-3 months, not 2-3 weeks, so let's give him that... If only they did not already pass >_>
Title: Source Code?
Post by: jcj94 on July 20, 2011, 08:23:41 PM
Well :/  That sucks.

I think I speak for everyone when I say
"This seems like every other project around here.."
Title: Source Code?
Post by: TH300 on July 21, 2011, 07:18:12 AM
Its not like any other project. Its worse. Other projects were at least honest about their actual progress.

I was wrong when I believed that this is true. It is obviously all a lie.
Title: Source Code?
Post by: WooJoo on July 21, 2011, 11:53:36 AM
well the internet is a place full of trolls
Title: Source Code?
Post by: Arklon on August 08, 2011, 08:02:58 PM
There was too much extra 'poop' in the exe, making this project unfeasible.
Title: Source Code?
Post by: WooJoo on August 09, 2011, 02:20:46 PM
"poop" = and then i lold



hard
Title: Source Code?
Post by: BlackBox on August 09, 2011, 08:53:41 PM
I'm closing this topic before it goes any more offtopic than it is already.

I'm assuming the project is a hoax, if not then the person/people in question can start a new topic to announce something tangible that they actually have.