Online multiplayer command line game with RPi as server - c#

I've been learning to code C# Console Applications and to take it a step further would like to get into server based stuff. I thought a good simple way to do this would be to make a text based console game but online, just something turn based where each player waits to input. Since I have an old Pi laying around, I thought that would be a good option for the server.
Everything I find by searching though is much more complicated, usually a Unity game or JavaScript browser game. I just want to get used to the absolute basics of setting up a server and interacting with it from as scratch as possible.
If someone could point me in the right direction that would be great.

Related

Is there a fast way to debug mobile vibrations in Unity?

I'm trying to rapidly preview and iterate on different Android vibrations that I'm making through Unity3D. Currently, the only way that I know how to successfully do this is to build the project each time. This is really tedious and takes a very long time. Are there any ways to rapidly test different vibrations?
I've tried using UnityRemote, which works great for quickly debugging just about everything Android related except vibrations. Vibrations don't really work in Unity Remote since it's mirroring the Unity player.
There is no way around the build process with Unity, other than the Unity Remote app. I would try to place as many Android vibrations in a single build as you can, and make an interface to test them all.

Unity adding the host as a player when starting the server

Currently im trying to make a lobby system for my game, the lobby system seems to have quite a few issues but im slowly working my way through them. I cannot however, find out a way to make the host automatically get added as a player in the game, when he starts a server. There will never be a situation where the host will only act as the server, so i need him to automatically get added to the game.
I have tried a bunch of different things with ClientScene.AddPlayer() But i cannot make this work.
Further, i cannot find any documentation on what functions the different buttons on the standard unity network lobby hud actually do, so i have a hard time replicating the behaviour.
Anyone has any good sources /ideas on the issue?
There is a method in the given NetworkManager called StartHost(). Try this for starting the server.
See the Scripting API for NetworkManager.StartHost() and all the methods from the NetworkManager
You have to write a custom UI and network manager to eliminate the Start Server GUI option which is by default provide by the Unity Networking GUI component. You can view this simple tutorial (UI & Custom Net Manager) to understand it.

WPF animation (scaling/translating multiple images at the same time)

I am working on a project in C# using WPF to attempt to make a program much like http://www.scaleofuniverse.com/.
I know it can easily be done in flash but I want to integrate the controls into other platforms (ie the new Leap motion and Kinect). I know I could rig it so that the kinect emulates key presses onto a flash game but i would really like to figure out making this in C#. I completed a few basic tutorials on basic animation and storyboarding but i've found nothing that indicates the project i want to complete can even be done! Am i biting off more than i can chew or am i over-complicating the program somewhere? I am only in the design stage so i do not have any source code for review (still completing tutorials). I really want to know if this project is even plausible before I continue working on it.
It definitely can be done in WPF. Here is an example of a custom zoom control for WPF http://www.ab4d.com/ZoomPanel.aspx.

Suggestions for a video montage application (extracting and playing randomized short clips from a playlist)?

I'm an electronics engineer used to coding in embedded C and assembly, but I decided to start learning higher-level stuff like C#, .NET, etc., so I can start making software as a hobby. I have a great idea for one of my first projects, but after searching several forums for days on end, I'm left not really knowing what would be the easiest path forward.
The functionality that I'm looking to create is pretty similar to the idea of a photo slideshow, but applied to videos instead. The program would open a playlist or a folder full of videos and then play the videos in a random order, starting from a random starting position, and with a fixed duration (let's say 10 seconds as an example). You would end up being able to watch a sort of "video montage" that consisted of small clips from random parts of the videos in the playlist, shown in a random order, ad infinitum until the program is closed.
There are a number of ways I could tackle the problem:
Develop a standalone video player with the fixed functionality of showing "video slideshows." DirectX has the Microsoft.DirectX.AudioVideoPlayback API that
could be a good starting point. I found an example here: http://www.dreamincode.net/forums/topic/111181-adding-video-to-an-application/
Modify an open source project to add the desired functionality. I've seen a few cool projects that could get me started, like this simple C# Movie Player: http://www.codeproject.com/Articles/18552/C-Movie-Player
Use a scripting interface to implement this functionality on an existing media player, like VLC or Winamp. You could also control VLC via C#, like the example here: Controlling VLC via c#
I realize that the obvious answer for most people would be to "use whatever you're most comfortable with," but since I'm a pure beginner, I don't really have any allegiances to a particular language or development environment. So, I was just curious if anybody had an idea of what might be the least painful option for a beginner.
I also apologize that this is not a very specific programming question. I'm sort of just testing the waters to get my footing. Hopefully, once I get started on the project, I'll be able to come back and post more intelligent and relevant questions!
While your background would lend you toward C#, I recommend investigating something like this and using WPF for the media player. You can then control the media player using a background worker in order to stop the video or queue up the next one. Some other .NET concepts that will be of use to you are FileInfo and DirectoryInfo objects, to provide you with the necessary information about the files. I'm not sure if you've had experience with generic data structures in .NET, but the System.Collections.Generic namespace would be a good place to start to get a feel for data structure you want to keep your playlist in. WPF will also be able to help you with transitions between video clips.
Admittedly WPF is easier with an understanding of the MVVM or MVC design patterns, but I think you'll be able to get something working without having to delve too far into that right up front.

A lan pet Project

Its an idea i have had for many years and i want to finally start doing it.I am still a newbie , but i have enough experience to understand new things.The basic idea is this.There will be an animal.A spider for example, which can run across systems connected in lan.It comes and sits in one computer, and if the user nudges it it crawls away to visit a nearby or random computer, where it stays until nudged again.That's it.
Now i want to know the following things
1)Which languages are best for this one?I have some knowledge of C# and java.I can do flash animations also
2)What all should i search for to get started?
Its a nonsense project and has no use to anybody.But i will get immense pleasure if i see it work.I will be posting more questions as i progress.
This wouldn't be too difficult in C#. You could create a program (or service) that runs on the systems across the lan, and use WCF Discovery to find other copies of the program running on other systems.
When you want to make the spider move, just see which other systems are available, and send a message to that system that you want it to go there. You'd then make your spider crawl away, and on that system, crawl into place.

Categories

Resources