What is this thing?

0 What is this thing? 0
This is just a place for projects to honorably get canned. Thrown out assets, projects that break which is unfixable... by me at least. Projects in which I have lost interest or drive. In many ways it is a sad place - but I'd rather see it as a really happy place, where things that would've never seen the light of day got to go outside anyway. Even though they are ugly - broken. Even though the creator has been mad at them for the most part.
However they know- they've got to know- they know that the creator is merely mad at himself, disappointed even. These small lively things are loved and they are all part of a journey.
Enjoy them! And take them for what they are.

mandag den 4. april 2016

3D in Game Maker, Family game

I finally figured out how to manage to get 3D to work in Game Maker! There are not much on this anywhere, and the stuff there is is super vague actually.

I might be posting some usable things that I've discovered later.

One thing that I still haven't got a grasp of is the d3d_transform scripts, it's like they do not behave the way I would imagine.

Sadly, because I haven't wrapped my head around the d3d_transform scripts I haven't found a way to point the sprites directly towards the camera. Here I must look directly at YoYo for not having implemented a d3d_draw_sprite and d3d_draw_sprite_ext script for exactly this. I would expect such script to be part of the package, and it would be able to draw a sprite in depth, pointing directly towards the camera, without perspective deformation at the fringe of the view, and the _ext could contain an angle argument for rotation around the forward axis of the camera and the usual scale arguments. Tsk Tsk Tsk YoYo.

Anyway - here is my d3d_draw_sprite script, it is super simple, and all it does is to hijack the d3d_draw_wall script, carve away some redundancy and add some important things.

sprite = argument0; //sprite to use
img = argument1; //the image to show, in the animation strip
xx = argument2; //x position
yy = argument3; //y position
w = argument4; //width of the sprite
h = argument5; //height of the sprite
z = argument6; //the depth, don't confuse real depth(which is more important)

var tex;
tex = sprite_get_texture(sprite,img);
(the sprite, and img arguments could be left out for a more streamlined version,
now when I think about it, this is more a _ext, than a standard script)

I love the lo-fi look of a 480*270 game running at 30fps in a somewhat simple engine like Game Maker.

For the shrubs I made a system which does only handle them when they are close to the players - when a player stands on top of a shrub the shrub scales a bit up in X and scales all the way down in Y to make it appear as if the shrub is stepped upon. It works pretty well. Right now I can't handle a large number of shrubs, but I am sure I can up the amount if a bit of optimization is performed.


A random story/gameplay idea:

You run around in the backyard inside the city. There are fun things to do while playing the game in co-op, possibly with your son or daughter. When the game is being played between 8am and 6pm the game is a co-op experience of just messing about, and the off hours in is a single-player experience. After a couple of days of play, one evening the other, younger character is gone. Only a clue to where he/she has gone is left.
The older player will have to find the younger character again.

Another random idea:

You play with a younger individual, a little brother or a son or a daughter. The game will demand quite different things of you, as the younger player is likely not as skilled as the older player. This could be flipped if necessary. It is a matter of playing this with a less skilled player, it doesn't matter if the younger is the skilled one or vice versa.
So the skilled player will be helping the younger one, and the younger one will be communicating and discussing the situations with the older player. Both characters will have a certain skill-set or properties that are very different to each other. For example the experienced player will be doing some jumping, shooting. The less experienced player will be doing navigation, halping out, like pushing buttons, solving puzzles, collecting things, maybe even matching things (sounds a bit condescending, but it isn't, at least here it'll be for a cause, not just killing time. :D)
It is empirical to incorporate puzzles that demands the two to communicate, maybe even give the non-skilled player some opportunity to show his/her wit and knowledge of things that the skilled player might now have the slightest clue about.
One way to do this could be to concentrate more subjective opinion-oriented tasks to the non-skilled player and direct more hands-on performance based tasks towards the skilled player.

Main objective would be for this game to be super asynchronous, which is something not many games possess, even today, 2016.


Dialogue excerpts:

"It'll all collapse. Hon' we need to go find mom! She is in danger!"


"All of them! All of them is here! See!!!"
"They're coming closer..."
"They'll help us, they'll help us get up there"
"Ohoy all!!!" - "Help us get up there!!! Mom is there" - "We need her back"


"We lost it all, the world is broken now. And for what!?"
"I want to go back! I want the garden!"
"The garden was never anything."
"It wasn't" *pause* "It was... wasn't it?" *pause* "... it's all gone now."
"We had fun though. right... along the way we had fun."
"..." - "we did." - "remember that time when the scribble-thief got the rubies?"
"HA!" - "yeah I do." Pretty weird one, that scribble-thief"
"YAH! SO weird."
"Was he also in your mind then?"
"I guess... don't know if he was a boy or a girl"
"Nah you're right."
"Do you think this is it?"
"might be"
"I'm sure we figure something out."
"We will! Right?"


Ingen kommentarer:

Send en kommentar