Mythruna

Development => Blog => Topic started by: pspeed on April 05, 2015, 03:48:14 AM



Title: Productive tangents...
Post by: pspeed on April 05, 2015, 03:48:14 AM
So, as you may recall, I got Mythruna pretty close to being able to hook up the real networking.  Accounts can be created, characters can be created/managed, etc... the next step was a "Play" button which requires hooking up all kinds of network stuff.

Now, to do it right I'd also have to port over my networked physics prototype code... the ones with the balls that you could push around.  That physics engine is "mostly" compatible with Mythruna's but basically the physics code and the networking code were kind of too tightly coupled.  It was a final prototype but still a prototype after all.

Given how I found a few nasty/pervasive/yet-unfound bugs in the entity system networking code when I open sourced it... due to other kind users finding them for me... and because it made me clean up and bullet proof a lot of stuff... I've been toying with the idea of packaging up this network API as an open source toolkit.  That requires that I fully extract the too-tightly-coupled physics piece and clean it up a bit.

It also requires that I have a simple game to both test and demo that library.

Since Asteroids is the simplest game in the world, I thought making a multiplayer version with a few additional features might be kind of nice.  Players can login to an arena and blow each other up or shoot asteroids or whatever.

To properly test the networking zones, ie: the way the world is divided up to save bandwidth, I really needed an approach where the players' view of the world is limited.  The easy way to make a multiplayer asteroids is to let everyone see the whole arena (zoom in/zoom out maybe) and go from there... but it doesn't really test the zones.  In fact, it would completely ignore them.

So I really wanted something more hunter+strategic.  But finding other players in a large space arena could get pretty tedious... the ships need tools.  One easy one is a sensor ping but I also thought it would be nice if you could see recent energy trails.  I had some ideas on how this might simply be done but I didn't know if they would work or not... and if they did work it might have just looked totally stupid.

Given that the whole game changes depending on which approach is taken, I needed to decide before doing anything detailed with the design.  So I built a simple prototype using some off-the-shelf assets.  (This guy Kenney makes some pretty cool stuff: http://kenney.nl/assets/space-shooter-redux)

You can see that first prototype from last night in action here:
https://www.youtube.com/watch?v=38DWS-4TTXM

And tonight I was able to prototype the energy trails:
https://youtu.be/hHyNRhbr9pA

From that video's description:
Quote
Prep for making a simple multiplayer asteroids++ game to test a networking library (the one I will use for Mythruna)... I had two major design directions I could take: 1) full situational awareness where each player could see the whole arena and combat was more twitch+tactical, 2) you can only see your nearby surroundings and must find other combatants through sensor pings and hunting... and in this case, I really wanted ships to leave an energy trail behind depending on how much power they consume. But I had to prototype that... that's what this is.

I use the engine power to vary the strength of the energy trail but in real play it would be more complicated than that... ie: trail would be dependent on how much energy you are generating to fill your shield/laser/engine batteries or how much energy you are expending on each (for example, shields-up would cause constant signature.) Thus it would be possible to fill batteries and completely shut shields and engines down to temporarily blank your energy trail... it's a tradeoff.

At least that's the theory... and the (2) sounds more fun to me and is not much harder once I figured out how I want to do the trail. It also is a better test of the network zones anyway.

Note: the jumps in brightness are specific to the video. Also, I will probably smooth the edges and stuff in the final version.

Now I can proceed with a detailed design and then decide how much of that I actually want to implement and publish with the networking code.  I'm trying to keep the basic game implementation to about 2-3 man-days of work... with about another 2-3 man-days to polish the networking library.  Given that my max free-time burn is about 15 hours a week MAX these days... hopefully I can finish it in three weeks or so and get back to networking Mythruna.

We'll see.


Title: Re: Productive tangents...
Post by: Rayblon on April 05, 2015, 09:28:54 AM
Are you going to be selling the asteroids game or will it be free? Just wondering if I should prime my wallet or not. >:3


Title: Re: Productive tangents...
Post by: Conner on April 05, 2015, 09:46:54 AM
My wallet is ready also!


Title: Re: Productive tangents...
Post by: ebag51 on April 05, 2015, 10:57:31 AM
How much will it cost?


Title: Re: Productive tangents...
Post by: Rayblon on April 05, 2015, 11:07:19 AM
How much will it cost?

Paul might just make it an open source game or something... He has a history of doing things like that... Like, alot.

That said, it's definitely a wallet worthy game.


@OP Say, how will the multiplayer work? Is it local? Will there be servers or something?

I can see this game going farther than just multiplayer, personally. I could see this becoming something huge if it's polished the right ways. Maybe there aren't just asteroids and spaceships out there, for instance? Or maybe have there be team based multiplayer and stuff. Really, I'd be cool with you giving this more time just to flesh it out more. It'd be a great game to play chilling out with other Mythrunians.


Some ideas I got on the spot:
Resource matches: A gamemode where the first team or player that reaches X resources wins. This would be a sort of collection gamemode where you hunt for special asteroids that are mineral rich or something and carry them back to a freighter ship. The bigger the asteroid, the bigger the payout; but also the most energy you must expend to carry it home.

CTF: Self explanatory; perhaps there are mining plants on large asteroids to capture?

PvE: Maybe a sort of gamemode where you have to fend off waves of alien ships? Then again, you'd need an AI for that... But it'd be cool.

Battlefield 2142 Demo: No clue what the gamemode was, but I played it for years. Basically, there are two warships that have unlimited numbers of men and shields, but a vulnerable core and multiple access points when the shields are depleted.


Just some ideas...


ALSO WHERE DA HECKIE IS OUR FROGGEH GAME.

I WANNA BE DAT DARN FROGGEH!


Title: Re: Productive tangents...
Post by: pspeed on April 05, 2015, 02:34:02 PM
Answers sort of in reverse order...

re: The "FROGGEH GAME"... Dragonfly Odyssey is on hold at the moment waiting for more models.  I need a decent game-ready dragonfly before I can proceed and given that I'm not actively working on it at the moment, I think the guy who offered to model one for me has prioritized it low on his to-do list.  A tad ironic... but anyway it lets me focus on Mythruna-related stuff for the moment.  Every time I play the song and picture the end of the game, I really want to get back to it, though.

re: The rest.

The plan is to produce a simple game that I can progressively add stuff to... but the base simple version is basically:
-connect
-select a name and ship, no login or anything
-plop into the game and can shoot stuff and other people and your score is tracked
-basic game mechanics are that you have laser, shield, and thrust 'batteries' that slowly charge.  Using these reduces the battery charge (firing the laser, getting hit in the shields, thrusting) and if the batteries are empty then you can't use that thing until you get more charge.  You can control how much of your generator is partitioned to each one... so maybe you always trickle more into your shields or whatever depending on your particular play tactics.  Any of the three if charge in isolation will have enough charge trickling in to run that particular item continuously... shields being the exception since there is no fixed drain, it depends on how many things you are running into or how many shots your are receiving.
-if you get hit without shields, you die.  Shields = heath, basically.  You might be able to survive some glancing bounces against a planet or asteroid... but that's it.
-power-ups would include extra batteries to increase the amount of charge you can hold... and extra energy to give a quick charge.
-there will be some small planetary body (small in relation to your ship size, ie: not realistic planet size) that will exert gravity.  Enough to potentially orbit said planet.
-asteroids will exert some amount of gravity based on their size.

Some of those features may get cut for the open source version depending on how playable the game is without them.

The full version of the game, at this point not necessarily open source, would be slightly more MMO-like in that you have real logins and your "ship" exists outside of the specific arena combat.  ie: you can earn credits in combat and buy/sell batteries and upgrades for your ship.  In this mode, you would login to a lobby where you can chat with the other players online.  One arena combat game is running at a time and if you miss the opening then you can hang around and bet on the outcome with the credits you earn (you earn some small amount of credits just by being online).  Maybe you can also pay credits to add more asteroids or NPC mobs to the arena or something... one shot sort of deals to hedge your betting. :)

You should be able to bet on things like:
-player X wins
-player X loses (last place)
-player X kills most asteroids
-player X kills last asteroids (last place)
...whatever stats I can end up mining and have a best/worst, you should be able to bet on with some n:1 payoff scaled non-linearly by how many players are playing at that moment.

(Edit: and if it wasn't obvious, non-combatants get to watch the arena session while it's happening, of course.)

To play in an arena combat session you must "buy in" by putting some credits on one of the open slots.  If there is high contention for slots then the top N bids are accepted for that session.

Arena combat would work a little differently in that in this case it would probably be a larger arena and I would add the 'hunting' features that let you find other players.  These would be the energy signature trails as well as a sensor ping that you can initiate... kind of like a sonar pulse.  It costs energy to perform and other players will be able to detect your ping... but you eventually get an echo back from all ships letting you know what direction they are in.  (Note: there may be a way to 'hide' from these sensor pulses by landing on an asteroid....)

Killing other ships may drop some of their power-ups... they lose them and you can take them.  Not all... just some... so that death costs something.

When no arena combat is going on (or perhaps if I support multiple simultaneous game fields) you can play in solo mode where you cruise around an arena filled with asteroids and NPC mobs just to keep from being bored and maybe earn some resources through (rare) powerups.

At this point I could continue evolving the game to have larger asteroids that can be 'carved' with lasers into bases... potentially a meta-space between arenas where your bases can live, etc..  More "persistent world" type of stuff.

re: "cost", I'm not sure yet.  I could sell the game as a one shot.  I could sell servers or whatever.  Or I could go with a free-to-play model where the game is exactly as I described above but you could 'buy' additional credits if you don't want to wait/earn them.  I could also just put up a patreon link or something. :)  If it does turn out to be as fun as I think it might... then it would be nice to get a little extra revenue coming in to pay for my server costs.  It would also potentially let me put servers up on real hosting if they become popular (and pay for some Mythruna pro hosting as well.)

But... the bottom line: step 1) get a minimally fun and playable game to test networking.  And that's no small thing because if it isn't fun enough for people to want to play then there will never be anyone on to play with... and then I can't properly test the networking.


