Gerold55 / laptop

Introducing the MineTest Laptop Mod
Other
26 stars 14 forks source link

App-Requests: Chess and Checkers #62

Closed Gerold55 closed 6 years ago

Gerold55 commented 6 years ago

I think having multiplayer chess and checkers apps would be cool.

bell's todo:list:

farooqkz commented 6 years ago

But they are so hard to implement.

Gerold55 commented 6 years ago

Someone's already had made a chess game that works using the chess board. Checkers maybe a little difficult though because it has to be written from scratch.

bell07 commented 6 years ago

Let's try it

Because of the textures I did not implemented this to the laptop, but forked the realchess and added the laptop support for them: https://github.com/bell07/realchess

It is a draft prototype implementation, some points are still hacky, but the app is already working: Hacky: -- (1) formspec and infotext overriden in init -- (2) The app uses directly the laptop's nodemeta instead of the OS-layer -- (3) Feedback trough chat - bad visible

But if anyone like to take this prototype up and finish the work, feel free

PS: There is no network functionality. Both players needs to be on the same laptop to play the game.

Gerold55 commented 6 years ago

Is it possible to get an app store going? So we can put all of the apps in a spot for servers?

Gerold55 commented 6 years ago

Well the textures are owned by someone else so we need to make our own textures.

bell07 commented 6 years ago

Is it possible to get an app store going?

should be discussed in #71

I am unsure if we should add all apps to the laptop mod. Because the textures folder and may other resources folders grows with each app, independently if used or not. If we have an appstore, all not-system-apps are hidden by default, but still consumes servers memory.

Back to the chess app. Ofcourse you can use the realchess's "init.lua" renamed to realchess_app.lua in app folder. Then you can create own texutres, but rename them according proper naming convention (was not done in realchess). And we do not need the "realchess:chessboard" node definition and recipe

bell07 commented 6 years ago

Started porting to the laptop mod in https://github.com/Gerold55/minetest-laptop/tree/pr_realchess Same working status as in prototype. The Textures could be replaced by own textures, but not mandatory. I add my todo to the first post

bell07 commented 6 years ago

I decided to not implement the "Network chess game manager" because of lack of time. The current state is playable and proper implemented using API.

Testers needed #96 / pr_realchess. Is anything important still missed?

Grizzly-Adam commented 6 years ago

chess I still think we would be better just calling black text in apps instead of relying on the theme. Themes in other OS's don't change in-app elements.

bell07 commented 6 years ago

The text color of "textcolor" should be black if the app_background is white. On dark themes the textcolor can be white. Of course other OS's can change in-app elements. So this is an theme issue. If an element should not be changeable by theme, no theme method required, just concatenate the formspec string in app implementation

Grizzly-Adam commented 6 years ago

OK, I would like to propose the addition of clock_text_color to solve this issue. All the apps can continue using textcolor, but it won't be tied to the clock anymore. I could put this into the icon label update push.

bell07 commented 6 years ago

Now I understand why you did needed the "white" ;-) Agree with new prefix in the icon label update branch

Grizzly-Adam commented 6 years ago

I will fold it in. Making changes to icon label update you posted last night at the moment. Also, see closed Themes issue. I have new theme I will add to this update as well. I think Fruit theme needs to be removed.

bell07 commented 6 years ago

You do not have to create issues for each enhancement you like to do. An issue is for things you are reporting or asking other developers. If you have new stuff like themes, just create new pull requests for them. In a PR we can discuss all things if needed directly on code