The moment of truth has arrived...

  • Please make sure you are posting in the correct place. Server ads go here and modpack bugs go here
  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

What are your initial responses to "Microsoft Minecraft"?

  • I'll take a look at it

    Votes: 20 42.6%
  • It'll never work

    Votes: 7 14.9%
  • meh

    Votes: 20 42.6%

  • Total voters
    47

FyberOptic

New Member
Jul 29, 2019
524
0
0
In my opinion anyone who is really serious about programming should pick up a bit of machine code experience

That's what's fun about Java. The JVM is a stack-based architecture down on the bytecode level which can give beginners an idea of what assembly development is like, without getting into the hair-pulling extreme of having to deal with (or debug) direct memory access and segments and all of that. A single method can be heavily modified or even completely rewritten without affecting anything else in the class, where as in standard machine code you'd have to slip in a jump somewhere and execute code elsewhere to avoid breaking offsets. The JVM is also very forgiving about the stack, because each method uses its own stack frame, where as in assembly, forgetting to restore the stack could be a death sentence for the application.

Coremods are generally seen as a bad thing due to issues that they can introduce, but the irony is that the experience modders gained from it may very well help them in being introduced to x86 assembly to mod this new version.
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
I think @Hambeau's point was that C++ produces the best overall programmers the easiest; not that all other languages teach bad habits. :p
I would also argue against that, because just because something is harder to learn does not mean it makes better programmers

That is more because a programmer's job is to solve problems through logic, all the rest is just syntax to make that happen faster
True, but Java tends to tell you where that letter was missing. Try forgetting a semicolon at the end of a line in a C/C++ program... :D
And that's a good thing why?
 

Hambeau

Over-Achiever
Jul 24, 2013
2,598
1,531
213
I disagree, I think you can become a great programmer in any language, and this is coming from a LISP fan :p

I think @Hambeau's point was that C++ produces the best overall programmers the easiest; not that all other languages teach bad habits. :p

My intended points:

I don't mean that C++ produces better programmers... Programmer "quality" is based on the person. I'm saying that a language or even a programming environment that "fixes" errors for you or takes care of some "house keeping" chores like Garbage Collection doesn't give the programmer the opportunity to learn how to avoid those issues.

The original BASIC language (written in 1964, btw) included what many considered the universal sin... The GOTO statement. When I learned BASIC in 1976 we were already being taught to avoid it like the plague. I doubt it even exists in modern versions anymore, although I could haul out a copy of MS-DOS 6.22 and it would still be there in GW-Basic :D

Lisp? You need a special environment just to keep track of the parentheses and curly-braces! [(), {}] :D
 
  • Like
Reactions: Padfoote

Hambeau

Over-Achiever
Jul 24, 2013
2,598
1,531
213
I would also argue against that, because just because something is harder to learn does not mean it makes better programmers

That is more because a programmer's job is to solve problems through logic, all the rest is just syntax to make that happen faster

And that's a good thing why?

It makes you remember to put the semicolon there in the first place! Back in the 80's I had to compile a laser-printer driver to attach a printer to my Sun2-120 workstation at home. it was missing a semicolon on one line and took several hours to find. I never forgot a semicolon after that experience.
 

lenscas

Over-Achiever
Jul 31, 2013
2,015
1,801
248
It makes you remember to put the semicolon there in the first place! Back in the 80's I had to compile a laser-printer driver to attach a printer to my Sun2-120 workstation at home. it was missing a semicolon on one line and took several hours to find. I never forgot a semicolon after that experience.

Right now I rather not have that purely because I need to switch from PHP (work) to lua-script(computercraft) often and some habits from php are already bleeding into lua and I rather not have the semicolons be part of that.
 
  • Like
Reactions: Hambeau

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
I don't mean that C++ produces better programmers... Programmer "quality" is based on the person. I'm saying that a language or even a programming environment that "fixes" errors for you or takes care of some "house keeping" chores like Garbage Collection doesn't give the programmer the opportunity to learn how to avoid those issues.
And if you never need to avoid those issues because the language takes care of it?

And I almost never use non-garbage collected languages, however I can manage my own memory if need be
The original BASIC language (written in 1964, btw) included what many considered the universal sin... The GOTO statement. When I learned BASIC in 1976 we were already being taught to avoid it like the plague. I doubt it even exists in modern versions anymore, although I could haul out a copy of MS-DOS 6.22 and it would still be there in GW-Basic :D
And having the GOTO made better programmers because they were taught to avoid it?

I've never used a GOTO and I still know it is evil
Lisp? You need a special environment just to keep track of the parentheses and curly-braces! [(), {}] :D
HEY! :p
It makes you remember to put the semicolon there in the first place! Back in the 80's I had to compile a laser-printer driver to attach a printer to my Sun2-120 workstation at home. it was missing a semicolon on one line and took several hours to find. I never forgot a semicolon after that experience.
Yeah, but does that make you a better programmer? I don't think so. A programmer's job is not to figure out syntax, but to solve problems with the available tools given to them quickly. How does always remembering the semicolon play into that? I can use a language where semicolons aren't required and solve the problems efficiently, so how does always remembering it in one where they are required make you a better problem solver? I understand the value of remembering them, but you don't have to all the time, and if the language errors were better you wouldn't have wasted two hours looking for a semicolon
Right now I rather not have that purely because I need to switch from PHP (work) to lua-script(computercraft) often and some habits from php are already bleeding into lua and I rather not have the semicolons be part of that.
This is also a problem. I'd rather have fluidity between languages than banged into my head syntax rules
 

lenscas

Over-Achiever
Jul 31, 2013
2,015
1,801
248
This is also a problem. I'd rather have fluidity between languages than banged into my head syntax rules
It is not yet that bad mostly the use $ for variables which doesn't happen often or to write if's like if (something) then which still works.
The most annoying thing is when I want to loop though a table(yes,lua calls it tables deal with it) and in my head I write a foreach loop but those errors do I yet need to actually write as I catch them before I even wrote them but they break my line of taught.
 

immibis

New Member
Jul 29, 2019
884
0
0
Code discussion aside, as far as the players are concerned I don't think it will take on untill at least 100% of the popular mods are ported.
...
Modded players wont want to go without their toys for any amount of performance benefit.

Then why do so many people want 1.8?
 

Azzanine

New Member
Jul 29, 2019
2,706
-11
0
Then why do so many people want 1.8?
Well... you see they don't want 1.8 otherwise they could get 1.8 either vanilla or with the very few mods that are 1.8. I think you are referring to those who would like all their mods ported over to 1.8 because of the promise of better performance.
This just reinforces my point, modded players wont even shift to 1.8 untill at the very minimum have the mods they deem essential to their experience.

Sent from my GT-I9100 using Tapatalk
 
  • Like
Reactions: immibis

FyberOptic

New Member
Jul 29, 2019
524
0
0
Well... you see they don't want 1.8 otherwise they could get 1.8 either vanilla or with the very few mods that are 1.8. I think you are referring to those who would like all their mods ported over to 1.8 because of the promise of better performance.
This just reinforces my point, modded players wont even shift to 1.8 untill at the very minimum have the mods they deem essential to their experience.

Na I don't agree. Modded players as a whole will basically take what you give them. If FTB actually had a 1.8 pack then it would have its share of people playing it. People are actually playing the 1.8 packs right now made by other folks. They're playing them enough that server owners commission mods for 1.8 to fill in the gaps and make their users happy.

FTB has the ability to make 1.8 popular overnight whether they like to admit that amount of influence or not. A big modpack group pushing 1.8, combined with Youtubers and streamers wanting to play something different for views, would snowball together into modders updating to be part of that. But FTB makes business decisions, and it's easy to see that the smart business move is to stay where modders are the most content. They didn't even make Vanilla+ run on 1.8, even though it would have been the perfect version to do that with. That's how safe they're playing it.

As soon as mods are available for Win10 edition, people will be playing'em. Whether that becomes widespread entirely depends on publicity of modpack groups, Youtubers, and streamers.
 

Type1Ninja

New Member
Jul 29, 2019
1,393
-7
0
Whether that becomes widespread entirely depends on publicity of modpack groups, Youtubers, and streamers.
I'd say it also depends on the quality of the modding API. If they make iit well and publicize it well, and even maybe advertise it - "Hey modders, come use this thing! We'll officially support you!" - then I think they could get a lot of people on board.
 
  • Like
Reactions: Strikingwolf

mathchamp

New Member
Jul 29, 2019
153
0
0
Overall I think that the original Minecraft being written in Java has been both a blessing and a curse:
  • A curse because Java will not perform as quickly as an equivalent program written in C++, due to the JVM layer along with aspects such as garbage collection which were not really meant for games due to their nature of pausing applications.
  • A blessing since it's easier to mod compared to C++ (although I'm not familiar with the options that would be available to make mods for a C++ game).
Although Minecraft additionally suffers from some poor code that reduces performance, and sometimes makes modding tougher (e.g. if things are hardcoded in).

I'm guessing that Microsoft would eventually try to implement all of the Vanilla features into the Windows 10 edition. If it did reach the point of being a clone of Vanilla, I could see Vanilla players on Windows switching over, but modded players would stick to the Java version.