Title: Re: Productive tangents...
Post by: pspeed on April 05, 2015, 02:41:31 PM
One nice thing is that the asset pack I downloaded pretty much has everything I would need.  There would be no way I could finish this game quickly without all of that.  It's even got attachable guns/engines, as well as different laser bolt styles... even has power up icons already.

Here is a pic of some playing I did on Friday night after downloading it... just seeing how easily I could form more complicated ships.  (The asset pack includes three base player ships in four colors... as well as a bunch of enemy ships, different guns, etc..)

(http://i.imgur.com/msmEa4Q.png)

For the full version, I may tweak the assets to allow real time color replacement so that you can pick two or three custom colors/textures for your ships to stand out.

Anyway, having the art already done is a huge boon.


Title: Re: Productive tangents...
Post by: Rayblon on April 05, 2015, 02:51:15 PM
Let there be texture packs! :D

I'd love to be able to deck out my game with the classic looking ships.


Title: Re: Productive tangents...
Post by: pspeed on April 05, 2015, 03:17:22 PM
Let there be texture packs! :D

I'd love to be able to deck out my game with the classic looking ships.

Actually, swapping out ships and stuff would be dead-simple.


Title: Re: Productive tangents...
Post by: Rayblon on April 05, 2015, 03:39:26 PM
Actually, swapping out ships and stuff would be dead-simple.

You are gonna be king of the asteroids by the end of this. xD

Also, the hype is real. The hype is real guise ;-;


Title: Re: Productive tangents...
Post by: Rayblon on April 05, 2015, 04:51:22 PM
A few questions/ideas...

1. So are you planning to host all the servers, or are you thinking about allowing people to host their own... or is that undecided as of now? If it helps, I suggest pushing it like you do Mythruna, myself. There is one issue that I see coming from this, though. If someone hacks a server they run to give a ton of credits... well, you know.

2. Mods...

3. I think you could do premium content... but it'd be better off as cosmetic stuff imo. Even if you could earn your way to the top, P2W gets alot of flack even if it's not giving you a distinct advantage. Maybe you could model after TF2 in this regard. Even then, premium currency, if you choose to have such a currency, should be something you can earn as well, just, you know, really difficult to earn. That way the poor people don't actually miss out on anything if they invest thousands of hours into the game, which people may very well do...

Watch this before reading my opinion on F2P games: https://www.youtube.com/watch?v=I0CnQCol23w
Some things I like about F2P:
I. You will have a huge community in comparison to a P2P community
II. This larger community means more significant community-made contributions.
III. "Hey, Paul is a nice guy. Maybe he has other cool games to play."
IV. A generally more diverse community. You'll get people playing on here from all around the world simply because they don't have to (directly) deal with all that credit card jargon.

Some things I DON'T like about F2P:

I. The larger community may also be less invested or lower quality; You open the floodgates and the masses start pouring in indiscriminantly, having a pricetag keeps the people that are genuinely interested and willing to make positive contributions playing, while also keeping out the lower quality masses. Of course, that's not all-inclusive, but I'm sure you get the point.

II. We live in a world where free to play translates to low quality for alot of people... and with good reason. TF2 and Counterstrike being the exceptions, there are lots of monumentally bad F2P games, not all of which are P2W. So, it may also scare away some people.

III. F2P forces you to strike a delicate balance between the Pay to win and Play to win elements of the game. If you can pay 50$ to buy the most powerful laser cannon in the game, well... You might do it. You'll get an insane advantage over other people in the process and then you will probably get called a "buyer" when people see you go from the default cannon to this supremely overpowered beast of a weapon. The people who don't pay get mad at the paying players, and consequently end up marring the reputation of an otherwise splendid game when they complain. However, if you don't have any game altering(but not exactly enhancing) premium content, nobody will buy in the first place other than the really nice people that pay to look good. However, introducing cosmetic items increases the amount of art that is needed, and makes texture packs harder to produce...  However, if #5 is like a furnishable base, then perhaps you could sell furniture and such for premium credits. This is a great way to introduce paid premium content without actually giving the user anything that gives them an advantage... which is pretty solid. Everybody likes having a well furnished home. Still, though, it's a delicate balance and it may anger people anyway ("Well I EARNED my chair!").

IV. HACKERS! Gah. Free to Play is hacker bait, as I feel you already know. It's risky and they're clever little turds. The way I see it, you don't want to give them a chance, because it takes alot longer to patch a hack/exploit than it takes to find one. Of course, hack prevention is always an option, but no security system is perfect... Unless you're talking about Dead Frontier. That game makes hackers CRY. xD

4. I look back to a game called Counterstrike and I see something. I see down the scope of the sniper that just capped me from 300 meters away. I think that, later down the line, there should be skill based matchmaking so the newbies don't get dominated by the Asteroid pros.

5. How will the asteroid bases work? Will it transition to a sort of Terraria thing or a zelda top-down experience with furniture and little people walking around? Or would you just fly around inside of it? I know it's a bit early to ask, but I was wondering. Personally, I'd love some top down action and being able to see my actual character.


You're so devoted to us, spending time you could be using to work on other stuff talking to us. :>


Title: Re: Productive tangents...
Post by: pspeed on April 05, 2015, 08:56:47 PM
Just randomly because directly addressing everything in your post would take a while. :)

No, I don't plan to setup my own server farm for this game... nor do I plan to host a central login server or anything.  Maybe it evolves into that.  So if there is a 'paid credits' model then it's just for my server.

Regarding battles, skill matching will be an issue that will probably come up sooner rather than later.  Really, that's just down to skill and hard to say what "better" is.  For example, all guns will have a tradeoff.  If they fire faster than their shots are weaker, and so on.  So customization of weapons is more about your matching your play style.  Maybe later we have "epic ships" or something that truly are more powerful.

That being said, loaded up with max batteries would be a distinct advantage.

For bases, I just figured it would be something like carving out the inside with your lasers so that you can park in there... maybe evolving to being able to attach stuff to it or something.  I tried to imagine how something might evolve in-game if there were larger asteroids with tougher skins that lasers only took chunks out of rather than splitting them.  It seemed reasonable that some player would dig a tunnel and hide.

I don't foresee this being anything but space combat... so I don't foresee ever leaving your ship.  Who knows, though?

re: F2P, yeah, I'm aware of all of the issues and that's why I wouldn't enter into that lightly.  It's much easier for me to just put my game up on steam and let others deal with the tax implications, etc..  But once a server has an in-game credit model (and that's part of the fun of keeping people online even when they aren't competing), people are going to clamor to be able to jump the gun a little... though maybe if the solo play is always available and fun enough then people will just earn credits that way.  Which serves another purpose; people who play in the arena will be guaranteed to know what they are doing at least a little bit.

And maybe I can just split the difference.  Play for free and you have to earn all of your credits.  Buy the game once and you get x number of credits when first joining the server... and a nice little "Wings" badge showing you are an official space pilot or some such.

First I have to make a game, though... then we can all evolve it together.


Title: Re: Productive tangents...
Post by: pspeed on April 05, 2015, 08:59:12 PM
P.S.: So far the working title is "Ethereal Space"... e-space for short.  No real reason, though... I just needed a name.


Title: Re: Productive tangents...
Post by: Rayblon on April 05, 2015, 10:34:16 PM
I don't foresee this being anything but space combat... so I don't foresee ever leaving your ship.  Who knows, though?

Well, I guess it all depends on how you want to go about explaining the game and setting the tone. The way players can place bets and the like makes a physical lobby, at least, better fitted than a CS:GO esque lobby imo. You could imply that the battles are actually like horse races and the like; making it less of a "you win or die" situation and more of a "You win or you lose and might lose some of your upgrades in the process, but you won't die and that's why your ship is going to make a return next round". Kind of a win-win if you're trying to make a really chill game, rather than a super serious one.

With a physical lobby, you could have betting consoles and a lounge in some "spectator station" where people could chat 'face to face' and explore the environment. I see it as a good diversion for when they have to wait however many minutes it takes for them to be queued up. It'd also be a great place during intermissions and make it more of a virtual reality than other games like this; but more importantly, instead of saying "you can place bets!" you're saying "You can place bets, and this is why". Instead of pressing m for a menu, you're at an actual console when you're placing your bets. Color me easily bored,  but when the game stops being interactive, like in the case of when you're stuck in a menu, I start getting impatient; even if I CAN pay to drop in some asteroids or tab out and check my YouTube feed. Having a place where you can actually leave your ship may also open the doors to modders to do some crazy stuff too, you never know.

As per standard protocol, this is just my two cents, or however many dollars the final product costs. :P


PS: I guess it might expand the age range if there's a no death explanation too. As much as I'm not a fan of kids, even a three year old knows how to milk its' parents for money.


Title: Re: Productive tangents...
Post by: pspeed on April 05, 2015, 10:54:22 PM
Well, one way is nice because it's easy and requires almost no effort. :)  So we'll see which one gets implement first... and then other things can always be enhancements.

The thing is, I don't want to detract too much from the game play.

Arena combat is definitely like horse races in the sense you mention.  Losing just means you didn't win... you walk away with less credits and probably some lost upgrades.  You can even continue spawning back in during play... and maybe have the option to "tap out" but I want to encourage staying in.  It's likely that the number of upgrades you can lose in a single arena session has a max or at least won't strip your ship completely or something.  It could be a big leveler.

I want to try to keep rounds quick... I don't know what all of the "win" conditions are but I'd like combat sessions to be 5-10 minutes at most.

So when you login to the "lobby" your main interface is the map where the current combat is happening.  Maybe you can switch to different arenas if that's ever supported.  You'll have a chat bar at the bottom and betting options along one side.

Presumably if you login and can't play right away, you won't be bored because you'll be watching the current combat to size up your potential competition and maybe learn some tricks.  Alternately, you can do some solo play to practice while you wait five minutes for the next round.  (Solo play is likely to be hosted on the player's machine so as not to bog the server... with communication only for announcements and for the server to grant some random power-ups as you play.)

