Posts Tagged ‘internet’
What I did in 16h
I made my game for Ludum Dare #24 in less than a day. It caught me by surprise, I read the news that the contest had begun the second day and sat at my computer and started drawing textures for models, Run the Game Engine Shiva3D and then I composed a simple scenario and I remember that I was very clear about what I wanted to do, a kind of evolution of planets, something dark with a touch of Mario Galaxy
What went right
I built up the scene, get some free sounds modified and a simple music (atmosphere) and wrote the AI’s, behaviours and HUD scripts in the speed of light, but something bothered me and totally stucked me , a common math problem with free rotations in 3d axis.
What went wrong
The final hour arrived and I had to post the game with 2 bugs: camera and control, users started to test the game and all they said was good things but complied about the bugs, so I kept working on the game until I got a version with less bugs, without the gimbal lock in the control and a better camera, still to be improved…
What a lovely community
I was very surprised with so many comments, when I started to rate the games, I found there was lot of fun games, mine is more like a weird experience said some guy ,I love the touch of humor the users distillate here in the Ludum Dare, I was so used to getting bad reviews of my games in other networks, that this experience of have opinions of people with such passion and professionalism really left me overwhelmed and makes me think all this has a really good purpose to work and deploy a good game for the people, and I love to create new experiences, emotions and travels to other world, those kind of stuff, thank you !
The game evolves too
After reading and talking with other users I found that my game need a whole new point of view, so, one of them said me that it needed another player, I liked the idea and I turned the game into a multiplayer conquer for evolve experience in Space, dark matter is waiting!
I probably won’t use this next weekend, but I’m posting this just in case I do want to use it.
GNI is a library to facilitate some simple, easy to use communication between a server and any number of clients.
Please note that this was coded in a relatively short time span, it was not tested extensively, network code is vulnerable to tons of unpredictable bugs, and my experience with netplay development is limited.
What I want to say is, don’t rely on it unless you’re capable of fixing bugs in it, as it might break at the worst possible moment.
The example chat program I wrote seems to work perfectly, though, so it should work. ‘Should’ being the key word here.
-Simple way to send signals from server to client and vice versa, without bothering with minor technical details
-Automatically calls a function when a signal is received, a player connects, or a player disconnects
Code includes a simple chat server project and chat client project as examples.
How it works
Small packages of information called GNIDatas are sent through the library. When received, it’s reconstructed as a GNIData struct.
GNIData consists of a key-value pair, with the keys or values being shorts (16-byte integers), strings, or nothing.
-The server class must inherit from the library’s GNIServer class.
-Call StartServer(…) to start the server. You can have it check for incoming signals automatically, or choose to do so manually by calling Update().
-Override OnDataReceived(GNIData data, uint source) to interpret signals. It’s called from Update when a full GNIData has been received. ‘Source’ is the clientID of the client that sent the signal.
-Override OnClientConnected(GNIClientInformation client) if you want something to happen when a player joins. (The client is automatically added to the client list.)
-Override OnClientDisconnected(GNIClientInformation client) if you want something to happen when a player disconnects. (The client is automatically removed from the client list.)
-Use SendSignal(…) to send a GNIData to a client, or BroadcastSignal(…) to send a GNIData to every client.
-Send empty signals (datatype and valuetype ‘none’) if you want the server to automatically detect if a connection has been lost; otherwise it won’t notice until it fails to send a signal to it.
-The client class must inherit from the library’s GNIClient class.
-Call StartClient(…) to start the client. It WILL NOT check for incoming signals automatically; call AutoPoll() to have it do that. Alternatively, call Update() whenever you want to check for incoming signals.
-Override OnDataReceived(GNIData data, uint source) to interpret signals. It’s called from Update when a full GNIData has been received. ‘Source’ is always 0 and meaningless in the client.
-Use SendSignal(…) to send a GNIData to the server.
-To be honest, I’m not sure what happens when the client unexpectedly loses connection to the server. It’ll probably throw an exception, so just catch that.
Does not exist. If you can’t figure out the code, it’s best not to use it as it might still be buggy.
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
You are free:
* to Share — to copy, distribute and transmit the work
* to Remix — to adapt the work
* to make commercial use of the work
Under the following conditions:
* Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
Have fun, and good luck with your games.
This was a really strange LD for me. I had no Internet all weekend – it was like the eighties, except with Flixel. Without IRC and blogs, making a game by oneself is very lonely; I don’t recommend it.
I learned Flixel over the weekend, and I now know that my brain is the Flixel-compatible type. The whole thing makes very good sense to me and feels familiar. It’s interesting that everyone seems to fall distinctly into one of two camps, people who get Flixel and people who get FlashPunk. It would be interesting to investigate how these two classes of people are different, in ways other than programming. For instance, do we all like the same movies?
My game is called Intercontinental Drift, and it’s posted here. Please play it and come back here to leave comments. The game and I have been in isolation all weekend, and we both thirst for a little human contact.
I think the game is kind of interesting, though it is unpolished and pretty incomplete. I never got a chance to make music or expand the levels very much. As usual, I didn’t start actually churning out chunks of gameplay (levels) until the last few hours. I need to work on this for future LDs, because it’s the most important part.