Rebuild from scratch on Xamarin, different engine...

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

Dear readers,

As I have children with cheap chinese tablets who want to play minetest and could not connect to my server due to memory limitation (512MB) I decided to rewrite the minetest client. Right now I'm in alpha stage, only very basic functionality works and only the "default game" and "minimal_test" is supported. I'm able to connect to existing minetest servers and walk around on them for now. My code loads the mapblocks it needs and removes them when not needed and so saves memory. As it is build on Xamarin and uses the Urhosharp game engine it runs on Windows, Mac, IOS and android. My goal is to be able to make it work with heavily modded servers and only use low ram to be able to spread the game to people with low-ram devices as people with iphones. For now I won't be releasing anything as I don't fully yet know about licences, the game is not yet functional and still contains many bugs.

Why I made this thread? I would like to know what everybody's thoughts are about it, what is allowed and what isn't, and if there is demand for a new client as one already exists.

Proof of concept video:
https://www.youtube.com/watch?v=kX8gGS6w3n0
-> fov is only 32 blocks for now, just to make a quick video.

Not to repeat myself, but to keep this topic a little clean: Yes it still needs work and yes, there are many many bugs.

Update 31/03/2017
Working import of B3D & Wavefront models by code:
https://www.youtube.com/watch?v=h5e3NYf0M7g

Update 04/04/2017
Reworked kernel for handeling more nodes, models and media from server -> Now working on modded servers
https://www.youtube.com/watch?v=SDGA18Eh7qI

Update 07/04/2017
Translated nodeboxes to vertextriangles + facedir + completely reworked how mapblocks get drawn for performance :D
https://www.youtube.com/watch?v=kWkMSwPKfRE

Update 24/04/2017
A lot of progress later...
https://www.youtube.com/watch?v=PkpAxVcTLRQ

Update 25/04/2017
Speaks for itself, no video needed...
Spoiler
Image
Update 26/04/2017
Worked some more on the formspec's...
https://www.youtube.com/watch?v=iytx6EaYyYQ

Update 27/04/2017
B3D Model glitch solved, moving object problem solved
https://www.youtube.com/watch?v=U-h_8N9jr-g
Attachments
screenUrhoMineInventory.png
screenUrhoMineInventory.png (292.38 KiB) Viewed 923 times
Last edited by Vibrocil on Thu Apr 27, 2017 12:00, edited 8 times in total.

User avatar
texmex
Member
Posts: 1753
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: tacotexmex

Re: Rebuild from scratch on Xamarin, different engine...

by texmex » Post

This is interesting! I've not seen alternative clients before. Wish you the best of luck!

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

texmex wrote:This is interesting! I've not seen alternative clients before. Wish you the best of luck!
Thanks, as this is considered a month of work, I hope the rest goes as fast and I'll be releasing public beta's soon...

Nyarg
Member
Posts: 276
Joined: Sun May 15, 2016 04:32

Re: Rebuild from scratch on Xamarin, different engine...

by Nyarg » Post

Wow !
I see Shadows ! Epic !

What is about not only entity shadows ?
I am a noob. still yet. Not so noob ) [vml] WIP and a little proof for fun PlantedTorch )))
MT Strike 78a36b468554d101e0be3b0d1f587a555f396452 Great! Somebody have found it )
"My english isn't well" I know. I'm sorry )

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

This will be settings... In theory everything will be able to have a shadow. I have yet to define sun and moon. Complete support for shadows will be added afterwards... It's just an extra line of code in the entity definition (models) but the complete functionality is definitely coming.. Today's work was all about the actual nodeboxes and textures. Tomorrow I hope to be able to make the engine handle b3d and obj format (which it does not)

u19503

Re: Rebuild from scratch on Xamarin, different engine...

by u19503 » Post

Looks nice so far

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Rebuild from scratch on Xamarin, different engine...

by sofar » Post

