zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

Rez Graham on making your own game engine. A subject dear to my heart! Although I bet this talk will mention graphics.

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

I’m not saying you should build a Unity competitor. Build a tiny engine. But you probably don’t need everything Unity does.

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

What is an engine? Well, this is open to opinion. There’s a rough scale from “library” to “framework” to “general game engine” to “specific game format engine” (pygame, Inform…)

(Of course that leads us to “what is a general game” but not this talk.)

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

“An engine is a solution. If your solution does not solve all of your problem, might as well start from scratch.”

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

That is, ripping all of networking out of Unreal and writing your own networking is a lot of works. Etc.

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

Engines also have technical constraints (platforms, etc). Are you going to spend time fighting that?

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

Then there’s Unity’s recent faceplant.

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

What goes into a game engine?

A lot of stuff. ( not gonna type it all. ) can you build all that? Maybe! Start with some frameworks. SDL is open source and modular. There’s SFML. Ogre3d? (On the border between engine and framework.)

Box2d for physics, Tiled for editing. (We’re talking C++ here, that’s a bias.)

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

You can get a Hello World up in an afternoon, a test framework in a weekend. A test level in a week? This is really simple but you can get something.

If you’re going to work on a similar game in the future, you’re going to reuse this work.

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

Down sides: if you ever work with anybody, you’re going to have to teach them from scratch.

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

If you’re writing in C++, you’re probably not insulating the dev process against C++ deep knowledge. (Similarly for other languages.)

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

Tooling? Well, that’s extra work.

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

Here is a list of games that built their own tech. (I didn’t copy it. FTL, Don’t Starve.)

zarfeblong,
@zarfeblong@mastodon.gamedev.place avatar

The big engines can’t do wild technical innovation because they have to be all things to all people. Can indies be very techncailly innovative? Maybe not by sticking to those engines! We are missing the possibilities of building something custom for a specific goal.

vfig,
@vfig@mastodon.gamedev.place avatar

@zarfeblong conveniently for us following along at home, @RYStorm took a photo of this slide: https://mastodon.gamedev.place/@RYStorm/112118831103878346

Games That Used Their Own Tech:

  • Don't Starve
  • Into the Breach
  • FTL: Faster Than Light
  • Starbound
  • Factorio
  • Darkest Dungeon
  • Shovel Knight
  • Prison Architect
  • This War of Mine
  • Banished
  • Don't Starve
  • Pixel Dungeon
  • Bastion
  • Stardew Valley
  • Legend of Grimrock
  • Crypt of the Necrodancer
ocornut,
@ocornut@mastodon.gamedev.place avatar
ocornut,
@ocornut@mastodon.gamedev.place avatar

@vfig @zarfeblong @RYStorm I enjoyed this talk but I think it only scratched the surface in terms of the pros and cons. One big pro is that imho it energizes you to make things your own way. You probably have 5 times the amount of things to code, but you eventually can become 5 times more efficient. Dealing with your own problems != dealing with someone else opaque problems. Preaching my own gospel but imho Dear ImGui also makes creation of custom tooling infinitely easier.

ocornut,
@ocornut@mastodon.gamedev.place avatar

@vfig @zarfeblong @RYStorm It’s however clearly a skillset to build that sorts of stuff, i wouldn’t recommend it lightheartedly to people who don’t have existing experience. Maybe good to toy with things on the side before jumping on what bandwagon.

vfig,
@vfig@mastodon.gamedev.place avatar

@ocornut thats a really interesting list, thanks!

raptor85,
@raptor85@mastodon.gamedev.place avatar

@zarfeblong it's actually an extraordinarily long list of the most successful indie games that built their own tech, even bigger if you count higher level api's like XNA/FNA. (as a matter of fact practically every major indie release of the past 20 years hasn't used one of the major engines)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • kavyap
  • mdbf
  • khanakhh
  • ethstaker
  • osvaldo12
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • Youngstown
  • everett
  • slotface
  • rosin
  • cubers
  • JUstTest
  • Durango
  • modclub
  • tacticalgear
  • ngwrru68w68
  • tester
  • GTA5RPClips
  • provamag3
  • cisconetworking
  • normalnudes
  • Leos
  • megavids
  • anitta
  • lostlight
  • All magazines