I have to keep it simple because man I'd love to make a persistent world sci-fi MMO... and I really have to be careful. :)  Down that path is major time suckage.


Title: Re: Productive tangents...
Post by: Rayblon on April 05, 2015, 10:59:17 PM
I have to keep it simple because man I'd love to make a persistent world sci-fi MMO... and I really have to be careful. :)  Down that path is major time suckage.

Hey, as long as you get your time's worth in money, right? :P


Title: Re: Productive tangents...
Post by: pspeed on April 05, 2015, 11:05:41 PM
I have to keep it simple because man I'd love to make a persistent world sci-fi MMO... and I really have to be careful. :)  Down that path is major time suckage.

Hey, as long as you get your time's worth in money, right? :P

Indeed... but let's at least keep the horse within sight of the cart. :)


Title: Re: Productive tangents...
Post by: Rayblon on April 05, 2015, 11:55:13 PM
I actually want to say one last thing here, because it's something that I, myself have dealt with before. Even with the risk of losing upgrades and the like, there comes a point where the credits will essentially make losses of no consequence to you, because you have an ungodly amount of them. That's kind of why I wanted the walk-in bases; so that people had an outlet to blow those credits that they'll never end up spending otherwise because they've got 20,000,000 of them. That 20,000,000 might all get spent in a day upgrading their space base, and the next thing you know, they're back in risky territory... but also have something to show for their previously insane amount of money. Now, I'm sure you'd be able to buy cosmetic items for credits and such, but eventually you can buy all of that; a space base has near infinite room for additions. Call it a sort of prestige system, if you will. Bases would also allow you to show off things like trophies from big tourneys and events too, I suppose.

It makes you kind of feel like a celebrity sports player, too... Using your winnings to build a shaq mansion... in freakin' space, ma'an.


Of course, as you said, this would likely come as an enhancement later on rather than something you'd be shipping the first complete release with.

Also we both clearly have terrible sleep schedules xD


Title: Re: Productive tangents...
Post by: pspeed on April 06, 2015, 01:53:40 AM
Oh, my days are almost completely upside down.  Stress-insomnia means I don't even try until I'm exhausted.

I think there is another point that we'll have to wait and see how fast or likely credits sky-rocket.  If I've done my job right, only the really good/busy players get to that point of comfort.  And maybe the buy-in for a session goes up as your ship gets 'more expensive'... which would also make veterans less likely to pick on newbs... or at least they'd have to pay more to do it.

There could also be special events where the minimum buy-in is higher or something to get "I am the champion of the champions" bragging rights.  Maybe to get up on a server-wide leader board.

I'm not saying I don't like your diegetic interface ideas... after all, I love that... but there are other ways to postpone the necessity. :)



Title: Re: Productive tangents...
Post by: Rayblon on April 06, 2015, 11:06:52 PM
I got a bunch of my friends on the hype train already. Something tells me that means this is very marketable.

If there's any way I can be of assistance, just ask, by the way. That has always been my policy here, and always will be.


Title: Re: Productive tangents...
Post by: pspeed on April 07, 2015, 07:34:25 AM
I got a bunch of my friends on the hype train already. Something tells me that means this is very marketable.

If there's any way I can be of assistance, just ask, by the way. That has always been my policy here, and always will be.

Cool, thanks.

I got an asteroid moving using a simple physics engine last night with the proper hooks to pump to the network layer eventually.  It was kind of nice to see as there was a lot 'this is real' code that needed to be implemented to make that happen.

Now I will have to decide if I write my own collision detection stuff or potentially look at integrating an off-the-shelf 2D physics engine like dyn4j or something... though that might let me use it just for collision detection.  The sprites I have are varied enough that simple circle/sphere collisions aren't going to cut it.  I'll have to see if dyn4j has anything to build a collision shape from a sprite as then it's a clear "saves me tons of time" winner.


Title: Re: Productive tangents...
Post by: Rayblon on April 07, 2015, 08:06:40 AM
How are you going to be communicating the position of the asteroids, anyhow?

 I guess it can only either be positional or be like "Here is where it is now and here is the  directional velocity until it hits something", but I was just wondering. One of these things seems to make big servers easier to host, is all... not that I know much about networking. I just know about how raycasting can be used in 3D games to maintain smooth looking movement of projectiles even with high latency.


Title: Re: Productive tangents...
Post by: pspeed on April 07, 2015, 11:53:30 AM
How are you going to be communicating the position of the asteroids, anyhow?

 I guess it can only either be positional or be like "Here is where it is now and here is the  directional velocity until it hits something", but I was just wondering. One of these things seems to make big servers easier to host, is all... not that I know much about networking. I just know about how raycasting can be used in 3D games to maintain smooth looking movement of projectiles even with high latency.

If I understand the question... the server will sent the position and orientation.  The more detailed description is way more complicated than that.


Title: Re: Productive tangents...
Post by: Rayblon on April 07, 2015, 12:53:58 PM
If I understand the question... the server will sent the position and orientation.  The more detailed description is way more complicated than that.

Yeah, that was the answer I was looking for... I think.

So basically, I was asking if the asteroid data that the server sends looks more like:

Asteroid 1
Pos: [23,4]
Rot: 36*
Sprite/shape: 5

or...

Asteroid 2
Pos: [23,49]
Rot: 124*
Sprite/shape: 5
Travelling direction: 92*
Velocity: 12

Where direction and velocity "allow the client to make independent calculations between updates to prevent choppiness from a bad connection/bogged down server".


Title: Re: Productive tangents...
Post by: Michael on April 07, 2015, 03:31:02 PM
I got a bunch of my friends on the hype train already. Something tells me that means this is very marketable.

If there's any way I can be of assistance, just ask, by the way. That has always been my policy here, and always will be.

Cool, thanks.

I got an asteroid moving using a simple physics engine last night with the proper hooks to pump to the network layer eventually.  It was kind of nice to see as there was a lot 'this is real' code that needed to be implemented to make that happen.

Now I will have to decide if I write my own collision detection stuff or potentially look at integrating an off-the-shelf 2D physics engine like dyn4j or something... though that might let me use it just for collision detection.  The sprites I have are varied enough that simple circle/sphere collisions aren't going to cut it.  I'll have to see if dyn4j has anything to build a collision shape from a sprite as then it's a clear "saves me tons of time" winner.
The Java Box2D port is good for custom-defined shapes (vertices), if you'd like to look into that.


Title: Re: Productive tangents...
Post by: pspeed on April 07, 2015, 06:23:56 PM
I got a bunch of my friends on the hype train already. Something tells me that means this is very marketable.

If there's any way I can be of assistance, just ask, by the way. That has always been my policy here, and always will be.

Cool, thanks.

I got an asteroid moving using a simple physics engine last night with the proper hooks to pump to the network layer eventually.  It was kind of nice to see as there was a lot 'this is real' code that needed to be implemented to make that happen.

Now I will have to decide if I write my own collision detection stuff or potentially look at integrating an off-the-shelf 2D physics engine like dyn4j or something... though that might let me use it just for collision detection.  The sprites I have are varied enough that simple circle/sphere collisions aren't going to cut it.  I'll have to see if dyn4j has anything to build a collision shape from a sprite as then it's a clear "saves me tons of time" winner.
The Java Box2D port is good for custom-defined shapes (vertices), if you'd like to look into that.

Many people I know who have used both prefer dyn4j for some reason.

...but if I have deconstruct a pixel sprite into shapes then I've already all of the hard work myself.


Title: Re: Productive tangents...
Post by: pspeed on April 07, 2015, 06:25:52 PM
Where direction and velocity "allow the client to make independent calculations between updates to prevent choppiness from a bad connection/bogged down server".

This is called prediction and it has noticeably jarring artifacts of its own as the predictions could be inaccurate.

At the risk of providing too much information, these articles are good if you are interested in the subject and they are largely the method I employ:
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
https://developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_Optimization


Title: Re: Productive tangents...
Post by: Rayblon on April 07, 2015, 07:29:33 PM
Where direction and velocity "allow the client to make independent calculations between updates to prevent choppiness from a bad connection/bogged down server".

This is called prediction and it has noticeably jarring artifacts of its own as the predictions could be inaccurate.

At the risk of providing too much information, these articles are good if you are interested in the subject and they are largely the method I employ:
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
https://developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_Optimization

I found this in the second article that seems to fit my description fairly well.

"For extrapolation, the other player/object is simulated forward in time from the last known spot, direction, and velocity in more or less a ballistic manner. Thus, if you are 100 milliseconds lagged, and the last update you received was that (as above) the other player was running 500 units per second perpendicular to your view, then the client could assume that in "real time" the player has moved 50 units straight ahead from that last known position. The client could then just draw the player at that extrapolated position and the local player could still more or less aim right at the other player."


I understand the possibility of the extrapolations/predictions being inaccurate... But with the behavior of traditional static-velocity asteroids I can't imagine extrapolation leaving you any worse off filling in the gaps with asteroids than lag compensation, however interesting the system may be.

I can't say that extrapolation is a good choice when dealing with player ships and the like. I just see the possibility of lowered network usage for those annoying little space rocks. I figure it'd be light on big servers... But as I always say... I'm not a networking specialist.


Title: Re: Productive tangents...
Post by: Rayblon on April 07, 2015, 07:42:35 PM
I found an article on the making of Asteroids, if you're interested.

http://www.rawbw.com/~delman/pdf/making_of_Asteroids.pdf


Turns out you're working on a remake of a remake, so to speak. xD




Title: Re: Productive tangents...
Post by: pspeed on April 07, 2015, 08:02:09 PM
Where direction and velocity "allow the client to make independent calculations between updates to prevent choppiness from a bad connection/bogged down server".

This is called prediction and it has noticeably jarring artifacts of its own as the predictions could be inaccurate.

At the risk of providing too much information, these articles are good if you are interested in the subject and they are largely the method I employ:
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
https://developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_Optimization

I found this in the second article that seems to fit my description fairly well.

