Hacker Newsnew | past | comments | ask | show | jobs | submit | trueSlav's commentslogin

My old 1090t from 2010 says hi.


I remember that one, the one that said hi to already-on-the-market i7 980x! :)


This is so stupid, the "primer on the basics" should be "Algorithmization for Computer Science", not a 900+ page math textbook (that doesn't even explore graph theory, calculus and differential calculus).


This breaks the HN guidelines against calling names in comments: https://news.ycombinator.com/newsguidelines.html. Please don't do that here.

We detached this subthread from https://news.ycombinator.com/item?id=13800495 and marked it off-topic.


So if I understand correctly, this book is both too long and doesn't cover enough? (I'm confused about the book to which you're referring. If it's "Mathematics for Computer Science", then it does cover graph theory from p445.)


Read the TOC again, there's plenty of graph theory. Calculus isn't important for CS.


Calculus isn't important for CS.

It can be, depending on what you're doing. Look at back-propagation in neural networks for example, where the whole thing is based on the chain rule from Calculus.


Yeah absolutely. Having a broad background in math can help in surprising places but there's much more math that has applications to CS than can fit in one class.


Calculus is a prereq for taking the course in which this book is used. I'm pretty sure Differential Equations is also a required course for CS majors at MIT, too.


The fact that it doesn't have an integrated gpu is a GREAT THING. This is an enthusiast/server CPU, if you can't be bothered to buy a cheap dedicated graphics card, wait for the mobile/apu Zen.


It's mostly also a packaging issue - I don't need 3D capabilities, so a basic 4K supporting Intel GPU works well and doesn't require me to add a GPU to a chasis (which can then be mini-ITX).

Hence my question about having GPU integrated to the motherboard like older boards had it.


You'll have to wait for the APUs, then, which probably won't arrive until fall.


This is not server. The actual server Zen, codename Naples, is coming later.


I think it'd be great if we could rely on every part having a standard, reasonable, GPU, even if we just use it as a clever vector unit and never push a single pixel through it.


No really. You'd prefer to use that silicon area to increase your perf. If you want a CPU-GPU combo wait for the laptop/mobile part of Zen codename RavenRidge.


CPUs already have vector units. Having vector units that more closely resemble a GPU as part of the base ISA would be an interesting development.


For a server I want a crummy integrated GPU to use every once in awhile without wasting a PCI-E slot.


Whoever thinks that all these random 3D engines are worth anything to anyone but hobbyist programmers is delusional to say the least. "gui tooling" (or as I like to call it: "the engine") represents maybe 80 to 90% of value of an engine like Unity or Unreal. I'm sure that anyone who's actually done some project in one of these can confirm what I'm saying. The amount of money and time spent on the tools of UE is simply insane.


There is a lot of custom 3d game engines used even for commercial projects, I remember reading a survey where it was about 20-30%. Although companies do not opensource them since they see no value in it.


Tooling is a big chunk but it is not the main benefit of an engine in my opinion. There are so many optimizations and abstractions (think build, platform, gl, LOD handling, skeletal anim, memory handling for things such as landscape) done in your game to make sure it runs super smooth and beautiful at the same time that if you decided to do it yourself you would be working countless of hours to get to the first abstractions.


I think importance of tooling is highly subjective, depends on your habits and workflow. Some people need to have an editor like Unity, others just want to create their whole game in code, e.g. www.randygaul.net/2017/02/24/writing-a-game-engine-in-2017/


I suspect WebAssembly is going to create a niche for very lightweight engines optimized for download footprint, too.

And as you say, UE and Unity seem to be optimized for artist-driven projects rather than coder-driven projects. Which, realistically, are always going to be the majority of commercial efforts, but coders often prefer code. I've written a (basic) 3D object modeller app, and I still can't work out how to use Blender.


> I suspect WebAssembly is going to create a niche for very lightweight engines optimized for download footprint, too.

I wanted to create a simple 2D game once, aiming for lot of platforms, including mobile and web. Most engines (I looked into Unity and Godot) produced just too heavy results for web. I ended up using Haxe/Flixel.


That guy says his must-have feature of c++ is operator/function overloading. That seems an odd choice to me. I have been a c++ developer for over a decade. I would have leaned more towards it being a necessary evil.


It's a must-have for 3D programming, for working with vectors and matrices. OpenGL's shader language is basically C with (hard coded) operator overloading for this reason.


Could you explain a little more about how the operator overloading is used in this context? Is it just that arithmetic operators are made to work in their linear algebra sense on objects representing matrices, so M*N will return a new object representing the matrix product M×N?


That's exactly how it would be used. Game programming involves a pretty enormous amount of geometry and vector arithmetic, so it's a domain where being able to write s*(u+v) is an advantage over scaleVec(s, addVec(u, v)). Same logic applies to matrices, as you described.

Personally, I think there are more important advantages of C++ over C, and operator overloading can get ugly FAST if you're not careful.


That makes sense. Thanks for the explanation!


Must-have necessary evil :)

Anyway, I do not agree with all the stuff in the linked article. He was just used as an example for need of programmer-focused engines.


It isn't even necessary. Its just convenient, maybe sometimes =)


