5 ms·
When I started programming, it was to make games during middle/high school and I always had the problem of getting them running on anyone else's hardware. I hav
by tgb 6y ago
When I started programming, it was to make games during middle/high school and I always had the problem of getting them running on anyone else's hardware. I haven't touched that for years, so what are the easy ways to make things that will run on someone else's computer and will still run in 5 years without futzing around?
- crispyporkbites 6y agoHTML and JavaScript aren’t going anywhere fast
- kfarr 6y agoYes web is where it's at!! And tons of nice gaming libraries
- cxr 6y agoMaking something built to run in the Web browser is the only thing we have if your interest is in checking all the relevant boxes instead of lying to yourself in some way. Drawbacks, in order of decreasing importance: 1. Terrible, terrible tooling 2. Hostility from browser vendors themselves 3. Many APIs are still non-standard/officially "experimental", even if implemented 4. Possible performance issues for ordinary programs, likely issues for many games 5. People will make fun of you for this
- modeless 6y agoI'm interested to hear more about 1 and 2. In what way are browser vendors hostile to games, and what are the biggest tooling problems?
- tpxl 6y ago> Making something built to run in the Web browser is the only thing we have if your interest is in checking all the relevant boxes instead of lying to yourself in some way. What. Using a mature language and not relying on feature of the day will produce a game you can compile 5 years from now and it will just work. Use SFML or something to provide a cross platform way to create windows and interface with the system and you're pretty much set. If doing all the drawing and physics code is too much for you to do, use a game engine or a physics library. Those will also compile in 5 years from now and run on other people's computers (assuming you get the source).
- cxr 6y agoYou're ignoring the constraints that define the problem. If you're willing to do that, then any problem can be called "solved" after giving one of these kinds of handwavy non-answers. The thing is, this is exactly what I was trying to pre-empt in my aside about checking all boxes, etc. (You even quoted this.)
- tpxl 6y agoUnless I'm missing something, the constraints were >easy ways to make things that will run on someone else's computer and will still run in 5 years without futzing around SFML does that. Java does that. Godot engine does that. Bullet physics does that. And yes, a javascript engine also does that.
- cxr 6y agoHow is SFML going to help a Windows or Linux user distribute a program that will work on someone else's Mac tomorrow, let alone one that will work in 5 years?
- tpxl 6y agoSince we're moving the goalposts, SFML has java bindings and binaries for windows, linux and macOS.
- deleted 6y ago[deleted]
- cxr 6y agoDo you have a non-handwavy response for how SFML is a solution or not? Moving the goalposts involves introducing new constraints or altering old ones after the fact. That's not what's happening here, except for maybe on your end. You can choose to ignore them or not, but they're right there in the question: > what are the easy ways to make things that will run on someone else's computer No amount of handwaving and category errors are going to adapt these constraints or any other constraints of the world we're actually living in to be more favorable to your suggested solution.
- doomlaser 6y agoIf you want something simple, restricted, and programmer friendly, PICO-8 is the way to go https://www.lexaloffle.com/pico-8.php https://www.lexaloffle.com/pico-8.php And in the spirit of open source, I couldn't not recommend the open source game engine Godot, which is rapidly closing in on its proprietary competitors like Unity and Unreal: https://godotengine.org/ https://godotengine.org/