"For extrapolation, the other player/object is simulated forward in time from the last known spot, direction, and velocity in more or less a ballistic manner. Thus, if you are 100 milliseconds lagged, and the last update you received was that (as above) the other player was running 500 units per second perpendicular to your view, then the client could assume that in "real time" the player has moved 50 units straight ahead from that last known position. The client could then just draw the player at that extrapolated position and the local player could still more or less aim right at the other player."


I understand the possibility of the extrapolations/predictions being inaccurate... But with the behavior of traditional static-velocity asteroids I can't imagine extrapolation leaving you any worse off filling in the gaps with asteroids than lag compensation, however interesting the system may be.

I can't say that extrapolation is a good choice when dealing with player ships and the like. I just see the possibility of lowered network usage for those annoying little space rocks. I figure it'd be light on big servers... But as I always say... I'm not a networking specialist.

It's the same amount of data either way... and I highly compress that data and only send what changes, anyway.  I'm able to get like 70-80 object updates in a single (typical) MTU (1500 bytes).  Actually, in your case you need more data  because you need to send linear and rotational velocities with position.  I send the messages using UDP so I must implement some redundancy ack/nack scheme on top of that so you can't even get away with dead reckoning, really.  That would mean you have to force reliability... where I don't.  If I send all position histories for a certain period back in time I can ignore any updates that are older than some time.

Extrapolation is a problem because it gets worse the higher your lag is or the more chaotic your objects.  Asteroids may not always travel in a straight trajectory because they are affected by other things... and in any case, the ships themselves are going to be super chaotic.  And once you have one thing that you have to use the interpolated history approach on then you have to do it for everything.


Title: Re: Productive tangents...
Post by: pspeed on April 07, 2015, 08:03:28 PM
I found an article on the making of Asteroids, if you're interested.

http://www.rawbw.com/~delman/pdf/making_of_Asteroids.pdf


Turns out you're working on a remake of a remake, so to speak. xD

Just checking... but you do know that I already implemented a full asteroids clone example some time ago called "Asteroid Panic" right?

Retro-style graphics, some theme music, and everything:  :)
http://hub.jmonkeyengine.org/t/zay-es-full-example-asteroid-panic/26880

Edit: note that the pace is very different than what I'm going for now.


Title: Re: Productive tangents...
Post by: Rayblon on April 07, 2015, 08:22:30 PM
I made gratuitous additions to the second post, all too late, I'm afraid. xD

I'm just going to post them here.

"It also seems that one of the biggest challenges the original developers faced creating Asteroids was the balance between ship inertia and and friction. Too much inertia and you have no control, too much friction and the game is too easy.

ALSO, I checked out an online port of the game here (http://www.freeasteroids.org/), and I've noted some interesting mechanics:
1. You get penalized for not shooting things. If you don't destroy meteors, you get faced with more and more alien ships.
2. Your projectiles influence the direction in which the fragments of an asteroid you hit will travel. If you hit an asteroid from the bottom, the chunks will head upwards, for instance. Likewise, an asteroid moving to the left, but shot from the the lower left will have almost stationary fragments. This principle would prove quite interesting to use in combat.
3. Every round increases the number of asteroids by 1. Gradually increasing asteroid density would be a good way to keep rounds short. If the players don't kill eachother, let the asteroids do it for them."
4. Asteroids ignore eachother, but are broken if they collide with ships.

P.S. I checked out asteroid panic and... It's kind of floaty, and the inertia is pretty low when I want to accelerate... and the turning speed is just a little frustrating. The shots are powerful, but it seems like they're almost too powerful. That's after playing the original Asteroids, but I digress. It's well made, just not calibrated for the same experience as the traditional Asteroids. I guess that's what you meant by different pace?


Title: Re: Productive tangents...
Post by: pspeed on April 07, 2015, 08:39:25 PM
The asteroids that I remember playing in the arcade was such that flying around wasn't something you did much.  Much of my version has what you were talking about re: asteroid directions and stuff.  But yeah, that's kind of what I meant by pacing.

As I said, my memories of the original are that you mostly stay in one place.  You don't hunt anything you wait until you have a shot to line up and shoot... more placing yourself in the right places at the right time.

The new one is all about flying around... since you can't even see the whole field of battle at any given time.  That means that ultimately the flight controls need to be more responsive, though I will still leave out friction (except of the gravitational variety).  In fact, part of the power down strategy would be that you could float in a particular direction indefinitely.  As long as you had no reason to move or shield up then you don't leave any energy trails.

Also, I want gravitational pull between objects which will lead to some interesting flight, I think.  In the center of the arena there will be a gravity well of some kind, likely shaped like a small planet... but even the asteroids will exert some amount of pull (on you and each other) depending on their size.  It will take lots of tweaking to get all of that feeling right. 

But in the end, floating aimlessly should feel more dangerous than powering through.

(Note: the planet will have a deflective shield so that you cannot 'land' on it, you will just bounce... and asteroids will bounce harmlessly off of it... you might be able to 'land' on the asteroids, though, with some care.)

If you can find a copy of Star Control, that might be a better example of the pacing I'm going for... though with less variation in the ships, of course.  That's a completely different game. :)


Title: Re: Productive tangents...
Post by: Rayblon on April 07, 2015, 09:42:45 PM
Hmm... What if the center mass was an artificial sun?  Then light becomes a strategic element alongside the power signatures and the like. As an energy source, it would become a hunger games cornucopia.  Let's not forget that it'd be cool as hell. :P

I always had trouble surviving in one place with asteroids, personally... But I've made it to wave 12 before. I guess in waves 1-4 you might be able to get by with being stationary, though. That's my experience, at least.


Title: Re: Productive tangents...
Post by: pspeed on April 07, 2015, 11:36:55 PM
I may have to see if my MAME cabinet has Asteroids or not... I forget.

...I also think I need to resurrect my Sega Genesis to play some Star Control. :)


Title: Re: Productive tangents...
Post by: pspeed on April 07, 2015, 11:44:06 PM
Hmm... What if the center mass was an artificial sun?  Then light becomes a strategic element alongside the power signatures and the like. As an energy source, it would become a hunger games cornucopia.  Let's not forget that it'd be cool as hell. :P

I'm not opposed to this being an option in the full game... as I may convert to actual 3D models in that case where light source will matter.  Otherwise, without directional shading I think it would lack impact.

While we're messing up the scale of celestial bodies, perhaps there could also be a slowly spinning quasar that completely blinds the screen every time its jet passes up.  The periodic total/near blindness could be interesting.


Title: Re: Productive tangents...
Post by: pspeed on April 08, 2015, 01:38:15 AM
P.S.: I played a little with dyn4j tonight... I even found an app (for pay, boo...but only $20) that makes it pretty easy to create collision shapes from sprites.  Going to do a little more experimenting to see if I can easily convert.  It will save me tons of time/effort if so... and be a better test for the networking API (when I can't just morph the physics engine to fit it).  Guaranteed clean separation in that case.


Title: Re: Productive tangents...
Post by: Rayblon on April 08, 2015, 02:10:07 AM
Hmm... What if the center mass was an artificial sun?  Then light becomes a strategic element alongside the power signatures and the like. As an energy source, it would become a hunger games cornucopia.  Let's not forget that it'd be cool as hell. :P

I'm not opposed to this being an option in the full game... as I may convert to actual 3D models in that case where light source will matter.  Otherwise, without directional shading I think it would lack impact.

While we're messing up the scale of celestial bodies, perhaps there could also be a slowly spinning quasar that completely blinds the screen every time its jet passes up.  The periodic total/near blindness could be interesting.

... 3D Asteroids would be incredible. A really cool game that you may want to check out if you want to do some serious gravity and orbital stuff is "Osmos (https://www.youtube.com/watch?v=bR1zRl0rulo)". It's a game where you're a sphere trying to eat other spheres, but it has antimatter, attractors, repulsors, and a bunch of other stuff... Like spheres that try to eat you. Perhaps you could draw inspiration from it. It made me think about things I never expected to think about in physics.

In fact, it gave me a few ideas. The one I'm most interested in is hunter drones(Think manhacks, but much more capable of destroying your ship). They could be how the "Ethereal Space" game hosts force their participants to cause havoc... or they could be a means to punish you for it.

As for the quasar thing... That may be best as a special round or something. It's really cool, but I can see that getting old fast if it happened every round. The quasar would probably camoflage your energy signature and perhaps make your battery charge even faster. Actually, it'd probably fry every circuit in the ship... but sci-fi! :D

Here's an online copy of Star Control (http://game-oldies.com/play-online/star-control-sega-genesis#). The copyright holder went out of business and doesn't enforce against distribution of the first game. I take it that ergonomics don't matter in a strategy game, because... whooo. The control scheme is scary to me.


Title: Re: Productive tangents...
Post by: pspeed on April 08, 2015, 02:51:44 AM
We almost never played the strategy part... just the melee combat where you each get the 7 ships or whatever and can choose which one you go into battle with until you win or run out of ships.  I always played the Urquan (sp?).  I could mess some stuff up.


Title: Re: Productive tangents...
Post by: pspeed on April 08, 2015, 03:20:05 AM
Here's an online copy of Star Control (http://game-oldies.com/play-online/star-control-sega-genesis#). The copyright holder went out of business and doesn't enforce against distribution of the first game. I take it that ergonomics don't matter in a strategy game, because... whooo. The control scheme is scary to me.

Man... thanks for that... what a completely enjoyable waste of time. :)


Title: Re: Productive tangents...
Post by: Rayblon on April 08, 2015, 11:38:36 AM
Man... thanks for that... what a completely enjoyable waste of time. :)

I'm glad you enjoy(ed) it! :D


Also, for now I've pretty much tapped out all of my ideas for this. It was a good chat though. :)


Title: Re: Productive tangents...
Post by: Rayblon on April 08, 2015, 06:05:01 PM
I've been thinking about some stuff... Namely, gameplay customization. Would servers be able to adjust things like ship speed, friction, projectile speed, etc? It'd be kind of cool seeing how servers tweak these mechanics to create 'gamemodes' of their own.