But a game ships with a runtime, not an SDK. If you can build the game's content using proprietary tools, but ship that content backed by a FOSS engine compatible with the output of those tools, I think that gets you 90% of the way to being able to claim that your game itself is FOSS. Sure, people might not be able to alter and "recompile" the art assets from source without proprietary tooling, but they can alter the game mechanics, the scripting, the levels, etc. freely; and also introduce their own assets using whatever tooling they like.


Unity had no GUI tooling until very recently, yet was already very popular.


I think they're referring to the GUI of the actual tools you're using within the engine, not the ability to create a GUI for your project in the engine.

I mean... just look at the screenshot of the OP. That needs some pretty serious work. :-/


Indeed, and even the new GUI is very limited. Also other tools are not really great, e.g. animation graphs. But I consider this Unity's way the cause of it's success. To make good tools you have to taylor it to specific use case, making it more complicated and limiting users with different use cases.


The proprietary, closed, vertically integrated tooling in Unity and Unreal are what make them such terrible tools for use in a professional development environment. All of the best programming tools are free, open source software. Yet somehow we're meant to believe game programming is "special" in some way that it shouldn't use the same ecosystem as every other area of software development. Yeah, right.


Because the values of the game industry are rooted in the demoscene, commercialization of game related IP assets and consulting work related specific hardware and design knowledge, without any religion about freedom of tooling, this is what most FOSS advocates fail to understand about the industry.


My opinion is quite similar to yours. I have never worked in videogames but my, uninformed, opinion has always been that open source videogames lag so much behind other types of open source programs because they require a lot of non-programmers to work. I don't think the complexity of the engines is the main problem, after all operating systems or compilers are also quite complex and critical software. So, what is so special about programming that makes people want to share their work for free? The only other field I think that has a similar collaboration culture would be academic research.


> So, what is so special about programming that makes people want to share their work for free?

I created my engine for myself, I guess a lot of open source projects start with one person solving his problem/having fun. I open source it because:

* money is not everything, it might bring value to some people, but I doubt people would be willing to pay for it * even if it's open source it does not prevent me to earn money with it * I benefit from people using it - submitting patches, reporting problems, testing on different hardware * it can bring money in different ways * if I share my property (e.g. car, flat, computer) with somebody else, it limits my use "rights", if I share software, it limits me in no way


Given that every other industry has moved to FOSS software for their tooling, it's the game industry that has a "religion" about proprietary software being necessary to make money.


The claim that "every other industry has moved to FOSS software for their tooling" is demonstrably false.

Has the graphic design industry moved off Photoshop and Illustrator? Has video editing moved off Avid, Premiere, et. al.? Have Windows devs abandoned Visual Studio?


I am not sure that game industry has a religion about proprietary software, they use a lot of open source libraries. But you need a lot of tools to make a game - GUI editor, animation graph editor, audio editor, cutscene editor, AI editor ... and it makes harder to create games if all of these editors are from different 3rd party providers with different controls, settings, installers, .... What is more some of these tools need to be taylored to the specific game or integrated too tightly with other editors. E.g. cutscene editor must be tightly integrated with scene editor, or AI editor must be taylored to specific game, since they use extremely different AIs.

What is more thare are not really FOSS tools for game industry. There is GIMP or Blender, but most artists prefer commercial alternatives because they are arguably better. Tiled editor is pretty popular for 2D. But other than there is almost nothing. I would love to avoid implementing an editor/debugger for my behaviour trees, or visual editor for shaders, but there is simply no good FOSS for that.


What other industry?

Many of the tools I use daily on our customer projects are proprietary.


I wish it were true but major parts of my time are not using FOSS; iOS app dev & embedded dev notably.


Unity is opening more and more of the engine up.

And as for Unreal...

https://www.unrealengine.com/ue4-on-github


I wish Unity make their code public, they might be publishing a bit of code but most of it is still hidden.


There are no other better engines and what's more, there only two serious competitors out there. CryEngine and Unity. CryEngine has nowhere near the amount of documentation UE has (both official and unofficial) and investing time into learning to work with CryEngine is questionable since the company behind it may go bakrupt at any time and the skills you'll learn are not really usable outside of your project(s) since pretty much no one in the industry (except CIG and Warhorse) uses it. Unity is great for what it is, but it's not exactly the best choice as far as ambitious projects go.


CIG switched to Amazon's Lumberyard fork of CryEngine, which I suspect will become the canonical upstream, provided Amazon keeps up it's support and doesn't alienate people with crazy Amazon service tie-ins. My (not very in-depth or researched) impression is that the original team at CryTek suffered a brain drain long before this latest round of financial difficulties (e.g. lead engineer Tiago Sousa moving to id Software to succeed John Carmack as lead renderer guy), so I suspect they don't have a huge the "real change is happening in this branch" advantage over Lumberyard anymore, and Amazon is surely more stable than CryTek is.

Note I'm not working inside this industry, this is just pieced together from news observation.


For public engines yes, for private engine it's another story!


Well, we're talking about public engines here, so you point is kind of irrelevant.


None. They're no silly command line tools two people wrote in their spare time.


> "developers can be confident that they will rewarded for doing the right thing, not looking like they are doing the right thing"

From my professional experience (10 years in 3 companies), this is one of the biggest issues in software development businesses. You're either too small and then the manager doesn't have the time or skill set to effectively evaluate the developer's efficiency or you're too big and there are too many layers between the developer and the manager. The situation when your direct supervisor is also a person who is authorized (and able!) to evaluate your performance happens so rarely.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: