Thursday, December 17, 2015

Dev Day Episode 59: I Can't See Outside Right Now Because The Blinds Are Closed. WAIT I OPENED IT IT"S SNOWING

so right now i'm pretty happy with the game, even though it's very unfinished, i'm going to start asking some people to play this prototype.

i want feedback on the character designs and how the game plays.

i will direct people to this post because it will contain the link for the game.

right here.

this will redirect over to dropbox where anyone will be able to view the file.

i know some people that would actually love to maybe get my game as a physical gift.

because they're fans of my work, some little kids, but they're pretty cool.

i'll burn that onto a disk, i think they'll like that.

i've been sketching up ideas for level one.

i need to make a setup that will introduce the core mechanics in separate safe environments.

i'll take a lot of inspiration from famous metroidvania games,

sections for combat seperated and linked with sections for platforming.

this core level design philosophy will hopefully lead to an optimal gameplay experience.

tomorrow still working on level

and today i learned a little bit more of how i'm going to share my game.

it costs a fee to put a game on steam, i've hear.

i could potentially sell physical copies of the game on disks, but i don't know if i would reach the right audience for it.

it's a lot to consider.

TO ANYONE PLAYING THE GAME, PLEASE LEAVE REVIEWS, COMPLEMENTS, OR CREATIVE CRITICISM IN THE COMMENTS.

Wednesday, December 16, 2015

Dev Day Episode 58: It’s Pitch Black Out Because It’s 7:48 At Night, Because I Had A Field Trip Today That Lasted Aaaaaaaaaaalllllllllll Day.

so i'm finding out my laptop has a dvd burner.

so i'm going to start making some prototype disks to give out to some testers so i can get feedback.

i've got my first prototype disk burnt and labeled.

it's on my dad's desk right now.

unfortunately, this is all i did today, on account of my being absent.

tomorrow, i'll be checking if the computers at school have the same disk drive i do, to see if i can make prototype disks there too.

...

i've already sent what i've completed up to today to some close friends of mine, i didn't expect the most in depth critique from them, but luckily i wasn't disappointed.

everything i heard was largely positive, they said it controls well, but it's a little hard to get used to.

i don't remember exactly what they said so i get some more people to test it out and see if i can isolate some comments.

i also managed to spot some bugs with other people playing it, like they're able to get the grabbling hook to go through walls.

this will be fixed.

Tuesday, December 15, 2015

Dev Day Episode 57: It's Cloudy Out, It Used To Be A Little Sunny Out Earlier.

so instead of working more on the rain, i worked on some lighting stuff because it would accomplish what i really wanted and more.

so this is what it looks like in game right now, because i finished it already.


but there might be a better place to show this off.


but i really like how this all looks.

there are two bits of particle ffects here, one for the light bit, and one for the magic bit.

here's the code for the light bit:

///the light bit
c_lampelightblue=make_color_rgb(60,188,252);

//particle system
part_light_sys = part_system_create();
part_system_depth(part_light_sys,0);

//particle
part_light = part_type_create();
part_type_shape(part_light,pt_shape_flare);
part_type_scale(part_light,1,1);
part_type_size(part_light,18,20,0,0.1);
part_type_color2(part_light,c_lampelightblue,c_lampelightblue);
part_type_alpha1(part_light,0.1);
part_type_life(part_light,1,1);
part_type_blend(part_light,1);

//particle emitter
part_light_emit = part_emitter_create(part_light_sys);
part_emitter_region(part_light_sys,part_light_emit,x,x,y,y,ps_shape_ellipse,ps_distr_gaussian);
part_emitter_stream(part_light_sys,part_light_emit,part_light,1);

and here's the code for the magic bit.


///the magic bit
c_lampelightblue=make_color_rgb(60,188,252);
c_lampdarkblue=make_color_rgb(60,288,252);

//particle system
part1_sys = part_system_create();
part_system_depth(part1_sys,1000000);

//particle
part1 = part_type_create();
part_type_shape(part1,pt_shape_flare);
part_type_scale(part1,1,1);
part_type_size(part1,0.25,0.35,-0.005,0.2);
part_type_color2(part1,c_lampdarkblue,c_lampelightblue);
part_type_alpha2(part1,0.75,0.25);
part_type_speed(part1,0.1,0.3,0,0);
part_type_direction(part1,0,359,0,0);
part_type_gravity(part1,0.2,90);
part_type_life(part1,room_speed*0.5, room_speed);
part_type_blend(part1,1);

//particle emitter
part1_emit = part_emitter_create(part1_sys);
part_emitter_region(part1_sys,part1_emit,x-10,x+10,y-10,y+10,ps_shape_ellipse,ps_distr_gaussian);
part_emitter_stream(part1_sys,part1_emit,part1,1);

and i learned everything from this video.

tomorrow, i'll, i don't know i'll start making the intro level.

the hubworld is pretty much done except for more universal mechanics.

Monday, December 14, 2015

Dev-Day Episode 56: It's Rainy And Pretty Cloudy Out Today

got myself a new naming convention, i'm going to name these blog titles after the weather i see outside.

come and get your healthbar overlay.


this is just layered over the healthbar in-game, with the same object using the draw_sprite command.

in-game it looks like this.


you may also notice that the rain doesn't go over the healthbar.

that's because of setting the foreground image to the room, i set it to an object with a set depth.

i make the rain fall by giving the object a downward speed, but the speed is not set.

i have a modifier so that every time the room is re-created the rain is moving at slightly different speeds.

it doesn't make much of a difference.

but at least it doesn't show up over the ui anymore.

i'm informed that the rain should stop when the game is paused.

i'll do more stuff with the rain tomorrow.





Friday, December 11, 2015

Dev-Day Episode 55: Three

tomorrow i might change naming conventions, i'm getting tired of this one.

quick and easy solution to get the healthbar in the foreground, make a new object.

the draw event is tied to an object's depth, and so if one object draws a healthbar, its depth can't be changed.


here's the code from the new object, and it's depth is at like -1000000000 so it's way up front.

not in front of the rain though.


nothing's in front of the rain.

i think i can fix that by doing something similar to what i just did.

also, the healthbar is dynamic and changes depending on if the game is paused.


here it is in the character ui.


and it totally works.

tomorrow i'll be sketching up some enemies, maybe some fight animations, and after that i'll be working on level 1.

like an actual level 1.

i'm picking up momentum again.

...

actually before combat stuff i'll just be polishing up the healthbar.

no biggy.

and i'm still learning about the importance of ui placement and such.

Thursday, December 10, 2015

Dev-Day Episode 54: Madness Of Men

making a healthbar.

but.

when the code's in the draw event,

arlette,

she's not drawn.











this needs to be solved.

i can't have an invisible player.
...


...
alright.

fixed it.

the code is real simple.

draw_self();

draw_healthbar(x-640,y-320,x-40,y-300,hp,c_black, c_red, c_lime, 0, true, true);


i just originally forgot to include the bit where it draws itself.

it even works a little bit.

now instead of restarting the room when arlette falls out of the world, it restarts when hp hits 0.

if (y>room_height){
hp=hp-10;
}

if (hp<0){
room_restart();
}

now i just need to figure out how to get the bar at the top layer, and then i can start making it look good.

i'll be doing that tomorrow.

Dev-Day Episode 53: Phantom Pain

okay i'm not worrying about controller support for now, it's staying in the closet.

made some more musics things here and here.

they're just works in progress.

but they're coming along, with more development i think they could really be something.

i think that second one is just about done too, it's decent enemy encounter music.

maybe the instruments are wonky but w/e for now.

the instuments you pick, as i'm finding out are very important in the tone and setting.

a character's theme speaks a lot for their background and personality, it's what it's for it sets the tone.

tomorrow i might start making so combat stuff, or enemies, or a damage system.

a think a damage system is the way to go tomorrow.

Tuesday, December 8, 2015

Dev-Day Episode 52: Pestilence

seriously considering whether or not to keep up with the controller inputs.

i really think it's worth it because it feels nice, and movement of the character works perfectly now, but the grappling hook does not.

i want my game to have combat, and side scrolling combat works really well with a controller, but the grappling hook does not.

it just doesn't feel good, i made a placeholder cursor, and jumping around and trying to move that thing feels awful.

so for now i'm suspending the grappling hook.

i'll be working on more music and characters and enemies too, as well as the rain effects i want to get done for the next couple of weeks while i pick at the issue of how to make this work.

i'm thinking of maybe limiting the hook down to one direction, shooting it off at a 45 degree angle relative to where the player is facing, that could let me work with more control over level design.

it's also possible for the grappling hook to just be scrapped entirely for another mechanic.

i don't like that possibility.

i'm repurposing the digital cursor to give the gamepade a way to interact with the ui.


hspeed = (gamepad_axis_value(0, gp_axisrh)*40);
vspeed = (gamepad_axis_value(0, gp_axisrv)*40);

these bits basically just multiply the degree of tilt for the analogue stick (which goes from 0-1) by 40.

so if the stick is tilted all the way to the right, the cursor will move about 40 pixels/frame to the right.

game making is hard.

Monday, December 7, 2015

Dev-Day Episode 51: The Costs Of Revenge

ooooh boy.

so i solved the thing so that wasn't working just by putting

if (runleft=false)&&(runright=false){ hspeed=0;} at the top of the movement code.

the position is important, i'm finding out. because now that code will be the first thing in this sequence the game will check.

so now it'll check if the character shouldn't be moving before it checks if they should be.

which fixes my problem.

i'm also working on how to make the mouse controls work for the gamepad, like the menu selection and especially the grappling hook.

right now i'm working on a aiming arrow, but that isn't working.

i think i'll trash all of that and make a virtual cursor instead.

the tricky part will be distinguishing the virtual cursor from the real one.

maybe if i just make new grappling hook objects and replace the mouse parts with the cursor parts.

we'll see tomorrow.

Friday, December 4, 2015

Dev-Day Episode 50: Fire and Cold Ashes

a quick indivisible update.

they've got less than a day left, but they've got 116% funding, so the game is definately made.

they also got their first stretch goal, $1,650,000, which gives us more music.

their next goal is $1,900,000, which is for an animated opening.

i'm excited for their third stretch goal, $2,050,000, full voice acting for major characters.

...

okay, back to my game.

...

i decided to go the route of implementing gamepad controls.

the first thing i had to do was make small adjustments in my previous movement code.

the basic left/right movement now includes;


if (runleft=true) hspeed=-24;



if (runright=true) hspeed=24;

those variable, runleft and runright are now and can be found in the creation event.

in the begin step event i have this bit of code.

runleft = gamepad_axis_value(0,gp_axislh) < -0.4;
runright = gamepad_axis_value(0,gp_axislh) > 0.4;

if (-0.4<(gamepad_axis_value(0,gp_axislh))<0.4){
runleft=false;
runright=false;
}

this just detects the direction of the analog stick and marks runleft or runright accordingly.

however an issue arises that when in mid air, the player lacks a certain degree of air control.

tomorrow i will remedy this.

and i guess today i learned that there's a big difference between analogue and digital control.

Wednesday, December 2, 2015

Dev-Day Episode 49: Traitors’ Caravan

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

i think i'm done with the hub world track.

i also implemented rain so it makes sense.


i just need to put in some more rain effects on the so it doesn't just look like it's just between the ground. and the screen.


oh, and indivisible got funded, 100%.

actually it's more like 106% now.

even though it's done they're still going strong.

gotta get those stretch goals man.

and mr bilesky brought in a wired controller.

it worked right away and works like a charm, i tested it out with the indivisible prototype.

no input lag, and the computer recognizes it.

tomorrow i'll either be fixing the rain effect, making title music, or working on controller inputs.

Tuesday, December 1, 2015

Dev-Day Episode 48: Two-Way Race

here you go, again.

i added a couple more layers.

it pairs best with rainy mood, on it's lowest volume setting.

with this revelation i'm going to make it rain in the hub world.

which will require sprite work, i'll also have to figure out how to but rain sounds in the music.

or make a constant rain sound effect in the room.

either way, it has to be done.

and i'll do that in the future.

i learned that music is complex and take a long time to work with, but when you do the time just flies by.

today's 2 blocks of infotech almost totally eluded me because i was just so focused on tiny details.

it's crazy.