• Register

I'm a Brazilian guy which seeks unravel the misteries of writing games. I ask you kindly to forgive my typing and grammar mistakes, as english is not my mother tongue.

RSS My Blogs

DevLog7 - Void Strike - A ship building multiplayer game, where you can fight in the stars

Strauji Blog

Two months ago i started this project, i started to learn Javascript, Phaser3 and how to put in use what i had learned before about making games.

Two months ago i wasn't even able to grasp what was coming...

Two months ago i was still sane...

And now...

Now...


Void Strike,

A ship building multiplayer, where you can fight in the stars

Well, it's a while since i last posted how the project was going, that's because i got so caught in the development of this game, so "addicted" that i didn't had spare time to write about it, but now, well for now* it's over.

All the mechanics i planned are coded, i even made some base to future ones... The game is somewhat ready, i will not put it public right now just because i want to do a "closed" beta with the peoples that were around me during this "journey".

But i want to show you, the reader, how the game is looking right now:

The titlescreen:


download 2Well, Capitain, the void is awaiting you...

That's so far one of the most beautiful things i've coded until now. The titlescreen itself is very simple, what i love the most on this is the background, it's random generated, everytime you load that page, you'll see something new, some nebulae, some asteroids and so. It get pretty pretty sometimes.

The Ingame UI:

Screenshot from 2019 07 31 2005

I tried to keep it as simple as possible.

This one is a bit tricky, there's some small systems under it:

Player HUD:

I've rewrite how the player informations would be presented to the... player.

There's a small "card" in the bottom left of your screen showing your nickname, your position, your orientation, your speed, the integrity of your ship and how much energy you ship have left.

There's also a card that will show when you hover with your mouse over the scene's elements(including the core of your ship), they'll show a more detailed data about you/ your target.

Btw...

Energy system:

The player now has a "pool" of energy, that recharge over a few seconds, each time that you fire an weapon, you'll spend a bit of your energy, if it reaches 0, you'll not be able to shot for a while.

Every weapon has it own rate of energy consumption.

"Actionbar":

While coding the weapons, i've found an annoying problem, multiples weapons firing together. Initially i've throught about making a kind-like system, which similiar weapons would fire together, each kind with it own keybind, but so far, there's no weapon that is similiar to another. So i built an actionbar that you press a keybind to cycle thru(clockwise or counterclockwise, your choice) and select which weapon is actived, and when you press your left mouse button, it will fire only the weapon selected(Multiples weapons of the SAME type will fire together, tho).

Death Messages:

It's a matter of numbers, if your integrity drops to 0, it's over Space hero.

Well, maybe that's the simplest one...

Right now, when you die, as the "main" gamemode is free for all, you'll be kicked of the server, but that don't means that you can't still playing, so when your ship is destroyed, you'll be presented with a death message, and the option to reload the game to play again (right now i'm having some technicall issues to remove this reload thing, letting you go straight and join again, sorry)

Most of the time it'll have some description about how you have died.

Well that's it, i said, that's the simplest one.

Now let's get about how the actual game play is going:

SLICE, DICE AND MINCE! MEET THE SAW(and a few others weapons):

Screenshot from 2019 07 25 0417

Haha that's already my favorite weapon...

Why, you ask? you probably didn't, but i'll answer anyway

  • Well, this weapon is special...

You don't need to activate it, you just need to hug your enemies, they work in a way that the faster you are, the more damage you'll deal, if you are good at racing games, this weapon is perfect to you.

  • And also, my aim sucks so bad that in fps games its either me using a knife to get kills, or i'll end the match with negative score

Hehe, i couldn't help but implement something that i would know for sure how to use =P


The others weapons are also good, but you know, they are another play style.

Gewehr of Anti-Matter(Snipe):

Screenshot from 2019 08 01 0041

Equiped with a zoom cam(which you can use at your own will when this weapon is actived), you'll be able to shot your enemies from really far away... It's precision is unmatched, they have a low rate of fire and a high rate of energy consumption, their damage right now is strong enough to one-shot others weapons.

(If you're good at camping, this weapon is your way to go)


Ps: The others are kinda hard to portrait without a gameplay video(which i'm yet to make) so i'll just tell the most important traits about them:

Gantling(Minigun-ish thing):

This weapon is very good for dog fighting, they have a fast rate of fire, low rate of energy consumption, but an weak damage. With this weapon, bullet hell is a thing.


Void Flak(Grenade laucher):

I won't lie, the speed of the projectile of this weapon sucks, but... when it hits the target... my dude...

It explodes in a shockwave that will damage anything nearby(including you, use with caution), the rate of fire and energy consumption is moderate, it's good to hit-'n'-run and for crushing the space pebbles (hahaha) The base damage is also moderate, but it has the potential to be a really strong weapon, as the shockwave can inflict a high amount of damage at once if used correctly.

Cold Welder(Flame thrower but not):

This weapon is more like a tool, as it don't really deal damage, it'll just repair the piece your aim at, they can heal and even increase the targets integrity to up 10% over the max integrity.

Personally, i wouldn't recoment to rely on this weapon, as healing yourself is a somewhat hard task.

Well, i think that for now, these are all the weapons, let's see some others mechanics:

Shockwaves:

Screenshot from 2019 07 16 0033

So, i've said about Void Flak in the last topic, they have a big but slow projectile that explodes on collision(or when it gets out of the reach range), they works by calling a shockwave on the position of the collision, and the shockwave works by applying a force pushing everything that is inside it out.

The hard you are get caught by the shockwave, the hard the damage will be(You can get even instadestroyed with a mighty shockwave)

Suckwaves Black Holes

Screenshot from 2019 07 27 2341

These works by doing the inverse of the shockwave, they'll pull you towards it's core(And maybe, destroying you in the process) one small tip i give you, is that gravitational slingshot is a thing...

Nebulae:

Screenshot from 2019 07 21 0021

Belive your or not, there's two ships hidden in this image

They are spots that the player may hide and use to ambushe others players(or maybe to take a bio break, idk, it's all up to you)

They are made with generation "procedural" and all the players in the match will see the same nebulae in the same place, so they're what i like to call "safepoints"

Wings:

download

Perfect bal... you know that joke already...

They work by helping you to balance your ship, they'll remove 16% of your total torque, and also will help you to turn your ship faster.

You don't need to use pair to make they work, but i advise to do so...


Well, i think i've said almost everything, i'll open a "closed beta" as i've said, and i'll try to keep this blog updated on how the tests are going.

Thank you for reading, sorry for letting my excitement take over when writing this, and See ya beyond the stars!


DevLog 6 - Mass, Thrusters and Llamas!

Strauji Blog

07/07 - 06/04...hmmm...

3rd day of the 1st Month:

So, i've been coding this project for 1 month straight(well almost, i do procastinate sometimes), and so far i've already done 3 core systems:

Blocks, structural pieces: Well there's a few screeshot of them, they are just pieces that you'll use to build your ship, they can be used to design how you ship will structuraly look

Weapons: I've posted some GIFs of them too, they are the pieces you'll use to break other player's pieces, you aim and shot, pew, the enemy piece took some damage. There are no melee weapons yet.

AND THRUSTERS: I haven't showed they yet, i've finished that system yesterday, and they are so far the most complex i've coded until now. The thruster itself is divided in a few minor systems, which are the focus of this devlog.

So let's begin:

Mass

Well until now, nothing had mass, and the force applied to move were just 8*cos(angle) in X and 8*sen(angle) in Y a pretty functional concept to test, but it don't behave any close to reality, you could have a fu** ton of piece pĺaced on your right and nothing on your left, and you would move straight foward with no trouble. Now i've created a system that will move your center of mass based on the weight distribuition of your ship, and then compute how you ship will behave when your press 'W'(will it rotate? will it even move?). The system right now isn't perfect, there's some flaws and inconsistencies, but overall it works well.

Screenshot from 2019 07 01 0225

I forgot to take some screenshots middle development, but the red dot shows where the center of mass is(the game itself is in debug mode)

With that system done, i've wrote the thruster system(yes, thruster is a subsystem of thruster.)

Thruster's thruster

Why the speed is 8? Well, 8 don't even makes sense at all, that was just a random number i've put to test.

Until now, the speed was linear, you'd move eight for each direction you try, this also don't behaves as i want, i mean, what the point of building ships if you can't go any faster? That's why i've wrote a piece that increases your speed, and it works together with the center of mass. You have to balance well these pieces, 'cuz if you don't, you ship will start to build torque, and as in reality, torque will make you ship spin. Also, your ship have a discrete number for mass, which also will be accounted in how much speed you'll gain, so, you need thrusters if you want to go fast, and more thrusters if you want to go faster and be strong.

download 5The torque shenanigan made this ship perfect balanced, as all things should be.

download 6Meet the Warp Driver, the ship which was gone so fast that warped the barriers of the arena.(*This was fixed... i think)

download 3Woah! This ship can go at 70+, a huge improvement from the 8 thing, don't ya think?

Well, i had a lot of fun testing how fast can i go and how assymetric can i make the ships, this system is also not perfect yet, but it's working nice, it's playble afterall =)

and the last but not the least:

LLamas!

Ok, you know why its 8, but it's 8 what?

Well, the game have a sci-fi touch, as you can build a spaceship to fight in the stars, for reasons i have yet to think reveal, and having said that we can see that the units of measurement from real life right now have little to do with it. So i went to think how can i measure how fast you are going...

And then i have a eureka moment...

WHAT IS MORE SCI-FI THAN LLAMAS?

Look at that:

Screenshot from 2019 07 07 0224Look at how fast this spitting little fluffy bastard can run

If you live in a enough scientifically advanced society that's able to upkeep star fights, you'd probably use llamas as units to measure speed and power, that's the only logically path, and those who don't agree with me are wrong, you can't change my mind.

Having said that, Void Strike's official unit of power is Llamathrust, speed is Llamas/hour and torque is Angular Llama.

Check out these three systems working together:

ezgif com video to gif 11Holy f***k i've forgot about adding mass to the core, there's too many llamas now

But things get better when you try to balance your ship, using mass and more thrusters:

ezgif com video to gif 12Llamaster than you.

And now at the end of the day, it's very nice seeing the result of this barely working well written system.

Hope you, the reader, enjoy. See ya beyond the stars =)

DevLog5 - Void Strike and Multiplayer

Strauji Blog

Week 2:

Well, now everyone know the name of the project, my goals, and my inspirations, so i lemme show a bit more of how the development of VS is going...

Multiplayer:

One feature i liked the most in Void Hunters(If you missed, this is the name of one of the three games that serves as an inspiration for VS) is the ability to play online. Don't get me wrong, this genre of game is a lot of fun to play in history mode(i forgot the another name, but that one with stages you have to clear/reach a certain point to finish it, some stages have bosses, some stages have challenges and so... You know what i'm talking about) but, dude, playing this online was addicting, there's no such thing as making a ship that can overkill the stage, neither an attack pattern you have to learn... You were dealing with another players, and that were amazing, fun(and sometimes annoying) and a true challenge. That's what i want to portrait in VS, this multiplayer experience, this feeling of carefully engineering your own ship, trying genious tatics, trying derp tatics, don't even trying tatics at all, just going with the flow, while also making friends all along and so(This doesn't mean i won't be planning a singleplayer mode, as i've said before, this mode is also fun, so i'm in for it :) ), I've thought many and many ways of implementing the multiplayer, but as VS is yet a little children in this world, i'm not aiming too high... I've set allowing a deathmatch FFA(free for all) game mode as my goal for now, and i want you to know, i'm not going to stop there, this is just the start, and i'm using it to learn what more i can create.

The screenshots i've posted here before was my tests in a singleplayer mode(which by now is another code, as i've re-wrote this whole thing from scratch yeah, i'm crazy/dumb hehe)

but now i'm here to show you... Void Strike multiplayer:

ezgif com video to gif 6 2

It's so buggy that it's funny lmao

That was a pain in the a** to make it work... Every single aspect of the game got heavily changed to allow the transmission over sockets... And the socket library i've used(Socket.io) was so f****** easy that i didn't know how to work with in the begin

If some of you have used it before, you should've noticed that whole event/emit thing, right? Well i struggled with it cuz i was used to make a never-ending loop, and then coding the events by hand(Guess i'm getting old/outdated :| ), and i'm not the best programmer(actually, i'm the best programmer i know... but the only one i know also oof) i keep getting stuck with these simple things... But in the end, everything is almost working. I'm happy haha


As you could've noticed, i'm excited asf with it, and i'm so f****** happy to share it that i don't even know if this devlog is understandable at all hahah

I swear i'm not drunk

But well, for today, that's it, see ya beyond the stars o/


I SEWAR I'M NOT DRUNK


DevLog 4 - What is Void Strike?

Strauji Blog

Day... well Week 2:

void1Meet Void Strike!

Well, i haven't updated this blog in the past days... But i have a nice reason

Until now, i was writing my experience in just coding a game with Phaser 3, with no background information, and i think it's time to change.

Since the begin, i knew what i wanted to write, i knew what kind of game i was wanting, i knew how it should look when i finish. I knew some of the potential issues and some perks. I was/am very aware of what i'm seeking. But why? From where this awareness is coming?

Well, i'm not a old guy, so, my childhood is filled with computer/console games memories(which makes me happy :) ) and i was a great fan of a game site called FunOrb. Sadly this site was closed last year, i'll not share what i think about it, it would be a waste of time and is a controversial topic (But feel free to search about this site, and you will understand me). I loved and spent many hours playing their games, but one in special held a place in my heart... Void Hunters. When the site was shut down, i searched about games like VH, and found Captain Forever(Which i learned that was the inspiration for VH too), and a very neat game called Nimbatus(Oh my Lord, i love that game, i can spend hours playing this).

This three games, and also Void Strike(which i named after Void Hunter as a way to show my admiration) share the same core concept: You build space ships from scratch.

Each one of these had their pros and cons, and none of them is exactly the same as another, not even my tiny project, Void Strike.

So, VS is basicaly my insight on this genre of game. I'll try to portrait what this kind of game means to me, while also sharing what these three games means to me.

I hope you, the reader, enjoy the game(i mean, when i show it to world, you know) as i'm enjoying this whole gamedev thing.

See ya beyond the stars!


DevLog3 - The Void

Strauji Blog

Day 3:

Well there's something wrong... I had no major struggle implementing the things i wanted to... That's weird, it's too good to be true.

Did... did i just level up at game develpment?!

Well, i managed to write my own node system based on recursive functions(i think it's the right term, i mean, these functions that calls themselves and eat your RAM if you are as clumsy as me) and using even more cartesian magick(i liked that name), which allowed me to write a better system that will allow a more dynamic way of "assembling" pieces to your spaceship.

(Oh, in the first post, i said ship, but i meant spaceship, i don't think that things like rowboats are allowed In the outer space)

I did a crappy video showing this(Well, its crappy cuz my PC is a potato, and can't record the screen without randomly freezing):

The physics, in that GIF, i know kinda buggy, i know, i've fixed that by now.

And i wrote a way to manager the map itself(As it's a game based on these space s*** and so, is it a way to control the whole outer space? Will humans be able to take control over the galaxy and advance to a Type III civilization?! Oh sorry i was daydreaming), and even though there's no server code written yet, i designed it to allow the server manage what the player is doing/seeing easily(Thank's me later, future self.)

I also tested some spammy bits generation, see:

I'm not a good spaceship driver, but pls NASA, i'm good at coding =)

Ohh, and did you noticed the zoom? Hehe i wrote that also(Well that's not so amazing, as the framework did almost the whole job)

Also, i think i've found a nice game to this game(No it's not Void 1 nor The Void), i'll reveal it in the future, as i have some things to do about it yet.

Well, i'm going to sleep somewhat more happy today, as i'm kinda proud of how well this project is going.

Thank you for reading my not-so-well-written devlog. See you somewhere beyond the stars =)

DevLog2 - Void 1(???)

Strauji Blog

The light have left me...

Day 2:

Dude?! How hard is this supposed to be? I studied a little bit today, and learned about containers

Oh my f***ing God, they look like the concept of "nodes" in JMonkeyEngine, but, THEY DON'T BEHAVE ANY CLOSE to nodes(Ok, maybe I'm exaggerating). They have a property called "exclusive" which turns it hard asf to use. Why?

Well let's see:

If you set it to true, anything under the initial container can not be repeated inside of the container(which kinda of makes sense) nor on others containers... but did i told you the "thing" that renders the sprite on screen is a container? No? Yeah, because it seems they are. If you set some sprite a child of "X" container, the sprite just goes to the limbo. Why? IFDK.

Well, so it is easy, i should just set that damn property to false and get over it. Except it wont work. Now the whole "node" thing falls apart. Each child of the container do what they want. They now are spoiled childrens(HAHAHAHAHA, sorry), if i ask the container "Oh man, turn 30º in relation to your own center pleaseeeeee", the container itself will gladly answer, but it's childrens, well they will tell me to f*** off.

WHAT DO I DO NOW?


Well i did cheat and wrote a code which do some cartesian soccery and turn the childrens by force.

I TOOK A WHOLE DAY TO FIGURE IT OUT.

Yes i'm dumb

Yes, my IQ is negative.

Yes, i have a negative amount of neurons.


Here's some screenshot

Screenshot from 2019 06 04 2116

Well, with the uses of containers, cartesian magic and some others few tricks, i managed to do the "assembly" thing, and everything that is "yours" now obey the orientation of the middle square.

(Yes, i changed the graphics, now they are all 32x32, and black 'n' white).

Tomorrow i want these square dudes to obey the laws of physic.

May Newton have mercy upon my code

DevLog1 - Void 1(???)

Strauji Blog

So, i woke up this saturnday with a urge to code something, and the concept of this in mind.

But what is this? (The concept of) A ship building multiplayer game, where the player can fight in the stars, i care not for objectives(for now). I want ship building, i want stars and i want fights.

How will i do this? Hmm... that's hard, i mean, i'm a novice game developer(actually i know how to code a game, but i could not manage to make one myself... yet.), Maybe HTML5? Some JS jizz?? Idk, i just want it.

Ok, let's fail do it.


Day 1:

I did some research(I mean, i literally threw "html5 game making in the google) and found a nice framework called Phaser 3

I searched a bit more and found some tutorials, i followed one which were about making some floating plataforms and a player... Actually the tutorial was about making a playable plataform game, but patience is not my virtue...

So i started to write my SHIP BUILDING GAME WHERE PLAYER CAN FIGHT IN THE STARS, which i called(for now, 'cuz that name alone is kinda ugly) Void 1... and the best part? With my now new-half-baked knowledge about Phaser 3!

Here, look, it's not that bad:

Screenshot from 2019 06 03 0243

Holy S***T, it's that bad.

What tried to make with that... thing? Well, the big square on the center is the player, and the little ones is what i called for now "the bits"(I'm bad at choosing names)

"The bits" will be functional pieces, which the player will use to build their ship. you supposedly click and drag one of "the bits" close to the big square, and they are supposed to assembly.

By now, they are just draggable, they don't do anything and not even obey your movement.

But, hey, look, it's not that far from the concept... he he

I hope i have some luck making these things assemble tomorrow...