Vibrocil wrote:For now I won't be releasing anything as I don't fully yet know about licences
This is entirely OK. As a matter of fact, as long as you don't release any code or binaries, you can do whatever you want with GPL or MIT or LGPL code.

Now, if you did use any GPL code or LGPL code in your project, make sure to not violate the licenses of the code that you used. ;)

Another really easy way to solve license issues if you're unsure, or used much code from other projects, is to NEVER release binaries, and only ever source code ONLY. This way you're also complying with almost all open source licenses. And last, never remove copyright notices from source code.

Cheers, and happy hacking.

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

As I rebuild from scratch and work in C# instead of C++ I won't be releasing any of my code... The only code (Nuget Packages for visual studio) that I use is for PCL's to work with files and sockets and the urhosharp engine. So I guess I'm not violating anybody's work. Everything else is completely rewritten for C#, even the SRP authentication procedure (which was a big struggle as I could not use GMP Library) Minetest originally sends data Big Endian and c# works little Endian, so I had to code something that could help translating the data as well. Beta's will be released for sure and free, for the end version I still don't know. Apple's Appstore is $100/year so if I want to release it there that would at least to be paid for... But it's all just idea's for now, unsure where I'm going with this...

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Rebuild from scratch on Xamarin, different engine...

by sofar » Post

Vibrocil wrote:As I rebuild from scratch and work in C# instead of C++ I won't be releasing any of my code... The only code (Nuget Packages for visual studio) that I use is for PCL's to work with files and sockets and the urhosharp engine. So I guess I'm not violating anybody's work. Everything else is completely rewritten for C#, even the SRP authentication procedure (which was a big struggle as I could not use GMP Library) Minetest originally sends data Big Endian and c# works little Endian, so I had to code something that could help translating the data as well. Beta's will be released for sure and free, for the end version I still don't know. Apple's Appstore is $100/year so if I want to release it there that would at least to be paid for... But it's all just idea's for now, unsure where I'm going with this...
Just remember, if you copied any *(ANY)* GPL code you are required to provide anyone with the source code if you give them binaries.

It's probably a REALLY good idea to state that you didn't read any minetest code and only reverse engineered the protocol. (If this is what you did. Lying wouldn't be smart, either).

While it's entirely legal to reverse engineer the minetest protocol and build a proprietary client, I don't think this is beneficial to the community, and it may violate forum rules if you intend to do it for profit. So, if you really don't want to publish sources, be prepared for people complaining loudly.

Disclaimer: my advice does not constitute legal advice. I could be wrong.

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

sofar wrote:
Vibrocil wrote:As I rebuild from scratch and work in C# instead of C++ I won't be releasing any of my code... The only code (Nuget Packages for visual studio) that I use is for PCL's to work with files and sockets and the urhosharp engine. So I guess I'm not violating anybody's work. Everything else is completely rewritten for C#, even the SRP authentication procedure (which was a big struggle as I could not use GMP Library) Minetest originally sends data Big Endian and c# works little Endian, so I had to code something that could help translating the data as well. Beta's will be released for sure and free, for the end version I still don't know. Apple's Appstore is $100/year so if I want to release it there that would at least to be paid for... But it's all just idea's for now, unsure where I'm going with this...
Just remember, if you copied any *(ANY)* GPL code you are required to provide anyone with the source code if you give them binaries.

It's probably a REALLY good idea to state that you didn't read any minetest code and only reverse engineered the protocol. (If this is what you did. Lying wouldn't be smart, either).

While it's entirely legal to reverse engineer the minetest protocol and build a proprietary client, I don't think this is beneficial to the community, and it may violate forum rules if you intend to do it for profit. So, if you really don't want to publish sources, be prepared for people complaining loudly.

Disclaimer: my advice does not constitute legal advice. I could be wrong.
I've been a programmer now for almost 11 years, copying code is just not how I work (Hardcore assembler is how I used to roll -> Would be crazy to make game in this language). I'm also against using libraries out of laziness. People say, don't reinvent warm water around here... I claim, water could be polluted. Making profit is not really the main goal, far from it. Reaching out to people with lower spec devices and devices that the original client does not support (Iphones etc.) is...I'm also very aware that I'm recreating a game that's already great and functional. It's not my intention to draw gamers away from minetest, just to get more people to play the game itself. I have a form of a minetest server as well, but this is just for my testing purposes and this will never be released. The idea is really just to let more people enjoy minetest on minetest servers. Releasing source code would be a waste of my work, time and allow clones with ads to come out. If there would be a pricetag, it would be on the apple store... Windows, Mac and Android version is already free, so why ask money for it...

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Rebuild from scratch on Xamarin, different engine...

by sofar » Post

Vibrocil wrote:Reaching out to people with lower spec devices and devices that the original client does not support (Iphones etc.)
The game already runs on iphones... and runs just fine.

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

sofar wrote:
Vibrocil wrote:Reaching out to people with lower spec devices and devices that the original client does not support (Iphones etc.)
The game already runs on iphones... and runs just fine.
Which is good than, just low spec devices than :D Although I do suspect (having read a thread on this forum about it) it are clones with adds, if it aren't it's for the best. Like I mentioned, I still don't really know where I'm going with this, the coding itself is just fun for me for now :) And if my kids could play my modded server on their cheap chinese tablets with 512mb Ram that would be even more great. All the rest of the ideas are not really important for now. I'll start with making a working Beta and see where we go from there on. If there is no demand, I won't be releasing anything. :)

User avatar
celeron55
Administrator
Posts: 532
Joined: Tue Apr 19, 2011 10:10
GitHub: celeron55
IRC: celeron55

Re: Rebuild from scratch on Xamarin, different engine...

by celeron55 » Post

I'm going to guess Vibrocil isn't going to make anything worse than the existing apple store ripoffs that sell in-game privileges for money, so I wish the best of luck to this. Minetest doesn't run well on low-end devices so it's a good thing to focus on.

Of course, open source would be very welcome. Minetest wouldn't have become what it is without it being open source, so I would recommend learning about licenses and making sure the source code is publishable, because that way you can get contributors to do development and maintenance when you've gotten bored of that...

So, good luck. Of course, if you are going to sell in-game privileges for money, then just f*ck off (any of those ripoffs listening?). But I trust you won't.

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

celeron55 wrote:I'm going to guess Vibrocil isn't going to make anything worse than the existing apple store ripoffs that sell in-game privileges for money, so I wish the best of luck to this.

Of course, open source would be very welcome. Minetest wouldn't have become what it is without it being open source, so I would recommend learning about licenses and making sure the source code is publishable, because that way you can get contributors to do development and maintenance when you've gotten bored of that...

So, good luck. Of course, if you are going to sell in-game privileges for money, then just f*ck off (any of those ripoffs listening?). But I trust you won't.
Ingame purchases will indeed never be done... Takes the fun out of the game completely... Hate those games personally... About open source... Maybe that is considerable when I indeed become bored of it :D. For now coding works, because I can do it alone... Don't have to depend on code that I'm not sure that completely works... And, the stage I'm in right now would even allow people to make a cheatable client, just think about night and day which I don't have yet... Always sunny for now... Thank you for your reply, boosts me up :)

User avatar
celeron55
Administrator
Posts: 532
Joined: Tue Apr 19, 2011 10:10
GitHub: celeron55
IRC: celeron55

Re: Rebuild from scratch on Xamarin, different engine...

by celeron55 » Post

I should add that it would be preferable to make something from the existing codebase though. By making it in a different language, you're going to have to do a lot of work to get future client-side Lua to work and we can't backport your fixes or anything. Also you can't use our updates and have to constantly update your client yourself to keep your users, and as importantly, MT server admins happy.

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

celeron55 wrote:I should add that it would be preferable to make something from the existing codebase though. By making it in a different language, you're going to have to do a lot of work to get future client-side Lua to work and we can't backport your fixes or anything. Also you can't use our updates and have to constantly update your client yourself to keep your users, and as importantly, MT server admins happy.
From the looks of it now client-side lua won't be a problem... Updating the client is something I have the time for... Server version I will never release as there is no need for. (so less work for me :D )There will always be a minetest server version I will support, so my client will always come a little bit later. But good notes and something to definitely consider. Love your feedback!

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

Finally finished the coding to load b3d files and obj files. New video in first post!

User avatar
TheReaperKing
Member
Posts: 531
Joined: Sun Nov 22, 2015 21:36
Contact:

Re: Rebuild from scratch on Xamarin, different engine...

by TheReaperKing » Post

Looks like an interesting project!! Not sure why there seems to be some hostility from others but I wish you the best!!! It is always neat to see what new ideas people are capable of! Also this might be perfect for our school computers!
Become A Real Life Superhero - http://SuperheroHill.com
Project Lead of the Doom 3 Mod Last Man Standing - http://Doom3Coop.com
Project Lead of Platinum Arts Sandbox Free 3D Game Maker - http://SandboxGameMaker.com
Youtube Channel - https://www.youtube.com/user/PlatinumArtsKids

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

TheReaperKing wrote:Looks like an interesting project!! Not sure why there seems to be some hostility from others but I wish you the best!!! It is always neat to see what new ideas people are capable of! Also this might be perfect for our school computers!
Thanks! I don't really see hostility, just positive critisicm... You're last sentence is what I'm aiming for.... Still too many low-spec devices out there... The goal is just to broaden the range of minetesters, not to lead them away.

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Rebuild from scratch on Xamarin, different engine...

by sofar » Post

Vibrocil wrote:
TheReaperKing wrote:Also this might be perfect for our school computers!
You're last sentence is what I'm aiming for....
pfffffft

I just did a minetest programming class with low end computers at a local school

it already works, fantastic even.

the kids were impressed with the 60fps gaming experience. Intel Gfx systems with low end spec.

User avatar
burli
Member
Posts: 1643
Joined: Fri Apr 10, 2015 13:18

Re: Rebuild from scratch on Xamarin, different engine...

by burli » Post

I have a "low end" Intel system with an Intel x5-Z8350 QuadCore 1.44Ghz (1.92GHz) . Don't get more than 30fps

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Rebuild from scratch on Xamarin, different engine...

by sofar » Post

burli wrote:I have a "low end" Intel system with an Intel x5-Z8350 QuadCore 1.44Ghz (1.92GHz) . Don't get more than 30fps
wow, so you can play the game, then?

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

sofar wrote:
burli wrote:I have a "low end" Intel system with an Intel x5-Z8350 QuadCore 1.44Ghz (1.92GHz) . Don't get more than 30fps
wow, so you can play the game, then?
In my days, low-end was single core :D
Update: Just got into my own (heavy) modded server using 400Mb ram! Still has to go lower, but we're getting there... Cleaning up my sloppy code will definatly work considering there's still lot's and lot's of work to be done...

User avatar
burli
Member
Posts: 1643
Joined: Fri Apr 10, 2015 13:18

Re: Rebuild from scratch on Xamarin, different engine...

by burli » Post

sofar wrote:
burli wrote:I have a "low end" Intel system with an Intel x5-Z8350 QuadCore 1.44Ghz (1.92GHz) . Don't get more than 30fps
wow, so you can play the game, then?
My main PC is a little bit stronger. I just wonder how you can get 60fps. Or is it a faster CPU? i3? i5?

Vibrocil
Member
Posts: 26
Joined: Mon Feb 06, 2017 10:32
In-game: Michiel

Re: Rebuild from scratch on Xamarin, different engine...

by Vibrocil » Post

New video of the connection to my modded server... Still ALOT of work todo as improvement in stabillity and actually handeling custom models. But for me it was a big issue and so a big step forward.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests