EngoEngine / engo

Engo is an open-source 2D game engine written in Go.
https://engoengine.github.io
MIT License
1.73k stars 137 forks source link

Input Abstractions` #433

Open yarbelk opened 7 years ago

yarbelk commented 7 years ago

I came across a very interesting article about the abstractions in the steam controller libraries: http://www.gamasutra.com/blogs/LarsDoucet/20170125/289904/The_Steam_Controller_Configurators_Untapped_Power.php

I think it would be interesting to see if we could incorporate some of the ideas.

I find this the cleanest abstraction I've ever seen in a control system. It also makes me happy because it seems to be a form of clean architecture, which I love: https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html

yarbelk commented 7 years ago

Ok. will see about a making a quick pass on this for review - though it might be a bit of time.

otraore commented 7 years ago

Looking forward to it

jonbonazza commented 5 years ago

I don't know if the steam controller API is necessary, but I absolutely agree that action-based input config is superior to button remapping.

Godot (the engine I am using for my current game) uses action-based inputs and not only is it more intuitive to players, it's proven much easier to manage from the developer perspective as well. So yea... All for this 💯 %

yarbelk commented 4 years ago

Did anyone do any work on this? I have changed jobs twice; and am now doing more (read: only) management than programming and am way out of the loop.