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

One of my main side interests is hobbyist game engine programming. I do enjoy playing games, but I don't work on programming engines because I'm trying to publish one. Instead, I find that engine development is a supremely fertile ground for learning about many, many different programming domains (with the benefit of being very close to the hardware). Just a few examples -- concurrency/multithreading/async, including streaming file IO; human-machine interaction (controllers/keyboards but also GUI); audio programming; optimization; graph algorithms (pathfinding and more); AI; data-driven programming; computational geometry (collision detection and more); linear algebra (often via rendering but other areas as well); networking; I could really keep going but I won't. If you're at all interested in low-level, algorithmic heavy software dev, hacking on a game engine is a great way to play with it.

I'm switching gears now to working on a roguelike engine, as the term is supposed to be used. Meaning, games like Rogue itself, but also Nethack, ADOM, Angband, etc, rather than games like Spelunky. I'm excited about this because roguelikes make up for their extremely simple graphics by tending to have extraordinarily complicated systems. Of particular interest to me are procedural map generation (tons of interesting algorithmic possibilities here) and monster AI.

Besides, building a 3D renderer is not something that particularly interests me currently, so skipping that and just using sprite sheets made to look like ASCII chars is perfect.



How do you manage to test your engine? I have an interest and working on emulation and for me it is to just run the existing firmware etc and improve.

Do you create complex scenes or demos to test your engines to the limit? Don't you actually have to create a game to test your engine? For this do you port an existing open source game to your engine?


I am very interested in what you are doing, if you have any progress, please show hn.




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

Search: