It turns out…

November 10th, 2009

As it turns out, my new master server probably won’t work. :(

Firewalls, and other bad networking conditions will likely be an issue. Combining my master server with Unity’s NAT facilitator (AKA Cool thingymabob for getting past firewalls, and such) will be impractical.

However, there is hope.

After talking with some people very well studied in the subject (Not Unity specific, but good enough to understand how the Unity Master Server works) I have found how what could be wrong with the Master Server.

First of all Unity’s Unity’s master server system is designed to run on a dedicated server. Dedicated servers can only handle so much traffic; Likewise too much traffic = super unreliable networking.

Unity’s hosted Master Server, is not intended for complete reliability, likewise it’s probably not using a super high capacity dedicated server – one capable of properly handling all of the traffic coming to it.

THis also explains why Dime Rocket has stopped working lately. A while ago, I came across a post by Aubrey, giving a link to Dime Rocket. It worked for a while (Thanks, Aubrey!), but then started to decline.

My guess is that the DimeRocket master server was well within it’s range – but then, it’s link got posted, and many needed developers – such as I – started using it. This probably gave the server more traffic than it could handle, and… Poof – buggy master server.

Now, there is hope for Space… Some time, may be never, maybe even in six months, I may be able to host a Cloud dedicated server. The advantages of this are: It’s a dedicated server – Unity appropriate – and it is Cloud; Cloud environments share the same data amongst multiple computers. Many sytems simply split one computer into quite a few, and give the data to one slice.

Cloud + Dedicated Server = Reliable master server.

No promises, though!

For now, however, I plan to migrate back to the Dime Rocket server, or find something better, and less known – at least until a long term solution is found.

New Space Master Server!

November 9th, 2009

My old master server has been bugging me for ages - connections are funky, and people had to constantly clear their cache and refresh the page, to see each other’s servers! It’s been going on for weeks. Ideas kept popping up in my head, about how I could make my own master server… Eventually these ideas lead to my current concept.

After having had this idea pop up a billion times – and having chaos occur during a beta test because of the old master server – I cracked.

I immediately disconnected from my beta chat, and started work on the PHP, and MySQL.

Here is the concept.

 

MySQL acts like a list of servers – each list item containing connection information.

When a player starts a server, the connection information for that server is gathered, and then send to MySQL as a list item.

MySQL then has a date function – it tells how long ago that server has pinged. The server pings every five seconds, and if a server doesn’t ping within 30 seconds of the last ping – the server is removed from the list.

This means that the Master Server (List of servers) automatically removes dead servers – when a server is closed (killed/becomes dead), it stops pinging.

The main bug in the old master server, was browser caching. The new system prevents the browsers from caching (Or storing old copies of) the master server. Instead it caches the API (Application Programming Interface) that displays, and controls the Master server. Since the API doesn’t change its self – only the results it sends to Space. Likewise, one’s browser will only store the way that the API works, not the things that the API returns.

 

The serve list displays the time since the last ping (LSR), in the server list. The text color moves from green, to red depending upon LSR (Last Server Response).

 

If a server is live, it probably won’t go above 6LSR, but the max is 30LSR for leeway.

Space getting better…

November 2nd, 2009

Since the Space reprogram, Space has been slowly climbing the ratings charts… I’ve got completely new gameplay that makes planet bonking look… Kind of boring to me, lol.

First of all, I rethought the GUI. It is now incredibly simpler, and does the job just as well. Instead of investing my time, and effort, in a complex radar/scanning system, that tries to list every single object in the game, I went for a simpler approach…

Name tags!

Name tags effectively act as the Space targeting system, and detail display system. All targetable objects are given a name tag, which, if clicked sets the owner as you target. The Necon Speed Fighter, is the only programmed ship in Space, and uses homing missiles! Basically, find your enemy, click on him, and start chasing/firing.

The name tags also display information such as health, player name, and just by where on the screen they are placed, the direction in which one must go to find the owner.

 

 

Dogfights were the second thing I rethought – Along with lag. I found that particle effects were the most – MOST lag inducing thing in existence on Unity. So, in the beginning, I scrapped them all together. I first replaced the particle effect missile with simple shader-based missiles.

This lead to a tiny, hard to see, oval shaped dot on the screen.

I figured that such things were incredibly hard to notice, so I added a “bounding orb”! It’s a red grid that goes around the red projectile, to make them more noticeable.

Missiles are certainly not a noob weapon, as they go off after about 20 seconds (t might be ten) – So, you have to chase your enemy, get ahead of them, and fire behind you – If you are going to fast, and shoot in the direction that you are goin…. Heh, you will outrun your projectile, and shoot your self – I have yet to fix that.

 

Finally, I have embarked on an entire LEVEL of gameplay for Space… Game modes! It is the second of three gameplay steps – I am well on my way to my goal for version 1.0.0.

 

Space 0.17.7 supports racing type games, which use gates to mark a specific “Gate Path”. Users fly through the gates, and the first one to fly through them all (For however many laps) wins! I’m currently working out a bug where everyone’s computer thinks they game in first…

 

Anyways, Space is coming along quite well, and I look forwards to getting racing done!

 

For more info on Space, visit space.geiodo.com.

A poem.

October 14th, 2009

It’s been a long time since I last wrote a poem… It’s inspired by the stress, and treating I get from Mars Explorer, often times…

When I try to help, I’m told to go away.
 When I actually listen, tis my duty,
 I’m told the next day.

When I try to leave, i’m told ’stay here!’.
 But might I, I’m met with an attitude, quite severe

Will they make up their inconstant old minds?
 Or, will I be trapped in this cycle of a bind?

 

Don’t get me wrong, my real life is great, but things have been stressful on the internet…

Problems in Space…

September 28th, 2009

Space is an online multiplayer, space exploration and dogfight game. Lately, my programming has become sloppy, and pointless, resulting in some bad gameplay. Likewise, I’ve decided to redo all of the code, aside from some networking code, and mainmenu things.

My main focus was to use the built in Unity physics engine. A physics engine is just something that takes in gravity, momentum variables, colliders, torque (And other physics-relevant data), and moves objects accordingly. There are many types of components for objects, but to explain this, I will cover just two. Unity works in a system of objects, all with special components that effect the object they are on. There are two mandatory components for an object. These two are the GameObject component, and the Transform component. The GameObject component just registers that the object exists, whereas the Transform component registers where in 3D space the object is, along with it’s rotation, and scale.

The Rigidbody component is just what tells the physics engine to apply to the object at hand.

Before I did the redo, the system worked off of the transform component – basically changing the value of position based upon script values that scale up, and down, as the player presses keys.

However, to permit the ship to collide, a rigidbody was required… This rigidbody caused the objects to spin out of control whenever hitting something like a planet – which turned out to be a pretty big hit!

I eventually got sloppy, and had to redo everything, as stated above.

Today the system moves based upon the rigidbody, and simply applies directional force at “Thruster points”. Sadly, this system removes the chaotic spin outs when colliding with things like the sun, and planets. This feature loss has caused the ratings of big fans to go kind of sour, and disappointed.

However, I have a plan. I can program the ship to do essentially the same thing!

Space’s ratings have gone down, but there is still hope!

D&D&D

September 28th, 2009

D&D Disappointments…

Sorry, whoever out there may actually still be reading my blog – It would seem that the Dungeons and Dragons experience has gotten too old in my memory for me t properly recite.. No more D&D posts for a while… :(

Another Teaser!

August 3rd, 2009

lol, I have been working Some more on “Space” (A full-3D space exploration, and dogfighting game), and recently finished planet texturing. I decided to do another teaser!


The original image actually was:

P.S. : I plan to make D&D part 2 be my next post!

D&D Part One

July 30th, 2009

Yesterday, I went down to where all my friends usually hang out… Gr, Ja, and I were playing some Parcheesi on the deck, which slowly degraded, most likely due to my degrading attention.

In the background (Actually right behind me lol), I heard graf (their grandpa, not mine), and jo setting up a character… The more I heard, the more enticed I was. I eventually made a short suggestion after hearing some of the character “classes”: “Why not make it a thief/ranger” – Players can have multiple classes. After that, the people around had started saying how great a player I would have been had I played it, and how I would find something better than splitting an atom!
I’m sitting there thinking “What are they talking about….?”.

From that point on, ja had called me a genius around 20 times, and every time I was acting a little too smart for my own good, he would say “Your hurting your case” (As almost every time he called me a genius, a replied “I’m not a genius…”) Why do I say “almost”? Well, around the 17th time, I gave up and said “You know what? I am just going to pretend I’m a genius, but understand, when I do, I don’t mean it”. At that point he only said “Your hurting your case” lol.

Eventually the game of parcheesi totally died…, and I was pretty much doing nothing but sitting there, while two people were setting up characters – temptation had me overrun… I had told the people currently outside (On the deck) that I was going down to talk to my parents, jo half mumbled “Ask them about the game” (Something along those lines). So, I rode my bike towards home to ask. First it was a yes because the thought it was at that moment, but I thought it was going to be late at night today – I told them this, and it was then a maybe. I rode m bike back down, I was asked, and I told them “It’s a maybe”, then my miss-information about the timing was corrected (Unintentionally, but I am still lucky it was) – it was actually pretty early in the morning. So, I immediately rode back home (all ready feeling tired, and saying “Exercise” a couple of times), and gave the info. It was a yes. After that I went through to setting up a character – In part two that is lol.

Dungeons And Dragons Pre-Post

July 30th, 2009

Dungeons And Dragons (D&D), is a game that I have heard of, but never played – however as of today that will change.

From what I have heard, it is a pretty great game! One of which I will most certainly be blogging about… Anyways, from now on I am going to be referring to Dragons and Dungeons D&D lol.

Also, I have quite a few friends evolved, and I am unsure whether or not they are ok with their real names being posted… Likewise, I am going to use a trademark of bunny… I’m not really sure how to describe them, so hopefully you can intuit their personalities via my writing.

jc : Male (teen)(tall)
gr : Male (teen)(average)
ba : Female(pre-teen)(average)
jo : Male(teen)(big)
graf : Male(Grandpa)(average)
grap : Female(Grandma)(average)

Anyways, off to part one…

Dungeons And Dragons Pre-Post

July 30th, 2009

Dungeons And Dragons (D&D), is a game that I have heard of, but never played – however as of today that will change.

From what I have heard, it is a pretty great game! One of which I will most certainly be blogging about… Anyways, from now on I am going to be referring to Dragons and Dungeons D&D lol.

Also, I have quite a few friends evolved, and I am unsure whether or not they are ok with their real names being posted… Likewise, I am going to use a trademark of bunny… I’m not really sure how to describe them, so hopefully you can intuit their personalities via my writing.

jc : Male (teen)(tall)
gr : Male (teen)(average)
ba : Female(pre-teen)(average)
jo : Male(teen)(big)
graf : Male(Grandpa)(average)
grap : Female(Grandma)(average)

Anyways, off to part one…