I know friction isn't supposed to be a thing, but space dust slows you down. Some people may want an experience closer to the classic, you see. Others more may simply like the challenge of being forced to use energy to move constantly.

... I'm interested to see how well you model energy trails, btw.


Title: Re: Productive tangents...
Post by: Rayblon on April 08, 2015, 06:13:48 PM
Do you know what the logo will look like yet? lol


If not, just use the Croft head. It's just like hypnotoad.

(http://i.imgur.com/5nWNhrv.gif)
Play Paul's new asteroids game when it comes out.


Title: Re: Productive tangents...
Post by: pspeed on April 08, 2015, 08:11:16 PM
I've been thinking about some stuff... Namely, gameplay customization. Would servers be able to adjust things like ship speed, friction, projectile speed, etc? It'd be kind of cool seeing how servers tweak these mechanics to create 'gamemodes' of their own.

I know friction isn't supposed to be a thing, but space dust slows you down. Some people may want an experience closer to the classic, you see. Others more may simply like the challenge of being forced to use energy to move constantly.

... I'm interested to see how well you model energy trails, btw.

In Star Control, some ships are really powerful only if they can slingshot around the planet and use that endless momentum (until they hit something) to wait patiently for the opportunity to strike without worrying about getting hit.  (I think this tactic was even well known to the designers because one of the ships can manage to shoot itself in this configuration if it isn't careful... and would otherwise be nearly invincible.)

Yeah, the stuff will be tweakable and I'll include groovy scripting just like I always do now. :)


Title: Re: Productive tangents...
Post by: pspeed on April 10, 2015, 07:35:30 AM
I might as well leave this here, too. :)

Playing with dyn4j physics library and my nifty sprite collision shapes from an app called PhysicsEditor.

https://youtu.be/IyB07Jl7ISo


Title: Re: Productive tangents...
Post by: pspeed on April 11, 2015, 02:31:03 AM
And I uploaded a test if you want to play with it....
http://www.simsilica.com/Downloads/EtherealSpace-test-20150411-Windows.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150411-Linux.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150411-MacOSX.zip

NOTE: You will want to run with vsync on for sure because the physics is currently run unthrottled... so the faster the frame rate, the faster it runs.

Also, if you run at something other than 1280x720 windowed mode then bad things might happen.  It's just a little test app, after all.

WASD controls the ship.  
F5 - gets rid of the debug HUD
F6 - opens the profiling HUD
Prt Scr/Sys Req - takes an ugly screen shot (r,g,b is inverted)

Basically you just fly around and bump into asteroids.  No big deal yet.


Title: Re: Productive tangents...
Post by: Michael on April 11, 2015, 09:00:04 AM
I had fun just bumping into the asteroids and increasing their velocity and watching them bounce rapidly around the screen. :)


Title: Re: Productive tangents...
Post by: Rayblon on April 11, 2015, 03:53:49 PM
I had fun just bumping into the asteroids and increasing their velocity and watching them bounce rapidly around the screen. :)

When did you change your avatar? :o


On topic, I think the asteroids look odd, to say the least. They're too cartoony. xD


Title: Re: Productive tangents...
Post by: pspeed on April 11, 2015, 05:24:45 PM
I had fun just bumping into the asteroids and increasing their velocity and watching them bounce rapidly around the screen. :)

When did you change your avatar? :o


On topic, I think the asteroids look odd, to say the least. They're too cartoony. xD

They are the _Free_ 2D space shooter assets... it's all part of a bundle and all goes together.

Creating my own assets could easily take 80% of the total project time or more.  The game is too big of a project if I have to create my own... and these all go nicely together.  Plus, I actually kind of like the cartoon look.... thought it's going to make rendering a small planet and/or Sun a little trickier.  :)


Title: Re: Productive tangents...
Post by: pspeed on April 12, 2015, 06:59:05 AM
Now with example space barriers:

http://www.simsilica.com/Downloads/EtherealSpace-test-20150412-Windows.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150412-Linux.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150412-MacOSX.zip

And note: the number of asteroids is kind of crazier now that they are confined a little more.  Very chaotic.

Also note: I fixed the sync problems so you can run with or without vsync and it doesn't matter anymore.


Title: Re: Productive tangents...
Post by: pspeed on April 13, 2015, 01:24:04 AM
Properly large-ish arena plus some mid-arena obstacles... arena is bigger than the screen and stars now parallax properly, etc..

"Camera" has a fuzzy spring that follows the ship to also add to the motion.

http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-Windows.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-Linux.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-MacOSX.zip

I will need to tweak the flight controls now to auto-brake some against turns but these mechanics are mostly done now I guess.


Title: Re: Productive tangents...
Post by: pspeed on April 13, 2015, 07:34:29 AM
Made another video with the app version linked above:
https://youtu.be/csZ1mHKpjR4


Title: Re: Productive tangents...
Post by: Rayblon on April 13, 2015, 09:14:23 AM
Sweet. We're that much close to making that open world sci-fi mmo. :P



I'm a sucker for a good story, so I was thinking about this for a while.

There are really only two 'gameshow' routes I can see happening. This isn't of immediate concern, but if people ask... It's nice to have. :)

1. It's all a virtual reality. This gives you creative license for said reality, and allows for fantastic displays without me being able to complain about how something makes no sense. The gameshow operates on the cheap, but the massive amount of neuronet ad revenue allowed them to gradually improve upon the technology until it was virtually(heheh) indistinguishable from its' real-life predecessor. Not my favorite route, but I digress.

2. It's a gameshow adapted from state of the art holo-tech that was once used for dramatizations in military documentaries(I've already mapped out lots of the tech in my head -- I have ideas for the tech, and if you want to hear it, just ask). If #1 is canon, then this is what the gameshow was probably originally.


Now, why does the gameshow exist? I see a few possibilities(which may meld together well, too) depending on the above paths. I'm kind of implying a false dilemma here, with all these finite possibilities, aren't I? :P

1. Either one could be marketing a virtual reality version of the gameshow(Which could be the singleplayer experience when you're training between rounds on a server). During the infancy of the physical gameshow, the company hosting the game may have already begun development of a digital counterpart when consumer interest began to peak. Needless to say, their profits skyrocket when interested viewers get the chance to duke it out just like the professionals playing on the show. This gives the company the liberty to make anyone they want rich without consequence.

2. The virtual reality storyline easily supports the idea of a crowdsourced entertainment monopoly. In a world where conventional television has fallen and the entertainment industry is practically run by the consumer, this gameshow invites the best of the consumer population to participate in live matches from anywhere in the Sol system. The company streams these live matches to anyone plugged in and tuned to their proprietary channels on the neuronet.

3. Either storyline could support a contract between the game host and a warmongering country scoping out people that would make for effective combat units in a real war. (Or perhaps the game host IS a government. :P)


Oh and you're grinding out features for this game like a boss. xD


Title: Re: Productive tangents...
Post by: pspeed on April 13, 2015, 01:51:18 PM
Heheh... that's a lot of thought put into a game that didn't even need a back story. :)  Always good to have something in mind, I guess.

I suppose it's all got to be centered around the explanation for why your ship can just respawn and continue play... which the "Game" ideas both cover.  A grittier option that doesn't fit the current cartoony graphics would be that we are all warlords sending our minions in one by one.  Each time our ship gets destroyed, we reclaim the stuff from our ship that we can and send in a new soldier to try again.  This sounds more like a grittier dystopian "earth was destroyed" kind of story... that again doesn't fit the graphics but would make for a better background if I ever go 3D and more realism in a space sim.

The game show angle is an interesting one.  I'd originally thought of it more like deadly paint ball but that doesn't cover the gambling aspect which would certainly have some kind of organized gaming commission.  And I suppose even then it could have a more brutal back story tongue-in-cheek style... like the old Smash TV video game (lots of arcade fun there).

Either way, one could easily imagine some kind of cheesy plastic-faced game show announcer.


Title: Re: Productive tangents...
Post by: Rayblon on April 13, 2015, 03:22:36 PM
Heheh... that's a lot of thought put into a game that didn't even need a back story. :)  Always good to have something in mind, I guess.

Some people get hooked when there's a roleplay element, however small it may be. :)

*cough* me *cough*

I suppose it's all got to be centered around the explanation for why your ship can just respawn and continue play... which the "Game" ideas both cover.  A grittier option that doesn't fit the current cartoony graphics would be that we are all warlords sending our minions in one by one.  Each time our ship gets destroyed, we reclaim the stuff from our ship that we can and send in a new soldier to try again.  This sounds more like a grittier dystopian "earth was destroyed" kind of story... that again doesn't fit the graphics but would make for a better background if I ever go 3D and more realism in a space sim.

My major gripe with the whole war thing is... people don't normally wage wars in arenas. I think the games suited for that kind of dark backstory have a more open environment, like EVE online or something. I mean, I'd just nuke the arena and be done with it if I were one of those warlords. xD

Really, you could make any design style work so long as it ties into the story. If you go 3D and still want the fun, gameshow feel, do something to remind people it's all fun and games. Clean paint jobs and fireworks go a long way. :P


The game show angle is an interesting one.  I'd originally thought of it more like deadly paint ball but that doesn't cover the gambling aspect which would certainly have some kind of organized gaming commission.  And I suppose even then it could have a more brutal back story tongue-in-cheek style... like the old Smash TV video game (lots of arcade fun there).

Either way, one could easily imagine some kind of cheesy plastic-faced game show announcer.

Teehee, I have a simple solution for player death. The ships themselves seem to be fairly compartmentalized, so it made me thInk of those suits in laser tag arenas. If you get shot, your gun is disabled. I figure that the pieces to your ship could simply disengage when they detect damage to the ship's ablative armor(Which can be damaged via intense heat or an impact).

With the power of holo-tech, you could create "explosions" when a ship is 'destroyed'when really, the user is ejected in a pod back to a nearby station, and the ship parts disperse for collection and reconstruction by a net around the arena. During the disengaging process, an upgrade may have their systems reset and be free for collection or be destroyed by asteroid collisions/actual damage from the laser.

I've been mulling over energy shields alot, too. I guess the best way to do it  irl is to create an electromagnetic shield(meaning your ship would have electricity arcing around it and stuff). This would also repel asteroids if the surface of the ship is the same charge as the asteroids. Most asteroids have no charge irl, but the arena barriers might zap asteroids that come in or something. The reason why the shields would work on the lasers will be explained in the next paragraph.

You could explain why lasers are blowing things up  and going slower than the speed of light by explaining that the laser cannons create a high temperature bose-einstein condensate. This explanation would necessitate the creation of an element X(because only supercooled gasses can do this, normally), but would probably get you some brownie points with science nerds. It'd probably be a really heavy gas, too. But hey, a tank of this element X(Tardiluxium? Literally: slow light) would last a LONG time since it wouldn't take much to fire your not-so-safe plasma/laser/gas-cannonball hybrid. Make the gas a negatively charged ion, and you have yourself a 'slow', shield susceptible laser that would have actual force to destroy asteroids with.

Reconcileable fiction has been made here. These explanations are better than the Mass Effect explanations. Use at will. Or don't. I just hate it when people say "yay, lasers!" without telling us why or how, so yeh. Give those shields a storyline! Give your lasers a storyline! Everything deserves an arc in the game! Blarghh! xD


Title: Re: Productive tangents...
Post by: Rayblon on April 13, 2015, 05:26:45 PM
I was also thinking: what about illegal upgrades? Like, 'unfair' upgrades that only last a round or something, with the risk of you being fined or something if you're caught.


Title: Re: Productive tangents...
Post by: Rayblon on April 13, 2015, 11:09:18 PM
Since I have lots of time and no patience, I'll give a short explanation of what bose-einstein condensate is. Essentially, BE condensate is any gas that can ensnare or slow down light, all the way down to a few meters per second. Typically, it is supercooled to slow down the photons going in since the gasses would, otherwise, do nothing.

I may as well explain my idea for how lasers would work. Our element x, Tardiluxium, is a gas at high temperatures; temperatures hot enough to instantly vaporize ablative coatings. However, Tardiluxium  in its' gaseous form is very dense and interacts with photons in this state more efficiently than supercooled sodium, which can almost stop light altogether. This unique property allows for energy from the lasers to be transferred by two separate means. The first is, obviously, the direct heat, and the second is the condensed light in the laser. When a laser makes contact, the tardiluxium releases the photons it is carrying as it instantly forms a crystalline deposit on the ships' armor, behaving like a second bullet. This unique trait allows the tardiluxium to deliver devastating blows to ships without ablative coatings, but would require multiple hits to cause damage to properly protected vessels(The players' vessels, namely). Tardiluxium is liquid until around 2,000* kelvin, but the cannons heat it until it is around 3,500* kelvin to prevent the projectile from condensing in transit.

Tardiluxium naturally occurs as a negatively charged ion, so when exposed to electromagnetic radiation from a ship's shields, a tardiluxium laser's structure will fall apart; dispersing the projectile and diffusing the light trapped inside harmlessly.

Tardiluxium is heated and  shaped into a suitable projectile in a specially calibrated electromagnetic chamber. Heated tardiluxium never makes contact with the inner chambers of the cannon; rather, it is guided and propelled using stable EMPs that also serve to perform the final alignment of the high-structure gas particles.

However, Tardiluxium has one trait that makes it particularly deadly outside of the arena. If insufficiently heated, and allowed to condense into a liquid projectile while in transit, it will act like a grenade on impact. This is because Tardiluxium is an excellent conductor of heat as a liquid and solid(meaning it can form a shell very quickly, too);but is also much less dense as a liquid than a gas(a trait that makes tardiluxium useless in ground assaults). This quality probably incurred strict regulations on the use of these thermoluminous explosives... probably. Its' lack of utility on ground has resulted in low demand for the mineral and a surplus of the stuff, meaning it comes on the cheap.


Title: Re: Productive tangents...
Post by: pspeed on April 14, 2015, 12:23:28 AM
Ummm... ok.  :)

I would have settled for a more Star Warsy "guns go pew-pew, we don't really know why" explanation. :)

But seriously, I've been internally calling them "plasma cannons" for a few days now so this is not completely out of line.

However, from the perspective of game mechanics, whatever 'back story' there is has to explain things like this:
-base power source produces power at a constant rate
-ship systems operate from "batteries" charged by this power (even the engines)
-shields somehow draw power when they are hit... so basically the shields are their own battery in a way.  (I haven't decided if they _also_ have batteries so that you can instantly turn them on if you've strategically decided to temporarily turn them off, ie: boot them from batteries or they have to recharge again.)
-also, it may be true that shield power can be balanced front to rear, so you could put all your shield power in the front, for example for double protection with no protection in the back or something.  (I'm influenced by the old X-wing games here... which were very well done.)

It is funny how some throw-away line in a movie like "more power to the forward shields" can result in quite a technical pickle when you actually go to think about it... but it did make for a cool game mechanic in X-wing versus Tie Fighter.  When flying an X-wing squadron against a Star Destroyer, umm... you definitely wanted to have all power to foward shields. :)

To answer my own points with stuff I thought of years ago...

My guess is that somehow the ship's power source produces plasma and pipes this into plasma batteries that can be used to power the ship's systems.  This would explain why the engines can be 'charged' and yet still produce a 'thrust' style exhaust cone.

In the "before time, the long long ago..." (in High school) I imagined ships called Star-Locks (they were quite large, though) and wrote up a bunch of specs on them and stuff.  They were powered by these giant star-shaped crystals that were found in space.  They lay inert until exposed to magnetic fields or radiation or something and then they give off energy (siphoned from the stars of another universe but I digress).  The first ships that encountered these were destroyed because they didn't know and their shields caused the star crystals to explode.  Turned if that if you molecularly sealed the surface of the crystal that you could prevent it from emitting power.  So entire ships were built around these things with small openings in the crystal surface to expose power flow.  Bad things happen then if you break the seal so these were usually built into the center of the ships and the internal ship structures designed around it.  (Leads to some cool odd-shaped rooms.)

(Star-locks in this universe also led to cross-galaxy travel using forward/back time hops and such... but that's another story.)

Anyway, the power sources of these ships could be similarly magic.  Though I tend to save real explanations like that for more serious games.

For this game so far, I'd be fine with "guns go pew-pew, engines go whoosh"... anything else is gravy. :)


Title: Re: Productive tangents...
Post by: Rayblon on April 14, 2015, 01:02:00 PM
I would have settled for a more Star Warsy "guns go pew-pew, we don't really know why" explanation. :)

Actually, star wars lasers use plasma as a medium for their projectiles, which is why they're visible in vacuums and explode. :)

After that, yeh, it's just pew pews.

However, from the perspective of game mechanics, whatever 'back story' there is has to explain things like this:
-base power source produces power at a constant rate
-ship systems operate from "batteries" charged by this power (even the engines)
-shields somehow draw power when they are hit... so basically the shields are their own battery in a way.  (I haven't decided if they _also_ have batteries so that you can instantly turn them on if you've strategically decided to temporarily turn them off, ie: boot them from batteries or they have to recharge again.)
-also, it may be true that shield power can be balanced front to rear, so you could put all your shield power in the front, for example for double protection with no protection in the back or something.  (I'm influenced by the old X-wing games here... which were very well done.)

Yay for bullet points! :D
I'll respond in suit.
- A small nuclear generator could do the trick; trouble is, it'd heat up and melt if the energy can't be deferred from the core... and would be heavy as hell because of the lead zb

Otherwise, a fusion generator would do well, an artificial sun of sorts. You may have to contend with heat again, but the fuel is pretty common in outer space. This allows you to justify changes in recharge rate. It is also a great explanation for why your power source is weak enough to not be able to keep pace with high usage.

- Carbon nanotube arrays make great batteries. They're the only way you'd be able to use a plasma sword... like, at all.

- Actually, easy fix. The electrodes on the ship's defense array could have pressure sensors that can only register nearby threats when magnetic pressure is applied -- meaning they would have to have power going out to them. More power = faster response time and more powerful response. The ship would then release an EMP from the associated armor subsystem in an attempt to force the projectile or asteroid away. This also makes your energy signature spike.

- The ship  componentsi n the gameshow would be rigged to disengage; this means the integrated shield systems would be isolated from eachother. The rear shell's shield array would have a separate circuit from the anterior shell; only connected to the power supply. That means their defensive strengths are independent of eachother.


I make it sound like I already had this stuff planned. xD


My guess is that somehow the ship's power source produces plasma and pipes this into plasma batteries that can be used to power the ship's systems.  This would explain why the engines can be 'charged' and yet still produce a 'thrust' style exhaust cone.

Fusion generators can produce plasma... Though, I'm not sure how you'd use plasma for power outside of propulsion systems... It's just (generally) incredibly hot. It's okay as a heating element, but that's about it, really. In the world of biology, we call heat wasted energy.

For this game so far, I'd be fine with "guns go pew-pew, engines go whoosh"... anything else is gravy. :)

Normally I don't like gravy, but I'll make an exception just this once.


Title: Re: Productive tangents...
Post by: pspeed on April 15, 2015, 02:00:09 AM
New video...
https://youtu.be/OTUZ1wkX_1s

New version...
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-Windows.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-Linux.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-MacOSX.zip

Space bar makes the plasma cannons go "pew pew". :)


Title: Re: Productive tangents...
Post by: Rayblon on April 15, 2015, 11:09:53 AM
New video...
https://youtu.be/OTUZ1wkX_1s

New version...
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-Windows.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-Linux.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-MacOSX.zip

Space bar makes the plasma cannons go "pew pew". :)

Talk about jumping the gun.

...

... I am so sorry you had to be subjected to that pun.


Title: Re: Productive tangents...
Post by: pspeed on April 15, 2015, 09:35:50 PM
New video...
https://youtu.be/OTUZ1wkX_1s

New version...
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-Windows.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-Linux.zip
http://www.simsilica.com/Downloads/EtherealSpace-test-20150413-MacOSX.zip

Space bar makes the plasma cannons go "pew pew". :)

Talk about jumping the gun.

...

... I am so sorry you had to be subjected to that pun.

Well, you had to give it a shot...


Title: Re: Productive tangents...
Post by: Moonkey on April 15, 2015, 10:26:36 PM
You both are true sharpshooters aren't you. :D


Title: Re: Productive tangents...
Post by: Rayblon on April 15, 2015, 10:46:57 PM
You both are true sharpshooters aren't you. :D

Funny you say that. I love being a sniper in first person shooters, but I'm a terrible sniper. Left 4 Dead, on the other hand... :3


Title: Re: Productive tangents...
Post by: pspeed on April 16, 2015, 01:07:52 AM
You both are true sharpshooters aren't you. :D

We aim to please.


Title: Re: Productive tangents...
Post by: pspeed on April 18, 2015, 04:04:16 AM
Tried to find some fonts to use in the UI... spent some time on a splash screen and then decided the Ethereal Space name on its own was too good for the open source version so I rebranded the free version as Ethereal Space (lite).

Splash screen:
(http://i.imgur.com/83i3T36.png)

Good enough for now.


Title: Re: Productive tangents...
Post by: pspeed on April 18, 2015, 11:28:26 AM
I'm also tempted to just shorten the open source version to "E-Space" (essentially the same logo, though) and only use the fully spelled out version for the real game.

It makes trademarking easier later.


Title: Re: Productive tangents...
Post by: Rayblon on April 18, 2015, 11:49:08 AM
I'm also tempted to just shorten the open source version to "E-Space" (essentially the same logo, though) and only use the fully spelled out version for the real game.

It makes trademarking easier later.

"E-Space" reminds me of that virtual reality storyline for some reason.

The logo is cool. Very... retro. How fitting. : p


Title: Re: Productive tangents...
Post by: pspeed on April 19, 2015, 03:45:39 AM
Started building the main menu tonight and got distracted by styling...

Main menu:
(http://i.imgur.com/HgGa493.png)

Multiplayer menu:
(http://i.imgur.com/QSgzSpj.png)


Title: Re: Productive tangents...
Post by: Rayblon on April 19, 2015, 11:11:16 AM
Started building the main menu tonight and got distracted by styling...

Main menu:
[snip]

Multiplayer menu:
[snip]

I thought the first picture showed the menu with bunny ear antennae. xD

The menu still feels retro. Maybe it's just the whole "new asteroids game" thing getting into my head. Ahh well, can't wait for the first release, as usual. :3


Title: Re: Productive tangents...
Post by: pspeed on April 19, 2015, 01:40:01 PM
Started building the main menu tonight and got distracted by styling...

Main menu:
[snip]

Multiplayer menu:
[snip]

I thought the first picture showed the menu with bunny ear antennae. xD

The menu still feels retro. Maybe it's just the whole "new asteroids game" thing getting into my head. Ahh well, can't wait for the first release, as usual. :3

I only just realized you meant "retro" as in "bad". :)

It's kind of supposed to be retro-future... like what people imagined the future might have been like in the 1980s or something.

Actually, I had an odd thought for a theme of going full future-retro and giving it a 1940s vibe complete with WW2 like propaganda posters... the only problem is that I've never written big band music before but it would be pretty fun to blast asteroids to. :)


Title: Re: Productive tangents...
Post by: Rayblon on April 19, 2015, 05:22:46 PM
Started building the main menu tonight and got distracted by styling...

Main menu:
[snip]

Multiplayer menu:
[snip]

I thought the first picture showed the menu with bunny ear antennae. xD

The menu still feels retro. Maybe it's just the whole "new asteroids game" thing getting into my head. Ahh well, can't wait for the first release, as usual. :3

I only just realized you meant "retro" as in "bad". :)

It's kind of supposed to be retro-future... like what people imagined the future might have been like in the 1980s or something.

Actually, I had an odd thought for a theme of going full future-retro and giving it a 1940s vibe complete with WW2 like propaganda posters... the only problem is that I've never written big band music before but it would be pretty fun to blast asteroids to. :)

But I didn't! D:

The logo looks like the opening screen for an 80s sci-fi flick, is all. I'm cool with that. xD

Eheheh... personally, I never can get behind music from before the 70s, and even then I kind of prefer classical over that music. Perhaps a  long wave radio is in order. :p

I've heard that no matter what a writer does, their work will always reflect the issues of their generation... Kafka, Poe, Hemmingway... to list a few, were all busy writing the worlds' and their own problems away.

... Speaking of world issues, you may have heard that lots of consumers aren't exactly pleased with the AAA game developers as of late. Sony and Microsoft both faltered with their next gen system releases, Nintendo is getting a bad rap over their YouTube policy, paid DLC is running rampant, microtransactions in MK10, and Nintendo's 'Amiibo' scheme... To name a few issues. It is said that the tides will be shifting soon. Only time will tell just where they will shift, but we may see indie game developers take center stage.


Title: Re: Productive tangents...
Post by: Rayblon on April 19, 2015, 05:24:19 PM
Also, I just noticed that nearly all the titles of your blog entries end with ellipses.


Title: Re: Productive tangents...
Post by: ebag51 on April 19, 2015, 09:09:49 PM
This is really coming along. I'll definitely play it with you guys when it becomes multiplayer. I hope you add ship customization soon.  :)


Title: Re: Productive tangents...
Post by: pspeed on April 19, 2015, 10:39:23 PM
Also, I just noticed that nearly all the titles of your blog entries end with ellipses.

Yeah, it's one of my common idioms...  :)


Title: Re: Productive tangents...
Post by: Rayblon on April 20, 2015, 06:42:16 AM
This is really coming along. I'll definitely play it with you guys when it becomes multiplayer. I hope you add ship customization soon.  :)

Gotta have dat bling bling.

I wonder if there will be skins or something too. It'd be cool being able to deck out my ship's exterior with leopard print or something.


Title: Re: Productive tangents...
Post by: Moonkey on April 20, 2015, 01:36:54 PM
Started building the main menu tonight and got distracted by styling...

Main menu:
[snip]

Multiplayer menu:
[snip]

I thought the first picture showed the menu with bunny ear antennae. xD

The menu still feels retro. Maybe it's just the whole "new asteroids game" thing getting into my head. Ahh well, can't wait for the first release, as usual. :3

I only just realized you meant "retro" as in "bad". :)

It's kind of supposed to be retro-future... like what people imagined the future might have been like in the 1980s or something.

Actually, I had an odd thought for a theme of going full future-retro and giving it a 1940s vibe complete with WW2 like propaganda posters... the only problem is that I've never written big band music before but it would be pretty fun to blast asteroids to. :)

But I didn't! D:

The logo looks like the opening screen for an 80s sci-fi flick, is all. I'm cool with that. xD

Eheheh... personally, I never can get behind music from before the 70s, and even then I kind of prefer classical over that music. Perhaps a  long wave radio is in order. :p

I've heard that no matter what a writer does, their work will always reflect the issues of their generation... Kafka, Poe, Hemmingway... to list a few, were all busy writing the worlds' and their own problems away.

... Speaking of world issues, you may have heard that lots of consumers aren't exactly pleased with the AAA game developers as of late. Sony and Microsoft both faltered with their next gen system releases, Nintendo is getting a bad rap over their YouTube policy, paid DLC is running rampant, microtransactions in MK10, and Nintendo's 'Amiibo' scheme... To name a few issues. It is said that the tides will be shifting soon. Only time will tell just where they will shift, but we may see indie game developers take center stage.
Indie game developers have taken center stage for awhile now. To name the obvious, Minecraft and Terraria. Be ready for the crowdfunded AAA StarCitizen though!


Title: Re: Productive tangents...
Post by: Rayblon on April 26, 2015, 03:55:51 PM
it has been three weeks. :O

(And four days without a post!)

*tumbleweed*


Title: Re: Productive tangents...
Post by: pspeed on April 26, 2015, 05:57:24 PM
Three weeks since this blog post started but only one seek since the last significant update in this thread.

...then I've been swamped at work getting through a deadline.

Yesterday I added a bunch of networking stuff to jMonkeyEngine.  So I have not been idle.  That stuff is just not that exciting to post here. :)


Title: Re: Productive tangents...
Post by: Rayblon on April 26, 2015, 06:00:12 PM
Three weeks since this blog post started but only one seek since the last significant update in this thread.

...then I've been swamped at work getting through a deadline.

Yesterday I added a bunch of networking stuff to jMonkeyEngine.  So I have not been idle.  That stuff is just not that exciting to post here. :)

Isn't the networking the beef of the project? :P


Title: Re: Productive tangents...
Post by: pspeed on April 26, 2015, 06:12:49 PM
Three weeks since this blog post started but only one seek since the last significant update in this thread.

...then I've been swamped at work getting through a deadline.

Yesterday I added a bunch of networking stuff to jMonkeyEngine.  So I have not been idle.  That stuff is just not that exciting to post here. :)

Isn't the networking the beef of the project? :P

Yeah, but this isn't really the interesting stuff.

I got tired of rewriting the same "wiring" code every time I want to add some service to my servers.  So I added a real service model to jMonkeyEngine's network library that makes it easy to add new features to clients/servers as services.

For ESpace, next thing is to get the basic client/server up and running with a simple chat system.  That will give me all of the connectivity I need to start putting the physics networking in.  There is some communication that happens during initial connection setup, etc. that is separate (and simpler) than the physics messages.

...and now those parts are easier to write.  Actually, even in its partially implemented form I was able to add a chat service using only a dozen lines of code or so (and two classes) where as before it would have been 4-5 classes and hundreds of lines of redundant-feeling boiler plate code.


Title: Re: Productive tangents...
Post by: pspeed on April 26, 2015, 06:13:37 PM
...and today I've been back to day-job work again because my deadline is in the morning.

Yesterday the network was down so I used that as an excuse to do my own thing.


Title: Re: Productive tangents...
Post by: Rayblon on April 26, 2015, 06:21:56 PM
...and now those parts are easier to write.  Actually, even in its partially implemented form I was able to add a chat service using only a dozen lines of code or so (and two classes) where as before it would have been 4-5 classes and hundreds of lines of redundant-feeling boiler plate code.

This is actually really interesting to me right here, and part of the why [I think] you're so amazing. You're so efficient. xD

The backend stuff is really important if my memory serves, so I get a *bit* more excited about backend stuff because it's a big deal for future development. In a sense, I get excited over your job (of developing the game) getting 'easier'.


Title: Re: Productive tangents...
Post by: pspeed on April 28, 2015, 09:56:45 PM
Tonight I had some time so I'm trying to get the chat stuff working... playing with look and feel at the moment:

(http://i.imgur.com/nSzLTlB.png)


Title: Re: Productive tangents...
Post by: pspeed on April 28, 2015, 10:05:43 PM
Gave the text semi-transparent black background and tweaked the colors a bit:

(http://i.imgur.com/5rX4C8E.png)

Note: this will be in the background while the player configures their name/ship/whatever... when the game finally starts the chat messages may shrink.


Title: Re: Productive tangents...
Post by: pspeed on April 28, 2015, 10:35:57 PM
And for the curious, this is what it looked like before I lined up the names:
(http://i.imgur.com/GSktGwa.png)

...ugly.


Title: Re: Productive tangents...
Post by: Teknonick on April 29, 2015, 09:37:18 AM
Oh hey, are those lowercase letters I see? I thought you hated those,  ;D


Title: Re: Productive tangents...
Post by: pspeed on April 29, 2015, 09:46:57 AM
Oh hey, are those lowercase letters I see? I thought you hated those,  ;D

I have no idea what you are talking about. ;)


Title: Re: Productive tangents...
Post by: Michael on April 29, 2015, 03:24:07 PM
Is that the Neuropol X font? I downloaded that font for use. ;)


Title: Re: Productive tangents...
Post by: pspeed on April 29, 2015, 06:42:40 PM
Is that the Neuropolo X font? I downloaded that font for use. ;)

Yeah, I still have to go back and make sure I can use it because it's part of a font bundle that I paid for.  But I guess if you were able to download it then it must have a liberal license.

Edit: note, for a commercial game I can use it but since I will be open sourcing the 'lite' version, I need to make sure to use assets that can be used in that free-for-use setting.


Title: Re: Productive tangents...
Post by: Michael on April 30, 2015, 07:00:36 PM
I honestly find it funny that the license only allows it to be used for commercial use. I might have to study at a later time about different licenses.

On the aesthetic side, in my opinion, it's a beautiful font.

Anyways, I'm ready to play that game some more. ;)


Title: Re: Productive tangents...
Post by: pspeed on April 30, 2015, 08:24:30 PM
I honestly find it funny that the license only allows it to be used for commercial use. I might have to study at a later time about different licenses.

On the aesthetic side, in my opinion, it's a beautiful font.

Anyways, I'm ready to play that game some more. ;)

I think you misunderstood.

I paid for a font pack that had that font in it.  So I know that I can use it in my commercial projects because I paid for the ability to use it.  I have no idea if I can also use it in "free" projects that anyone can download and modify because I don't know if the license allows for people to use it without paying for it.  ie: it would be really crappy of me to include a font in my open source game that no one could actually use because they hadn't paid for the ability to redistribute it.


Title: Re: Productive tangents...
Post by: Rayblon on May 10, 2015, 02:14:39 PM
So, how's the progress on this so far? :3


Title: Re: Productive tangents...
Post by: pspeed on May 10, 2015, 06:12:10 PM
So, how's the progress on this so far? :3

Ok.  I kept hoping to have something to talk about here but things drag slowly.  Work has been taking up a lot of my time and last weekend was my son's birthday party (8 or 9 ~twelve year olds in my house with a few staying the night) so I got noting done last weekend.

Yesterday was his actual birthday so there was a little bit of celebration just among us and I didn't get much work done yesterday.  Friday I got everything to the point where I have to start networking the physics, though.  I can login, set me user ID, chat with anyone else logged in, and 'enter the arena'... at which point I get a frozen of view of what's going on because no network messages are telling me how things move yet. :)

I wanted to be there before Friday so I could spend all weekend working on the networking but that didn't happen.  I hope to spend a few hours on it tonight but I don't know how far I will get.  I still have some day-job catch-up to do tonight also so we'll see.

Anyway, it's getting closer.


Title: Re: Productive tangents...
Post by: Sean on May 10, 2015, 06:25:29 PM
Ha cool, your son and I share the same birthday.  :)


Title: Re: Productive tangents...
Post by: Michael on May 10, 2015, 07:06:18 PM
Happy belated birthday, Sean.

Paul, I'm glad to hear progress is now steering towards networking, sounds fun. :)


Title: Re: Productive tangents...
Post by: pspeed on May 10, 2015, 09:17:31 PM
Happy belated birthday, Sean.

Paul, I'm glad to hear progress is now steering towards networking, sounds fun. :)

Yeah, I look forward to having this one done.  It's like seeing the light at the end of a three year tunnel... which means "fear of failure" pressure is pretty distracting. :)


Title: Re: Productive tangents...
Post by: pspeed on May 10, 2015, 10:19:37 PM
So, now I really do have everything hooked up except the real time messages... because if I hack some things a bit I can actually fly around on the remote server.

First, I discovered that I wasn't actually running the game loop on the server and I wasn't pushing entity updates.  Once I'd done that, even though my view was frozen, I could fly my ship around and hear the engines, see their animations, etc..  I could even fire my guns.

The way the physics engine works is that it happily does it's physics calculations every game loop and then calls whatever physics frame listeners are registered.  By default, I have two of these registered in single player. 

One pushes the positions as regular entity updates once per second.  This is to let things know the position of objects in the "regular" non-physics way and can be useful for things like maps or whatever that don't require real-time updates.  It also gives a 'reasonable' approximation of the object position when it is first loaded and hasn't yet received the buffered updates.

The second listener updates the time buffers that are used for real time interpolation.  In single player, these are updated directly and the visualization uses it to find the right position between two frames of 'good' position.  It's a convenient way to let the physics run in a completely separate thread and slightly ahead of what we see.  (necessary for networking anyway)

It's the time buffer updates that are not currently sent over the network and is why the client shows a frozen screen in multiplayer mode.  "But Paul, you just said you are updating the regular position once per second... wouldn't you see jerky motion?"  Well, no because the client is smart enough to know that it should be watching the time buffers instead.

However, by removing that second listener and upping the update frequence of the first (1/10th of a second), I can fly around... it's really jerky but it proves the networking is working, minus the unimplemented part that was the whole point of this project.

So, while I'd hoped to already be here at the end of April... at least I'm here.


Title: Re: Productive tangents...
Post by: Rayblon on May 11, 2015, 12:30:24 AM
So, while I'd hoped to already be here at the end of April... at least I'm here.

You'll get it out of alpha in six months either way, so no worries. :3.


Title: Re: Productive tangents...
Post by: Michael on May 11, 2015, 03:05:23 PM
You're not too far past the end of April, but deadlines are always nice to have.

Just the idea that you've got it hooked in now, and you're making sure things aren't going to be bad is a good thought. Maybe we can see a YouTube video sometime soon on progress? ;)


Title: Re: Productive tangents...
Post by: Teknonick on May 11, 2015, 07:44:14 PM
Paul. That is every bit just... sick of copy-right laws.

"If you purchase this font, you may use it in your game! But only if you sell it. I don't care if I make money because of it, I just don't want you handing out the game for free with my font you paid for. I don't know why, I'm just a freak. And I like to make my copy-rights stupid crazy just to upset people like you. Ha. Ha. Ha."

Are you sure? I know nothing about it... but... that just sounds wrong if you can only use it IF you charge people. What the heck? :P


Title: Re: Productive tangents...
Post by: pspeed on May 11, 2015, 08:42:19 PM
Paul. That is every bit just... sick of copy-right laws.

"If you purchase this font, you may use it in your game! But only if you sell it. I don't care if I make money because of it, I just don't want you handing out the game for free with my font you paid for. I don't know why, I'm just a freak. And I like to make my copy-rights stupid crazy just to upset people like you. Ha. Ha. Ha."

Are you sure? I know nothing about it... but... that just sounds wrong if you can only use it IF you charge people. What the heck? :P

Let me explain this again.

If I create a closed-source game it is ILLEGAL FOR YOU TO COPY ANY PART OF IT (without explicit permission).  So if I include some fonts I bought it would be ILLEGAL FOR YOU TO COPY AND USE THEM.  Thus it is safe for me to pay for a license that lets me simply use them in MY GAME... but not automatically allow everyone else to use them in their own game.  ie: if someone else wanted to use them then they would have to pay for them also.

However, if I open source a game then obviously I would want to use a font that DOES allow people to copy it.  So it has to be a MORE OPEN license... and there would be no point for them to have charged me for that because it would already have been free.  So I need to make sure to use fonts in the OPEN SOURCE version of the game that are also OPEN SOURCE... and by definition I'd have been stupid to buy those.

Did that help explain it better?


Title: Re: Productive tangents...
Post by: pspeed on May 11, 2015, 10:44:27 PM
Note: upper case for emphasis... not shouting.


Title: Re: Productive tangents...
Post by: Michael on May 16, 2015, 04:39:13 AM
That makes more sense now. ;p


Title: Re: Productive tangents...
Post by: Moonkey on May 21, 2015, 08:58:42 AM
That makes more sense now. ;p
I like to believe it was shouting.
"Gosh dang guys, I already told you"


Title: Re: Productive tangents...
Post by: Rayblon on May 21, 2015, 08:58:11 PM
I like to believe it was shouting.
"Gosh dang guys, I already told you"

I just imagined Paul screaming at his computer because of Coder. xD