Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Memories. Is this a lost art or do people still do this starting out? I mean now that everyone has unity to play with do people no longer have to know about the actual hardware?


These days you can implement many oldskool effects as pixel shaders, only with about a zillion abstraction layers added. Another nice and very exploration-friendly way to learn graphics programming from the ground up is the HTML5 Canvas/ImageData API which lets you put pixels into a framebuffer like it’s 1995.


Yes, this is my favourite aspect of being a web developer today, it is possible to refrain from using all the heavy weight libraries and just play with canvas and raw code... you have a lot more fun, have (almost) complete control, get to learn a lot more and the result is way leaner.

Also https://www.dwitter.net/ uses canvas + JS as the basis for it's code golfing. It's surprising what you can fit into 140 characters, and forces you to think more mathematically when creating effects.


In general, people will code to the API they have. For graphics that mostly means GPU hardware and shaders. The old raster tricks still come out from time to time, and there are reasons to software render certain effects, but there are many new GPU-centric effects that are equally diverse and clever. Experienced devs will often use third-party engines as cross-platform deployment tools and then work around whatever the engine provides. But indies are relatively more likely to engage with the higher-level systems which can lead to a certain defining aesthetic(e.g. in the era of Flash games, the built-in filters, masks, etc. got a thorough workout, even though by the end, everyone making optimized games was caching their results to bitmaps).

With audio, on the other hand, everyone will just look for fmod or an equivalent. There's rarely much time budgeted for audio and there's much less shared experience in doing it ground-up.


I have the feeling many game devs do their own engine, but yes, the new people start with a existing engine.


I think you are correct, however I also think many people at least try to roll their own, it's such great learning experience to try - touching the rendering the physics all for yourself, even if it is only primitive.

However I believe this will change in the future and we will go full circle back to people rolling their own for real world use... why? because modern real-time rendering engines are an amalgamation of hacks on how to get beleivability out of triangles and shaders, they are necessarily complex - to the extreme - and you cannot compete as an individual. However the future is clearly path-tracing or some form of ray based rendering (it's sustainable, the hardware has a future there - it's parallel), path tracing being a simpler unified model for rendering makes it's completely within the grasp of individual developers, this would open up a whole world of creativity.


Most game developers do not code their own engines. In fact unless you're doing something special (e.g. claybook, Miegakure, anything with true videos, or an unusual development pipeline/platform), it is immeasurably more economical to use an engine like unity/unreal with their large communities, asset stores, support and decent tooling. Even many 'AAA' games are now starting to use these commoditised engines (possibly with their own extensions/forks)


Uhmmm....I work for one of the top 3 largest game publishers in the world and all of our games are made using our own engines that were done in-house. Unity and Unreal Engine are only used for prototyping(with maybe one exception in Unity, but that was a small project done by a very few people).


There are a lot of "AAA" publishers that are not at the Ubisoft or EA level. Bandai Namco, for example, uses Unreal. So does Square-Enix.


I guess I've only been exposed to the independent scene (which I would assert accounts probably for the majority of releases, if not the sales volume)

That you're using a handrolled engine is fine, I'm sure your company knows what they're doing. But in the context of this post, and for people who'd like to start game development/design, saying that most devs write their own engine is in my opinion damaging, as I really don't think that most smaller studios do. It increases the barrier to entry, and perpetuates a certain amount of elitism, which really considering the make up of the industry is no help at all.


>as I really don't think that smaller studios do

A great amount of indies do. Super Meat Boy was built with a hand rolled engine. Same for Cave Story, Binding of Isaac, Terraria, Stardew Valley, Dwarf Fortress, Celeste and many other memorable titles.

It's more intense on the Japanese side though. Loads of -doujin- game developers, like the many Touhou spinoffs games handroll their own stuff.

I'd say, using a prebuilt engine ecosystem has become more common with the appearance and growth of Unity but it hasn't stopped people doing their own thing and it certainly hasn't been a solely positive contribution, you criticize elitism in the days when the Steam store pages are flooded by trashy asset flips and barely working early access games that sometimes never truly get finished. A little bit elitism would in fact not hurt if we don't want to hit another video game industry crash.


Stardew Valley and Celeste aren’t entirely custom. They both use XNA.


I would fire you for your lack of knowledge. The top 100 mobile gaming apps are mostly unity based. Top 100 on steam heavily populated with unreal and unity based games.


You'd fire somebody for not knowing what people outside of a closed-loop corporate environment happen to use?

I mean, I posted 'cause he was wrong, but this is Bad Boss garbage.


And which part of what I said disagrees with what you said? I just said how it's like at one of the top publishers in the world. I haven't said anything about anyone else or even about the industry as a whole. I guess I'm lucky you don't work in our HR department then!


> In fact unless you're doing something special (e.g. claybook, [...]), it is immeasurably more economical to use an engine like unity/unreal

Even Claybook is based on Unreal, just with heavily customized rendering and physics systems.

Lead developer: https://twitter.com/SebAaltonen/status/977195448132775936


Aren't game engines like Unity and Unreal only appropriate for first person shooters or third person adventure games? What about 2d platform games? Real time and turn based strategy games? Flight sims? Sports games? Board game remakes? You wouldn't choose a generic "game engine" for any of these, would you? Honest question, I'm not a game programmer, but as a programmer it sounds unlikely that a single package could be appropriate for so many different genres of games.


Hearthstone is done in Unity. Unity has a bunch of 2d platformer features these days.

What you're missing is that these big engines are also game development environments with extensive tools and integrated market places to purchase assets and features.

Learning Unity is learning an entire platform. It's a marketable skill.

Generally smaller developers don't have the development resources to roll custom everything. But modern platforms have enough spare hardware resources that the inefficiencies of Unity are worthwhile.


There actually has been a lot of work done to make it suitable for use cases such as 2d, racing, etc.

An engine like unity basically provides utilities such as physically based rendering, camera systems, visual editors, scripting environments, a scenegraph editor, preview windows, io, asset import and conversion, audio, etc. Some games are of course easier to make than others in such engines, but they aren't that prescriptive.


Lots of game developers roll their own game engines. Some even make game engines as their new programming language training exercise. Unreal and Unity are making inroads into AAA.


You can do the same thing using an HTML canvas element:

http://slicker.me/javascript/fire/fire.htm

(not mine)

There are similar demos out there using particle effects.


Make emulators. Program for them the old school way. Win


This effect doesn't require knowing anything about hardware...




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

Search: