Maescool / Catacomb-Snatch

Mojang's Humble bundle source
Other
295 stars 99 forks source link

Master server ? #975

Open jhbruhn opened 12 years ago

jhbruhn commented 12 years ago

So, I thought it would be awesome if actually everything would run on some kind of master server which manages the games and acts as a lobby for everyone who wants to play etc. Sadly i haven't really got in experience in Networked Programming, but what do you think about the idea?

godleydemon commented 11 years ago

congrats Space! This is looking really good. I'm loving it so far, and I have to say, your coding as always is very remarkable and well organized. Can't wait to see this in the actual game and I see what you mean about how everything is going to be handled. Its actually pretty smart really, can't wait for this to get to a point were we can begin writing the code to display the lobby framework :D

spaceemotion commented 11 years ago

Had some other things to do the last weeks (a clanserver asked me to help out setting up their gameserver homepage) which took me quite some time, also the achool stuff sucked up my time. Back on track i will have some time to work on the framework (and the resulting repo). i still have to think about some parts and how i will make them, but since the framework system is completely placed in just one system i can just replace that easily on backend updates in the future ^^ I am currently thinking about the overall load of the framework (since it should be lightweight) and think a blank site taking 2ms not too bad but also not that fast, what do you guys think?

godleydemon commented 11 years ago

it really is looking pretty good Space. Can't wait for this to start getting thrown into the main program. XD

spaceemotion commented 11 years ago

Okay uploaded my changes, its now finally working ^^. I will do some performance related coding later (default page generated in 0.002328 seconds :))

godleydemon commented 11 years ago

woo hoo! sounds awesome! lol. I sent you a friend request on gtalk Space. I'm working on some java and could really use some direction XD

spaceemotion commented 11 years ago

I think I can finally say that the framework is done. It has all what i need to start a fresh new page :) Only things that can be added as extra are Active Records (Wikipedia: http://en.wikipedia.org/wiki/Active_record_pattern) and some more basic helper functions.

I will start with a fresh new repository including the main website since I want to be it a part of the community system (login, logout).

master-lincoln commented 11 years ago

I know it's quite late to ask. From what I saw you developed a standard MVC framework... Why again did you have to reinvent the wheel when there are tons of (tested!) other frameworks in any language you like? From an engineering point of view this is not a good decision if you don't have special needs that can't be fulfilled by an existing software.Yours is less tested, less documented an has potentially more security holes. No offence, but I just don't get it

spaceemotion commented 11 years ago

First there was the challenge of course, the second thing is the overload.

For the existing system: I will take two big systems I know, CakePHP and CodeIgniter, as an example. CakePHP is well known for its flexibility, but the first thing that annoys me are the namespaces. I am used to write code with functions and classes and not "namespace" or "use" statements. Of course you could get into, but it also has a (for me) negative point that it shares with CodeIgniter: its too overpowered. Like i said in my comments above I wrote the currently running site with it but I had some issues with it. I looked at the code and saw tons of stuff that i would never need but potentially slow down the site (benchmarking class, log file class, pre and post hooks, ...) which annoyed me.

I am a guy that hate sites that are loading slow, if a normal page script takes more than 2 seconds to load its pretty bad coded in my opinion.

These to points were the reason why i started my own framework from scratch. The current site load is very low (< 0.002s of a cached site) and has one more thing that i missed: modules. I implemented them because i missed a way to place content that i often need on any page that i want (like a CMS can do). I saw no framework which had such support.

For the documentation: it has an example with all the stuff that it needs, i will write a short documentation if i have some more time. basically it is working like any other framework - i added just a few more things ;)

godleydemon commented 11 years ago

Well I think designing our own framework actually isn't a horrid idea. I mean it fits right along with what we've been doing this entire time with catacomb snatch. I mean hell, Notch kind of recreated the wheel with multiplayer functions. Of course they didn't work to extremely well (with the tic problems and all) But he did it for the challenge to see what he could come up with. In a way, that's what we're all doing here. Challenging ourselves to create something extraordinary. I mean look at it like this. Where was catacomb snatch a little under a year ago? Barely finished, missing sprites, a barely there MP system, bug every where as far as the eye could see. Now look at her. It is looking like the game it should have been. We have two more playable characters that were never even planned to be in the game, We have fixed hundreds of bugs, New weapons and animations, New tiles and a map editor! Well you get my point. All we are is a bunch of misfits around the world getting together to work on something we saw worth in that not a whole lot of people decided to stick with. I think we're doing something special and if we're going to do something special, might as well go all the way and create our own MVC framework for the lawls ^.-

spaceemotion commented 11 years ago

I made a small post about a new Website (-Design): https://github.com/Maescool/Catacomb-Snatch/issues/981

godleydemon commented 11 years ago

I think the integration of user name and registration to the new framework for the server to handle in game names is a pretty much must. This would allow people to register on the website, then use that user name and password in our client so they can play multiplayer games. This will also allow us in the future to implement the much requested after achievement system that everyone and there mother at the beginning was talking about, lol. Will also allow us to create user profiles and possibly in the future custom player skins for MP. I think we can do alot by linking the game to a server on launch with user name and password. Also as a side note I happened to notice this on the issue list https://github.com/Maescool/Catacomb-Snatch/issues/887 its basically end game stats, this would be really neat to have and doesn't sound like it would be to awfully hard to have. In the future we can also have these stats sent to user profiles as a sort of "bragging" rights. There is alot we can do with the game being linked with a server and I think we can really open up the user base on who plays this game and why they should want to play it.

spaceemotion commented 11 years ago

Yup that registering stuff nails pretty much the wait I first thought about when creating the "repo": A global user profile to log into - once logged in it downloads a temporarly cached user file to get the data (so more than one user can use the same pc with the same game) - achievements and friends ("buddies") can be added and are marked in-game with some kind of noticable tag (a star for example). The gameover stat thing can be also pretty handy: to get the top 100 players and see how many times you played.

However I would like to be able to play offline; Either I do not want to register (other than the system Minecraft uses) or I am not connected. Either way the game still collects data about the user - if he decides to register some days later all his saved games wont be lost then.

Maescool commented 11 years ago

That is just the synchronisation part. But i agree on these ideas.

godleydemon commented 11 years ago

Hey Space how are we coming on the new website design and layout? Would love to see this implemented soon XD

spaceemotion commented 11 years ago

Already working on it :) I had some class tests to do for school, but I created a new repository for the whole new website - it will be a "All-in-One" website (means: repository, news and login are on the same website - without repo.* or blog.*)

Link to my local version: http://spaceemotion.zapto.org/git/Catacomb-Snatch.net/ Link to the github repo: http://github.com/spaceemotion/Catacomb-Snatch.net

godleydemon commented 11 years ago

I have to say I'm impressed XD let me know if you need any graphics for it. I'm sure I could whip something up in the next couple of days for you

Is this system going to be self installing, IE would I be able to install this onto a webserver and play around with it? lol

ghost commented 11 years ago

So how is everything going? Is that stuff still in work? When will there be any implementation of the "master server" / Framework stuff?

godleydemon commented 11 years ago

Well it looks like according to Space Emotions Github, he hasn't updated the repo in 2 months. Thing kind of died away while we were waiting for it to be done unfortunantly >.o

spaceemotion commented 11 years ago

The last few months were very hard for me - I am in my last year of school (this month are the final exams), but I worked on the project on my own, without uploading commits to github. Same thing with @Verexa - we skyped a few times. We already decided that we will start working on the project when school stuff is done.

ljfio commented 11 years ago

Unfortunately I haven't had a lot of time to work on it and being unable to access, what I had started of, the server. I'll be trying to start on it again and hopefully something that we can integrate and work on.

ghost commented 11 years ago

So how is it going?

spaceemotion commented 11 years ago

The server is in development, as well as the website. For the game, we already started on the Ouya / Android port. Check it out here: https://github.com/Catacomb-Snatch/Catacomb-Snatch

godleydemon commented 11 years ago

Thought I'd throw up a message here and ask how its all going Space. Would love to hear a quick update on how everythings going on.

spaceemotion commented 11 years ago

I've been coding as hell, for my own Minecraft-Server. Turns out to be two weeks now. Man, that's a lot. I had holidays and said to myself "hey, time for CS", nope - when I wanted to work on the project I was sick :( Anyway, it's school time again but I think I can still manage to finally add some more INPUT related stuff to the game. The problem: You should be able to use keyboard, mouse and joystick alltogether or seperately (as a 2-player split screen mode). thats the problem I am facing atm. @Maescool linked me to an interesting article, i will see what I can do.

For the website: it will most likely use the same system as my own minecraft server website (i will just add and remove small things, also change the template), since it's using the same basic layout (community, news system,...).

All in all, I am still alive :D