我的世界 为何用java开发?

news2024/9/30 11:28:37

mc用java开发就很好滴说明了一点编程语言本身只是个工具工具的意义在于被使用,老外搞这些工具,都带有一个明确的目的性,就是我要做什么然后再来看,我们怎么用手头上的工具将其实现。

mc的开发人员最早就是一个普通的java程序员,是因为他自己喜欢玩这类型的游戏,所以他就想着,诶,如何用他手中的技术,将他想要玩的东西实现。

另外,很多人可能不知道,mc的流行,跟mod的制作简单方便也有很大关系,很多玩mc的,其实并不是在mc,而是在玩mc的mod。

java本身的简单,健壮,使得mc开发mod也变得很容易因为开发mod容易,所以使得mc的mod是极大丰富了mc的生态,也在客观上提升了mc的玩家数量。

所以搞技术的时候,跟老外交流,是非常愉悦的,因为老外不管做什么技术都会首先跟你讲清楚,我们要做什么然后我们再来看,用手头上的工具怎么做。如果实在不行,我们再来看,怎么解决也正是这种思路,使得java等技术本身在逐年进步这个解决问题的思路。

你可能也听说过,你老板肯定就是这么思考问题的。

比如,怎么把大象塞入冰箱啊?一个不动脑子的工具人就会第一反应:不可能,做不到。

但是一个有脑子的潜在老板就会这么思考问题,别不着急说不可能,我们先来分析问题我们先看一下,大象有多大?冰箱有多大?如果冰箱尺寸大于大象尺寸,问题解决如果小于冰箱尺寸,那么请问,冰箱可以不可以用多个啊?大象能不能被拆分啊?大象岁数有多大啊?可以不可以是刚出生的大象啊?冰箱能不能定制啊?

所谓方法总比困难多,经过这么一分析,很多问题就迎刃而解了同样道理,你用这个方法去分析一下作者当时所在的环境。

先定义问题:我要实现一个模拟积木的软件?

分析问题:我手头上有什么工具,我会java,java是一个编程语言,那么我能不能用java来实现这个游戏啊?

如果不可以,请具体描述困难在哪里,看看我自己能不能克服。

其次,客户能不能接受。

当时有一个困难就是,需要一个美术人员做配合,那怎么办呢?作者找了他brother,不知道这个是哥哥还是弟弟,然后就由他来解决美术问题。

还有一个困难就是3d渲染,后来作者找了lwjgl来解决这个问题。

可能会有人说gc问题,这个后来市场验证,客户似乎并不是很在乎gc,其实你真做游戏就知道,gc那点停顿,很多人是能接受的,当然现在这种困难也被zgc所克服,然后一步一步,就有了后来mc的样子。

所以这就是一个普通工具人(打工人)跟一个老板本质上的不同。

很多机会,在工具人看来,那就不是机会。但是老板会把机会变成真正的产品。国内的程序员,跟客户之间,永远就隔着一个老板。所以有句话说,腾讯最优秀的,不是他的技术(就是程序员),而是他的产品经理。国内游戏行业也一直流传一句话,叫做一流的美工,二流的策划,三流的老板,不入流的技术。

说的就是这么一个道理,国内的这些人呢,一般就是两句话总结:事先你不行,事后我也行。就比如mc作者如果在国内,他站出来说,我要用java做一个积木游戏。肯定会有无数的人跟他讲,你不行的。然后等到他做出来之后,也会有n多人出来说,mc的代码写得真烂。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GloVe词向量自定义函数实现词向量降维

TEXT.build_vocab(train_data, max_size10000, vectorsglove.6B.100d) LABEL.build_vocab(train_data) pretrained_embedding TEXT.vocab.vectors上面代码加载了glove.6B.100d词向量,假设我需要设计一个函数,将词向量长为100映射到长为50,这…

在Ubuntu20.04下安装Autoware.universe和Carla并进行联合仿真

在Ubuntu20.04下安装Autoware.universe和Carla并进行联合仿真一、安装Carla0.9.13二、安装 UnrealEngine 4.26三、安装Autoware.universe四、设置 OpenPlanner五、运行Carla和Autoware一、安装Carla0.9.13 1、进入Carla 的官方 github 页面,找到0.9.13版本 https:/…

代码随想录算法训练营第五十八天-单调栈1|739. 每日温度 496.下一个更大元素 I

739. Daily Temperatures public class DailyTemperatures {//暴力解法public int[] dailyTemperatures(int[] T){int length T.length;int[] result new int[length];for(int i 0; i < length; i){int current T[i];if(current < 100){for(int j i 1; j < len…

C++语法(13)---- 模拟实现priority_queue

C语法&#xff08;12&#xff09;---- 模拟实现queue和stack_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130068637 目录 1.使用 2.模拟实现 1.数据元素 2.数据建立 3.函数实现 4.向上调整和向下调整 3.仿函数&#xff08;函数对象&…

【马蹄集】第五周作业

第五周作业 目录MT2030 邮箱地址MT2039 换换换MT2040 银行账户MT2041 三角形的个数MT2046 巨大的错误MT2030 邮箱地址 难度&#xff1a;钻石    时间限制&#xff1a;1秒    占用内存&#xff1a;128M 题目描述 一个地址由 <username><hostname>[/resource] …

DAY 34 正则表达式

正则表达式 REGEXP&#xff1a; Regular Expressions&#xff0c;由一类特殊字符及文本字符所编写的模式&#xff0c; 其中有些字符&#xff08;元字符&#xff09;不表示字符字面意义&#xff0c;而表示控制或通配的功能&#xff0c; 类似于增强版的通配符功能&#xff0c;但…

day13 信号机制 (上)

目录 信号的概念 信号的发送和定时器 信号的函数 定时器函数 信号的捕捉 信号的概念 概念&#xff1a; 信号是软件层次上对中断机制的一种模拟&#xff0c;是一种异步通信方式&#xff0c;所有信号的产生及处理都是有内核完成的。 信号的产生&#xff1a; 1、按键产生…

Excel常用函数公式20例

目录 一、【IF函数条件判断】 二、【多条件判断】 三、【条件求和】 四、【多条件求和】 五、【条件计数】 六、【多条件计数】 七、【条件查找】 八、【多条件查找】 九、【计算文本算式】 十、【合并多个单元格内容】 十一、【合并带格式的单元格内容】 十二、…

SpringBoot整合minio实现对象存储

分布式文件系统应用场景 互联网海量非结构化数据的存储需求电商网站&#xff1a;海量商品图片视频网站&#xff1a;海量视频文件网盘&#xff1a;海量文件社交网站&#xff1a;海量图片 minio的概念 Minio是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊…

淘宝天猫数据分析工具推荐(竞品数据监控查询)

在当前的电商环境下&#xff0c;天猫平台的商家非常多&#xff0c;且不同商家的营销策略、手段等都不尽相同。对于商家而言&#xff0c;面对庞大的竞争对手&#xff0c;做好对竞争对手的监控工作也是一个非常重要的课题。 商家做好竞品监控的好处有哪些呢&#xff1f; 1、做好竞…

想毕业我阿里P8测开?除非把整条业务线都裁了.我的底气何来?

简单介绍一下自己&#xff0c;某985硕士&#xff0c;现在阿里智能事业部&#xff0c;视频云中台&#xff0c;测试开发岗。年纪嘛&#xff0c;快接近你们说的去送外卖的年纪了。主要的工作职责是参与制定测试保障策略和建立测试保障体系&#xff0c;开发和维护定制的自动化测试工…

cm-14.1 Android系统启动过程分析(n)- 关机/重启/重置/升级的那些事(偏嵌入式方向)

声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的。本文参考了一些书籍的若干章节。本文使用的代码是LineageOS的cm-14.1,对应Android 7.1.2,可以参考我的另一篇博客:如何下载Nexus5的LineageOS14.1(cm-14.1)系统源码并编…

Linux-初学者系列——篇幅3_操作界面获取帮助

操作界面获取帮助-目录1、获取帮助信息-man2、获取帮助信息-help3、获取帮助信息-info上篇: Linux-初学者系列——篇幅2_系统命令界面 利用帮助命令自学&#xff1a;man help info1、获取帮助信息-man 查看命令和部分文件帮助说明信息 使用方法&#xff1a; man [参数选项]…

Linux-系统大概介绍

桌面和终端基本使用 使用CtrlAlt可以取消状态&#xff0c;利于TabAlt切屏 在Linux中&#xff0c;WIN键是Super键 打开终端&#xff0c;终端有点像Windows的命令行&#xff0c;然后Ctrlaltf2可以切换为纯命令行&#xff0c;Ctrlalt是调出鼠标&#xff0c;Ctrlaltf1切回图形用户…

Unity使用webSocket与服务器通信(三)——C#服务端(Fleck)与Unity客户端( NativeWebSocket)传输多种数据数据

一、通信时会传输哪些内容 1、字符串数据 简单的字符串&#xff1a;比如登录请求信息&#xff0c;登录结果返回的信息。 用json系列化的字符串&#xff1a;比如上传一个表到服务器&#xff0c;让它写入到数据库中。 读取文件的时候&#xff0c;读取的是string内容。 2、二进制…

如何使用Midjourney自己设计独特的Logo,常用的提示和使用效果展示(内附Midjourney提示词网站)

文章目录一、提示技巧二、图案标志(图形)1.最小线条标志(Minimal Line Marks)2.渐变标志(Gradient Marks)3.中式标志&#xff08;Chinese Style Marks&#xff09;三、抽象/几何标志四、徽章设计五、吉祥物Logo六、平面设计七、其它一些Logo八、好用的Midjourney提示词网站生成…

Java通过继承的方法来实现长方形的面积和体积

目录 前言 一、测试.java类 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 二、Changfangxing.java类 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 三、Jxing.java类 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 1.3运行截图 前言 1.若有选择…

【通用篇】chrome调试技巧

一、前言 Google Chrome 是一款由 Google 公司开发的免费网页浏览器&#xff0c;它的特点是速度快、安全、简单易用。它的市场份额长期位居全球第一&#xff0c;受到了广泛的用户和开发者的欢迎。 Chrome DevTools 是 Chrome 浏览器内置的一组开发者工具&#xff0c;旨在帮助…

深度学习目标检测项目实战(四)—基于Tensorflow object detection API的骨折目标检测及其界面运行

深度学习目标检测项目实战(四)—基于Tensorflow object detection API的骨折目标检测及其界面运行 使用tensorflow object detection进行训练检测 参考原始代码&#xff1a;https://github.com/tensorflow/models/tree/master/research 我用的是1.x的版本 所以环境必须有gpu版…

初级算法-二叉树

主要记录算法和数据结构学习笔记&#xff0c;新的一年更上一层楼&#xff01; 初级算法-二叉树一、递归遍历二、迭代遍历三、统一迭代法四、层序遍历五、翻转二叉树六、对称二叉树七、二叉树的最大深度八、二叉树的最小深度九、完全二叉树的节点个数十、平衡二叉树十一、二叉树…