New Space Master Server!

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…

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.

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…

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

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!

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

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

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

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…

Under Development

I have been working on around three projects :

A full 3D space dogfighting/exploration multiplayer game(full 3D means that any direction you want is up, same with forwards, backwards, left, right, and down) – Space

A simple First Person multiplayer shooter, with extravagant weapons, but low violence – Un-Named.

A Third Person single player story lined, cartoon like action game – Team members would prefer the name kept quiet.

I was working on another 3D project, and researching on the Unity Community. I saw a post about some radar project on the Unify Wikis, and I decided to check it out. I started messing around with the radar, and began to think how perfect it was for space.

I messed around, reprogrammed, changed logic functions added logic functions, created new technologies (In my world), and overall, it’s s something pretty different… The only function I left virtually untouched, was a function that used mathematics that I don’t yet understand, but hopefully will.

On an experiment before hand I worked in mesh manipulation, and was forced to work with a “for” sequence.

I had originally HATED “for” sequences, due to some bad experiences (more or less experiments) with them. However after having been forced to work with them, I turned to love them, and in the week afterwards I had all ready used about seven of them LOL. Learning to use them opened up allot of doors for me…

“for” sequences are a special kind of loop. First they define a local start variable – then they define what value must be in what state for the loop to function. Finally they define what side function to do every time the loop is run.

One can use a “for ” sequence to iterate through an array – Arrays are special variables that are made up of more variables – for simplicity, and multiple data storages, that can be iterated through easily. Unity does not support multidimensional arrays as far as I know, but if it does, that would be quite useful. A multidimensional array is an array that contains more arrays!

Anyways, here is an example – if you don’t like programming talk, click here:

var string = “”;
var array = String[];
array[0] = 1;
array[1] = 2;
array[2] = 3;
for (i = 0;i < array.Length;i++)
{
string += array [i];
//Code here
}

First of all I define a for -

"for ()"

Inside the parentheses I define more parameters.... First I define what "i" is the first time the loop is run "for (i = 0;".

Next I define what must be true for the loop to run (after this is false, the loop will stop): "i < array.Length;" - this means that it will run as long as i is below the length (amount of objects) of the array.

Finally, I define it so that every time the loop is run, the value i is increased (moving it on to the next object):

"i++)"

Inside the code, I add the currently selected object's value to the string - at the end of this code's completion, the variable "string" will go from "" to "123".

I iterated through the array, and used it to display a number of gameobjects in the scene – displaying their location, name, and distance to the object carrying the script. I also added some cool graphical stuff too.

I also modified the radar script so that it can display multiple kinds of objects : Enemies, Allies, Neutral players, Unkown objects, and dangerous objects.

Unfortunately I misspelled ally…

Anyways, here is that teaser I was going to mention so long ago… Yup, a teaser for that game I have been monologging about…