I wonder what the options for modding a C++ based Minecraft would be. Would there be an official API for modding, or would the game be decompiled and an unofficial modding API added like with Forge? Or would there be an official API but an unofficial one would appear anyways due to the official one not having enough features? And would mods have to be written in C++? Would they be DLLs? Or would modpacks have to be made by downloading the source of the game and all the mods and compiling? Or perhaps a scripting language could be used, and mods would be scripts that interface with the game.
 

Type1Ninja

New Member
Jul 29, 2019
1,393
-7
0
Overall I think that the original Minecraft being written in Java has been both a blessing and a curse:
  • A curse because Java will not perform as quickly as an equivalent program written in C++, due to the JVM layer along with aspects such as garbage collection which were not really meant for games due to their nature of pausing applications.
  • A blessing since it's easier to mod compared to C++ (although I'm not familiar with the options that would be available to make mods for a C++ game).
Although Minecraft additionally suffers from some poor code that reduces performance, and sometimes makes modding tougher (e.g. if things are hardcoded in).

I'm guessing that Microsoft would eventually try to implement all of the Vanilla features into the Windows 10 edition. If it did reach the point of being a clone of Vanilla, I could see Vanilla players on Windows switching over, but modded players would stick to the Java version.

I wonder what the options for modding a C++ based Minecraft would be. Would there be an official API for modding, or would the game be decompiled and an unofficial modding API added like with Forge? Or would there be an official API but an unofficial one would appear anyways due to the official one not having enough features? And would mods have to be written in C++? Would they be DLLs? Or would modpacks have to be made by downloading the source of the game and all the mods and compiling? Or perhaps a scripting language could be used, and mods would be scripts that interface with the game.
Well, I guess that last paragraph is what the hope is. Best case scenario - official modding API appears, it's great, MS gives support for modded clients, modders receive recognition, support, and get a bigger say in how the game is developed... Minecraft becomes even more of a game engine (as opposed to just a game) than it is now.
Worst case: MS outlaws modding. Modding continues on illegal copies of the game, we all go and become underground hipster mod traffickers. :p
 

FyberOptic

New Member
Jul 29, 2019
524
0
0
I wonder what the options for modding a C++ based Minecraft would be. Would there be an official API for modding, or would the game be decompiled and an unofficial modding API added like with Forge? Or would there be an official API but an unofficial one would appear anyways due to the official one not having enough features? And would mods have to be written in C++? Would they be DLLs? Or would modpacks have to be made by downloading the source of the game and all the mods and compiling? Or perhaps a scripting language could be used, and mods would be scripts that interface with the game.

I think the decompile/recompile technique we use now for Java is probably out of the question. Java is more easily decompiled because there's basically a single compiler that everyone uses which makes it more predictable to analyze. Java is also a relatively simple language on the bytecode level. Yet despite this, there are still decompilation errors that have to be patched before the code can be used. Even finding those errors can prove difficult, because sometimes the code will actually compile, it just won't actually work properly. When I made FMC (an MCP alternative) the two biggest ones like that which I came across were the game starting and immediately exiting, and then later the world not saving when you actually tried to play it. Both were related to loops being interpreted as simple "if" statements and only executing once, which took a while to find. Others hide themselves far better because they don't present themselves as readily as those two. This is actually one of the downsides to Forge patching the entire game, because it takes any decompilation bugs that may exist with it.

Machine code is far more difficult to reverse into C++ code, and I imagine that the errors from such a process would be significant. I don't even know of any non-commercial programs that can do it to any degree of usability. Even simply disassembling it back into assembly code isn't always the most accurate since it's hard to determine locations being pointed to, and you could break things when they get put back at different positions. The more likely avenue for modding is manually patching hooks into the executable, which is still a painfully slow process because you have to read your way through tons of assembly code to find where to actually do it. This can be made worse if an EXE does a CRC check on itself, because any modifications will result in it not starting, so you have to basically crack the EXE before you can even do anything with it. You get into gray areas of legality pretty quickly, especially if anything has to be done related to the Microsoft app store stuff as well.
 
  • Like
Reactions: immibis

Hambeau

Over-Achiever
Jul 24, 2013
2,598
1,531
213
Overall I think that the original Minecraft being written in Java has been both a blessing and a curse:
  • A curse because Java will not perform as quickly as an equivalent program written in C++, due to the JVM layer along with aspects such as garbage collection which were not really meant for games due to their nature of pausing applications.
  • A blessing since it's easier to mod compared to C++ (although I'm not familiar with the options that would be available to make mods for a C++ game).
Although Minecraft additionally suffers from some poor code that reduces performance, and sometimes makes modding tougher (e.g. if things are hardcoded in).

I'm guessing that Microsoft would eventually try to implement all of the Vanilla features into the Windows 10 edition. If it did reach the point of being a clone of Vanilla, I could see Vanilla players on Windows switching over, but modded players would stick to the Java version.

I wonder what the options for modding a C++ based Minecraft would be. Would there be an official API for modding, or would the game be decompiled and an unofficial modding API added like with Forge? Or would there be an official API but an unofficial one would appear anyways due to the official one not having enough features? And would mods have to be written in C++? Would they be DLLs? Or would modpacks have to be made by downloading the source of the game and all the mods and compiling? Or perhaps a scripting language could be used, and mods would be scripts that interface with the game.

Someone has already put together a "Minecraft development kit" plug in for Visual Studio that allows you to develop and debug using the VS environment to create Java programs, which are then passed to the Java SDK to be compiled. It includes a version of Forge for both MC 1.7 and MC 1.8, as well as the code for an older version of Mekanism. I found out about it on MSDN forums (Microsoft Developer's Network).

I could see Microsoft putting together a Visual Studio "Minecraft SDK" add-in that should allow development in any Visual Studio language... That's the end goal after all, to get tomorrow's developers using Microsoft tools to do their jobs. It's why we as individuals can download the various supported languages (VBasic, VC++, VC#, etc.) as Visual Studio Express edition or the entire set as Visual Studio Community... They will make their money selling Visual Studio Enterprise and the associated Server software needed to run their Collaboration features to the corporations that programmers will be working for.

There already are such free SDKs in existence... There was a gaming SDK made available a few years ago, and also a Robotics SDK that worked with everything from Lego Mindstorm to the Stamp microcontroller and several prebuilt robotic platforms for all the VS languages.
 

Padfoote

Brick Thrower
Forum Moderator
Dec 11, 2013
5,140
5,898
563
Someone has already put together a "Minecraft development kit" plug in for Visual Studio that allows you to develop and debug using the VS environment to create Java programs, which are then passed to the Java SDK to be compiled. It includes a version of Forge for both MC 1.7 and MC 1.8, as well as the code for an older version of Mekanism. I found out about it on MSDN forums (Microsoft Developer's Network).

I had heard whispers that it was Microsoft that did this, but nothing to prove that.
 
  • Like
Reactions: Type1Ninja

FyberOptic

New Member
Jul 29, 2019
524
0
0
So it's here. It's a thing.

Positives:
  • It's Minecraft.
  • It is indeed MCPE on a PC, which is something I've wanted to play around with for quite a while without thumbing around on a phone.
  • It runs very playably even under a VM (make sure you disable mouse integration or it'll spaz out).
Negatives:
  • It didn't have any sound for me, but that could be related to being on a VM so I won't hold it against it yet.
  • It crashed after using a furnace. But it's beta, so.
  • It's tied to your Xbox Live account, so you're stuck with whatever stupid name you might have rather than your Mojang name.
  • You have to pay to change your name if you've done so in the past (assuming it's even available).
  • In-app purchases.
  • It's Windows 10-specific. I pulled it into Windows 7 (after digging it out of its hidden location) but it's an invalid executable right from the get-go, which is already a setback to making it run on Win7. (EDIT: Nevermind, I modified the PE header to make it try to run on Windows 7, just missing libraries now.)
  • The symbols were stripped. Modders benefited greatly from these being left in MCPE, but this is a massive setback to modding Win10 Edition and almost makes it not worth the trouble when combined with the DRM and everything else.
 
Last edited:

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Oh lord...this doesn't seem to be good. For me the negatives outweigh the benefits, especially the in-app purchases and symbol stripping (that is definitely the worst part, good on you for bolding Fyber). But yeah, I don't like the look of that one bit...
 

Psychicash

New Member
Jul 29, 2019
700
0
1
So it's here. It's a thing.

Positives:
  • It's Minecraft.
  • It is indeed MCPE on a PC, which is something I've wanted to play around with for quite a while without thumbing around on a phone.
  • It runs very playably even under a VM (make sure you disable mouse integration or it'll spaz out).
Negatives:
  • It didn't have any sound for me, but that could be related to being on a VM so I won't hold it against it yet.
  • It crashed after using a furnace. But it's beta, so.
  • It's tied to your Xbox Live account, so you're stuck with whatever stupid name you might have rather than your Mojang name.
  • You have to pay to change your name if you've done so in the past (assuming it's even available).
  • In-app purchases.
  • It's Windows 10-specific. I pulled it into Windows 7 (after digging it out of its hidden location) but it's an invalid executable right from the get-go, which is already a setback to making it run on Win7.
  • The symbols were stripped. Modders benefited greatly from these being left in MCPE, but this is a massive setback to modding Win10 Edition and almost makes it not worth the trouble when combined with the DRM and everything else.
Now... What does this mean for the modded scene in the future?
(Shakes magic 8 ball)

Sent from my SAMSUNG-SM-N900A using Tapatalk

Edited because my phone has a less intelligent text prediction than the old Nokia n95 seriously wtf