What do you think about xna and massive multiplayer? for example server and 100 clients? Is there any nice tutorial how to create client server application in xna?
There certainly are tutorials on how to do it. Personally I use Lidgren for my online prototype. I've only tested it with 4 people total and the server running on a low resource ubuntu vps, running on Mono, so I can't tell you how it will scale up but I'm sure others could.
For quick reading check out the site, http://code.google.com/p/lidgren-network-gen3/, you can read the wiki posts and google groups to get an idea of what others think of it.
The wiki posts on the main site have some basic tutorial-like posts but nothing too detailed. Or you can check out this site even and get a more detailed tutorial http://dirkkok.wordpress.com/lets-make-a-multi-player-game/. But this won't necessarily make you good at programming networked games, but it will certainly get you started.
There's a nice code sample at App Hub for managing the state of network games
http://create.msdn.com/en-US/education/catalog/sample/network_game_state_management
Rather than the network game state sample, I'd point you to the Client/Server sample:
http://create.msdn.com/en-US/education/catalog/sample/network_cs
However I have my doubts in how that would scale for a massive multiplayer game (which "100 clients" is not).
You could try PlayerIO, They have a great multiplayer service, and for starters its FREE, unless you game grows bigger and you want more bandwidth, concurrent users,etc. Ive worked with them and they are great. It also has a built in Database system thats very easy to use so you can store level info, player option, whatever you want. Its got alot of cool stuff, I recommend you should check it out, playerio.com .
If you go with it I can show you examples for connecting and sending and such. And to answer for how many users can be online at once, their free plan allows 500 users online at once (but can have thousands of users overall) and you can get more users online with paid plans
Related
I am a first time iOS developer trying to build an iOS app from the ground up. It is for a photo-sharing startup that will have similar functionality to Instagram.
I am not sure how to approach the sharing/viewing aspect. Would I use something like Parse or Google cloud storage? It is an iOS only app, if that helps. Given that we are just a startup, a long trial or a cost per GB is fine, but I don't want to be stuck with something expensive if we start getting a lot of photo uploads.
Given that I'm the only developer, I'm hoping for something that doesn't require me to learn too many new technologies. Any help would be greatly appreciated!
Parse.com, the API is fairly easy to use. The free plan has a lot of functionality and it scales up well.
That's really a tough question. You first want to research each company and weigh the pros and cons with selecting each service. The Google Cloud and Google App Engine (while they do work extremely well together) are going to be a little less "centralized" since they are essentially marketed as separate services. Parse does have that "centralized" feeling since all of their services are designed to work together.
Another nice thing about Parse is that it has build in support for iOS local datastore which means even if your users don't have an internet connection the request will be queued until a connection is made. If you go with a service like the Google Cloud then you would have to implement that on your own or just not have offline functionality.
While Parse looks like a good solution for you, it would be hard for someone to answer your question with a definitive solution as that is up to you exactly how you want your product to work. Just continue to research other solutions as there may be something better and more suited for your exact needs. You may want to build a small prototype on one platform before dedicating all of your development to that platform.
I've been scouring the SO board and google and can't find any really good recommendations for this. I'm building a Twilio application and the text-to-speech (TTS) engine is way bad. Plus, it's a pain in the ass to test since I have to deploy every time. Is there a significantly better resource out there that could render to a WAV or MP3 file so I can save and use that instead? Maybe there's a great API for this somewhere. I just want to avoid recording 200 MP3 files myself, would rather have this generated programatically...
Things I've seen and rejected:
http://www.yakitome.com/ (I couldn't force myself to give them my email)
http://www2.research.att.com/~ttsweb/tts/demo.php
http://www.naturalreaders.com/index.htm
http://www.panopreter.com/index.php (on the basis of crappy website)
Thinking of paying for this, but not sure yet: https://ondemand.neospeech.com/
Obviously I'm new to this, if I'm missing something obvious, please point it out...
I am not sure if you have access to a mac computer or not. Mac has pretty advanced tts built into the operating system. Apple spent a lot of money on top engineers to research it. It can easily be controlled and even automated from the command prompt. It also has quite a few built in voices to choose from. That is what I used on a recent phone system I put up. But I realize that this is not an option if you don't have a mac.
Another one you might want to check into is http://cepstral.com/ they have very realistic voices. I think they used to be open source but they are no longer and now you need to pay licensing fees. They are very commonly used for high end commercial applications. And are not so much geared towards the home user that wants their article read to them.
I like the YAKiToMe! website the best. It's free and the voices are top quality. In case you're still worried about giving them your email, they've never spammed me in many years of use and I never got onto any spam lists after signing up with them, so I doubt they sold my email. Anyway, the service is great and has lots of features for turning electronic text into audio files in different languages.
As for the API you're looking for, YAKiToMe! has a well-documented API and it's free to use. You have to register with the site to use it, but that's because it lets you customize pronunciation and voice selection, so it needs to differentiate you from other users.
I'm developing a two player checkers website. The idea is to allow people sign up and add to a list of friends they have. They can then send or accept requests to/from a friend on their list to play a game of checkers via the site.
I'm using Ruby on Rails to develop it (It’s mandatory in case people think another language is more appropriate!).
There are two things main things I'm researching at the moment:
1: How to manage and maintain the game state over a browser:
I'm only used to developing web applications that follow your standard data entry and browsing format i.e. Signup and post info, saving to database, etc.
Will I have to create some sort of lightweight server each time a new game is started to manage that game? (There may be multiple games in progress at any time)
2: How to represent the board:
I've looked into two-dimensional arrays and bit-board (32 bits). From what I can gather bit-boards are extremely fast but difficult to test and debug. Will the speed performance difference really be that much considering its only a two player game and therefore requires no AI?
Thanks
Checkout this project for some inspiration. It seems very similar to what you are trying to do.
http://github.com/ryanb/govsgo and http://govsgo.com/
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
My team of 10 developers is working with another team of 10 developers, designers and BAs outside of my office to build a corporate website. There will be a lot of communication, learning and knowledge transfer between the two teams and both teams are in the same time zone. Currently we're using traditional land lines and email to communicate which i believe can be improved.
How do you communicate with teams outside of your office? Do you have any tips/suggestions on how my team can improve communication? On top of my head, we could use webcams.
I'm not sure how practical this would be for your team but don't rule out meeting face to face sometimes. I work in a distributed team and every so often we do get a chance to meet face to face, this helps build relationships between the teams at both sites and helps make email, IM and phone conversations more effective as your not just talking to a stranger you've never meet.
One project I'm working on at the moment has used:
Skype (Voice, IM and desktop sharing)
Email
Google docs
SVN
To be honest any list of software would probably have worked just as well the fact that I got to know the people I'm working with has probably been the biggest help.
Developers will be comfortable in an IRC channel. Alternatively you could use something like Campfire.
Use Skype. There is conference calls, video, desktop sharing and it's cheap.
Several approaches:
mail: Gmail
wave: Google Wave
collaborative editing: EtherPad
IRC: ... any
setting up a small news (usenet) server
Group chat sessions of various types work fairly well until too many people start talking. If there is a teacher/student kind of situation, WebEx presentations work quite well also.
We use http://jaconda.im to organize project rooms and for collaboration between developers. It supports Gtalk (jabber) only though, but so far is much more convenient than say Campfire.
From my experience, I found Microsoft Office Live Meeting really helpful in knowledge sharing and Microsoft Office Communicator for quick interaction with team outside.
Twitter has been useful where I work for communicating messages on a broadcast level.
IM through Office Communicator has also been good for talking to different people in an immediate fashion.
The company I work for also has some software that enables the sharing of a desktop for another option in communicating.
We are using mail and phone calls, but i got in the google wave preview and i think it's going to be a strong option when it goes live
Set up an Exchange server to have your calendar/tasks synchronized + mail.
For verbal + video communication use Skype.
For Desktop Sharing use GoToMeeting.
In the team I am working on these days we use:
Skype, for team meetings and one to one communication.
Email (gmail) for global communication and one to one, one to several, communication.
Cell phone, just in case of emergency.
And we are quite a bunch of people working from several places (Canada, Mexico, SF, etc).
Lots of different options here.
Skype or Windows Live for voice and/or video calls.
Collaborative editors such as SubEthaEdit or ACE.
Desktop sharing, either through Skype or iChat etc.
SVN for version control.
Then there's traditional telephone and email...
Probably many more too.
To communicate with developers, business analyst and system engineers located in other offices we use the following tools:
Microsoft Office Live Meeting
Microsoft Office Communicator
Voip
If we have to talk with customers located in different parts and don't have anything of the above mentioned tools then we go for
gtalk
skype
My last job was supporting an international science project. While many of us wrote software as part of that, our goal wasn't software development per se. We had people in Europe and all across the U.S. What I can recall using was:
Email
Telephone calls
Teleconferences when we needed to converse with several people. We tried videoconferences briefly, but at the time the cost was prohibitive.
Postings to private web sites that we were supposed to check regularly
Private wikis and web forums
This isn't as new & fresh as some things, but it worked. We added some capabilities (e.g. wikis) as they became available if they gave us new capabilities. However, we usually kept things as they were when they already worked (e.g. using conventional telephone/teleconferencing instead of Skype). Bear in mind that we started in the 1990's and changing what works and is already established isn't an easy thing, or necessarily wise. I left that project a little more than a year ago, and AFAIK, they're still doing things the same way.
Lots of good suggestions already. My outfit has video-conferencing (runs over IP I believe) in every location, which works very well. And don't forget matters such as sharing a common repository for code (we use Subversion, works fine across the network), for documents (we use Sharepoint which I hate, but it does provide a common location for all project documentation which is accessible globally) and similar stuff.
Use GoMeetNow. This is a web conferencing solution with which you can share your screen to your team, let others have access to your computer, have video conferences, make presentations, use whiteboard to draw and explain something and record the session and send the video to your teammates.
I've worked with folks who are chatting online with their peers, constantly batting around ideas. I've also worked with folks who adamantly refuse and think it's a waste of time.
Are online live chatting forums of particular use to you? Why or why not?
Internal to your company, or external and world-wide?
Does your employer encourage or discourage their use?
Update: I see some people are voting this question down, yet so far all the answers have been positive, if with some reservations. If someone has a strong negative opinion (I hate online chatting and think it should be banned etc.) I'd really like to hear why.
If you have telecommuters, not chatting online will be the death of you.
Without chat, there is no interaction.
Without interaction, there is no problem solving.
Without problem solving, the code will suck.
The chatting part does waste a lot of time and I often wish I could just pull them out and just WriteSomeCode, but yeah, trade off scenario.
There's an additional benefit to using online converstations, in that it doesn't /have/ to be an interruption. If your working on something you can ignore them till you're done and they just have to deal with it. In real life you have a talking face to try get rid of. ( And the cool thing here is you can ignore them and they still get heard, have your cake and eat it too! )
I've used IM at the last three places I have worked. Currently the building that I am in is so large that it takes a couple of minutes just to walk to my managers office. Then there are the days that we work from home (1-2 days a week). Email for some purposes just doesn't cut it and the phone can be too disruptive and all encompassing for some tasks.
When I was doing consulting work I would give my IM contact information to my clients. About 25% of them would use it to contact me and I am still in contact with them to this day which opens up the possibility for future work! The clients that used IM felt that they had a better connection with me because they could see when I was online and available to talk.
I'm still in contact with old work colleagues through IM and this allows me quick access to their knowledge base as well.
My suggestions for using IM in the workplace are:
Use a client that supports multiple
protocols (MSN, Yahoo, AIM, Jaber,
etc)
Setup and use personal accounts for
each of the networks you are on
(i.e. don't use accounts tied
directly to your work)
Make sure your IM client records a
history of all of your conversations
Always be available but minimize
personal conversations
Provide your IM information freely
to friends, clients, and colleagues
Add appropriate groups (i.e.
friends, family, work) and filters
to reduce undesired interruptions
while still being available if
needed
Don't feel that you have to
respond to every chat request. Let
it set until you are ready to deal
with it
One other trick I use is to use text to speech software so that when a chat message comes in it is read allowed. When I am at home (or preoccupied away from the computer in the office) the message is automatically read allowed (I liken it to a ringing phone call) in order to get my attention. But, I don't have to stop what I am doing in order to know what the message is.
I used to. I found it a great resource to chat with people I used to work with. In our business I find that we tend to network alot and using that collective knowledge is awesome. Of course my company turned that off so they lose.
I know that a certain large Bank hasd an internal AIM setup so that they can IM each other. That was refreshing and dang useful. They also allowed some external access. Talk about getting the value of IM!
Yes, absolutly, I work with most of my employees, and employers via MSN/Yahoo/Skype/.../ it makes the work easier, because I can hire the better people without having to pay them to move to me.
When I need to collaborate with someone in another office, it's great ... when I'm deep in thought, I have to turn it off (just like e-mail).
It depends on the group dynamics and personal preferences. Personally, I have enjoyed my work groups that use chat to feed on each other's ideas and troubleshoot without as much walking around. If you are geography dispersed, its almost a necessity.
I find online chatting invaluable in many cases, but not normally instant messaging. Since I use many open source technologies at work, I tend to join the respective IRC channels, both to ask questions there, and sometimes to help others if I know the answer offhand.
It may depend on the work environment. As a self employed consultant, I'm always in chat - it's my primary communication to the world, along with emails for more official type communications.
Being able to converse with others creates synergy, but it also can cause distractions. A good manager can tell the difference.
At my last workplace, we used IM extensively for collaboration. Not so much at my present workplace. Infact, i have not once had to do that here in 6 months. But i do look around on the net for answers and sometimes i have posted queries on forums too. IM is a nice tool to have, but its also a time sink. Also, dont underestimate the lost focus. Its particularly hard to concentrate on getting that algo implemented right if someones constantly pinging you about how to establish a connection to an oracle database.
I work at home 2 to 3 days a week. I mainly use MSN to stay in touch with my coworkers. It's pretty useful to ask short questions quickly. If we find ourselves typing whole conversations we often agree to continue the conversation by phone.
I use IM to communicate with colleagues in other offices when it replaces a face-to-face chat. I turn off notifications in all my comms apps at work though, because they distract me otherwise.
I telecommute from California to Colorado and never have used chat. We do have daily SCRUM meetings and constant email threads. When I first started working remotely, we did try it but it seemed intrusive to several co-workers so we stopped using it, that was 4 years ago, I probably should give it another try.
It seems I have nothing to really add to what hasn't already been written.
I use it extensively, especially when remote people are involved in development. Without it your real time communication dies. It is the only viable method of communication that isn't as interruptive as phone calls or something of that nature. As we all know we can't just sit on the phone the whole time when developing, so chat is the next best thing for real time communication.
I personally don't like it. I think email allows you to take a little time to compose your thoughts.
IM seems to work for other people though. Whatever works!
Our entire business unit telecommutes. Only us first years are required to be in the office, so our enterprise IM solution is vital to staying in touch and on task. Its how my manager lets me know what project I'm working on, if I need to bill my time to another customer, or if I need to bounce ideas around. So yes, I do. Is it open for anyone to get on? No, not at all. You have to be on the intranet to access the system, and it is closed to any and all outsiders.
Out of the four professional jobs I've had over the past 8 years or so, I've only worked at one place that did not allow any type of instant messaging. All the other companies had at least some type of setup for intranet instant messaging.
I think that IM is almost necessary in today's business environment. I don't IM very much, but it's nice to have it available. Especially when I just need a quick answer to a question - like "Where is this file located?" and then boom I have a link to the file pop up right in front of my face.
I use IRC at work - it's almost a requirement for all of us who interact remotely (workign from home, different offices, and client sites) to be able to get help on problems fast.
Yup. It's actually required here. But only MSN though. We use it for development/task related communications with the team... which also help minimize noise since this company I'm currently working in is a big one where 90% are developers so utter silence is a MUST...
But if I've got questions to other members of the team, I prefer asking it personally though because I find it hard to explain some things when just chatting...
I've had to use it in my last job as my co-workers lived in the UK and my boss worked in California whereas I'm in Atlanta. It was used for quick questions and when it was "whenever you get the chance to respond" type thing. I could be on the phone and an IM pop-up and they would get an automatic message telling them that. Longer discussions were done with web cam and telephone and the ability to share a desktop to view code, data, etc.
My company won't allow it. Even if we run a IM server in house (so we aren't wasting time chatting with friends). I've tried to convince them, I find it really useful for knowing if someone is at their desk or not. The phones don't do that so well since if you don't pick up it redirects to a secretary that will get pissed if you are checking if someone's back every 5 min...
So I run a IM client on my phone so I can at least chat with a few people through out the day. (Less interrupting to others if my wife IMs me vs calls me and also easier to ignore if I need to).