Author Topic: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry  (Read 240792 times)

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #570 on: May 18, 2015, 11:20:05 PM »
Is it possible to spawn enemy shots in a player script? For some reason CreateShotA1 won't work in a player script... is it designed that way or am I doing something wrong?
It depends what you mean by enemy shots. Can you use CreateShotA1() and so on? Yes, but the bullets won't show up unless the shot data is loaded with LoadPlayerShotData(), as usual. LoadEnemyShotData() won't do anything useful (it will load the shot data somewhere, but is moot). However, any bullets fired like this are still player bullets, and won't hit you. If you use GetShotCount(TARGET_PLAYER), they will count.

Why specifically enemy bullets?
« Last Edit: May 18, 2015, 11:22:01 PM by Drake »

A Colorful Calculating Creative and Cuddly Crafty Callipygous Clever Commander
- original art by Aiけん | ウサホリ -

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #571 on: May 18, 2015, 11:33:32 PM »
Why specifically enemy bullets?

You know, some people just do weird things like that. Here, maybe to restrict the player's movement (as in Danmaku Paranoia).
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #572 on: May 18, 2015, 11:40:52 PM »
I'm not really *curious* about the motivation; if they explain what they want to do from the beginning then you can recommend an alternative, rather than looking only at one particular way to do things.

A Colorful Calculating Creative and Cuddly Crafty Callipygous Clever Commander
- original art by Aiけん | ウサホリ -

Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #573 on: May 19, 2015, 12:15:18 AM »
I'm not really *curious* about the motivation; if they explain what they want to do from the beginning then you can recommend an alternative, rather than looking only at one particular way to do things.

Just for fun I'm trying to make some Phantasmagoria style players. I've changed the default system to accomodate multiple players, but I'm having trouble with the level 2 and level 3 spells.

If I can't figure out how to do it all in a player script, what I may end up doing is linking every player script to a single script and using a common data system, but that would make it difficult to implement multiple players.
« Last Edit: May 19, 2015, 01:57:15 AM by TresserT »
My name is Tres. It sounds like "Tray". Tressert is "Tray-zurt"; like Tres dessert.
I've cleared every touhou game on Lunatic, and beaten every extra except SoEW.
NMNB: MoF Hard, SA Extra, UFO Extra

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #574 on: May 19, 2015, 05:01:02 AM »
If you're looking for a way for players to trigger a hit on players, you can do so by creating a dummy enemy and checking for intersections.
Code: [Select]
makeDummyHitbox(objPlayer, 1);

task makeDummyHitbox(parent, radius){
while(!Obj_IsDeleted(parent)){
let e = ObjEnemy_Create(OBJ_ENEMY);
while(!ObjCol_IsIntersected(e)){
ObjEnemy_SetIntersectionCircleToShot(e, ObjMove_GetX(parent), ObjMove_GetY(parent), radius);
yield;
}
doSomething();
Obj_Delete(e);
}
}

You can then use user events or something to handle "player hit" behaviour. However, your own bullets will hit this enemy, so just make sure they don't, I guess.

I realize a more rigorous way of setting this up might be to mark your own shots. You can do this with something like Obj_SetValue(shot, "PlayerSource", GetOwnScriptID()), and then checking only those shots for collision, or something. The downside with this approach is that you'd have to make sure to set the object values to all player shots like this.

A Colorful Calculating Creative and Cuddly Crafty Callipygous Clever Commander
- original art by Aiけん | ウサホリ -

Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #575 on: May 19, 2015, 04:13:11 PM »
If you're looking for a way for players to trigger a hit on players, you can do so by creating a dummy enemy and checking for intersections.
Code: [Select]
makeDummyHitbox(objPlayer, 1);

task makeDummyHitbox(parent, radius){
while(!Obj_IsDeleted(parent)){
let e = ObjEnemy_Create(OBJ_ENEMY);
while(!ObjCol_IsIntersected(e)){
ObjEnemy_SetIntersectionCircleToShot(e, ObjMove_GetX(parent), ObjMove_GetY(parent), radius);
yield;
}
doSomething();
Obj_Delete(e);
}
}

You can then use user events or something to handle "player hit" behaviour. However, your own bullets will hit this enemy, so just make sure they don't, I guess.

I realize a more rigorous way of setting this up might be to mark your own shots. You can do this with something like Obj_SetValue(shot, "PlayerSource", GetOwnScriptID()), and then checking only those shots for collision, or something. The downside with this approach is that you'd have to make sure to set the object values to all player shots like this.

Yeah, I considered the 2nd one but I don't like constantly running GetShotIdInCircle or other shot count functions as they can cause some slowdown if there are too many shots on the screen. I didn't think of the first one, though, and that might work. Thanks.
My name is Tres. It sounds like "Tray". Tressert is "Tray-zurt"; like Tres dessert.
I've cleared every touhou game on Lunatic, and beaten every extra except SoEW.
NMNB: MoF Hard, SA Extra, UFO Extra

Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #576 on: May 26, 2015, 05:30:04 PM »
Could somebody give an advice, how to keep good fps (I mean that, fps rate was round 60/58fps)? Maybe some functions? Should I always beware of something? Loops? Always to delete all objects?

Sage Ω (Ultima)

  • CEO at Team Eternal Desire
  • ??? X
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #577 on: May 26, 2015, 06:21:08 PM »
A good habit is to not abuse sprite objects or anything that renders graphics. Always delete objects when you're done using them. Don't have tasks that linger around doing nothing. A good practice I've found is to turn off bullet collision for bullets that are not in range of the player. It works really well for dense patterns or anytime you use curvy lasers since those have about as many hitboxes as the length you specify.

In general its just being mindful of the stuff you're doing.

Failure McFailFace

  • I'm h...a...p...p...y...
  • Impor
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #578 on: May 27, 2015, 03:36:00 AM »
Is this a valid MainLoop? The effect I want here is the enemy to shoot a stream of any bullet at a certain speed at the player's hitbox:
Code: [Select]
@MainLoop
{
let playerX = ObjMove_GetX(player)
let playerY = ObjMove_GetY(player)
CreateShotA1(playerX, playerY, 2, [don't know what to do with angle], [bullet graphic here], 5)
}
Am I right to say that the third value (the 2) is in frames/second, and the last value is in frames?
1cc Easy: DDC (all) | 1cc Normal: UFO (SanA autobomb),  DDC (ReiA, SakA) , LoLK (Sanae PD)| EX clears: DDC (MarB Ultra) | Puzzle Games: StB: 10-X, DS: Hatate unlock, ISC: All clear

Sparen

  • Danmakufu Artist
  • Git ready, git set, PUUSH!
    • AFCDTech
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #579 on: May 27, 2015, 03:38:22 AM »
Is this a valid MainLoop? The effect I want here is the enemy to shoot a stream of any bullet at a certain speed at the player's hitbox:
Code: [Select]
@MainLoop
{
let playerX = ObjMove_GetX(player)
let playerY = ObjMove_GetY(player)
CreateShotA1(playerX, playerY, 2, [don't know what to do with angle], [bullet graphic here], 5)
}
Am I right to say that the third value (the 2) is in frames/second, and the last value is in frames?

CreateShotA1(x [pixels], y [pixels], speed [pixels/frame], angle [degrees], graphic [unitless], delay [frames]);

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #580 on: May 27, 2015, 04:40:00 AM »
Is this a valid MainLoop? The effect I want here is the enemy to shoot a stream of any bullet at a certain speed at the player's hitbox:
Code: [Select]
@MainLoop
{
let playerX = ObjMove_GetX(player)
let playerY = ObjMove_GetY(player)
CreateShotA1(playerX, playerY, 2, [don't know what to do with angle], [bullet graphic here], 5)
}
Am I right to say that the third value (the 2) is in frames/second, and the last value is in frames?

You have to yield.
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #581 on: May 27, 2015, 05:15:04 AM »
They don't really, unless they try to yield out from somewhere else. Obviously it's good practice to just throw it in there by default, but it isn't strictly necessary.

A Colorful Calculating Creative and Cuddly Crafty Callipygous Clever Commander
- original art by Aiけん | ウサホリ -

Gamer251

  • DJ FlanFlan
  • Too lazy to type long sentences.
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #582 on: May 27, 2015, 06:21:34 AM »
I'm currently following Sparen's ph3 tutorial.
I don't really know what I'm doing wrong, but every time I run the script, Danmakufu hangs.
Here's my script.
I don't really know what to do now...


"You ought to watch out, yourself. Even a high-school girl can make her own weapons these days, after all..."

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #583 on: May 27, 2015, 06:37:09 AM »
I'm currently following Sparen's ph3 tutorial.
I don't really know what I'm doing wrong, but every time I run the script, Danmakufu hangs.
Here's my script.
I don't really know what to do now...

Code: [Select]
task MainTask {
        movement;
        while(ObjEnemy_GetInfo(objBoss, INFO_LIFE)>0){
        let angleT = GetAngleToPlayer(objBoss);
        loop(13){
                ascent(i in 0..3){
                        CreateShotA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 2.5-i/3, angleT, DS_FIRE_RED+1, 5);
                }
                angleT+=360/13;
                }
        yield; // <--------
        }
}
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Gamer251

  • DJ FlanFlan
  • Too lazy to type long sentences.
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #584 on: May 27, 2015, 07:00:30 AM »
Ohhh right, forgot to yield...  :derp:
Thanks for the help~


"You ought to watch out, yourself. Even a high-school girl can make her own weapons these days, after all..."

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #585 on: May 31, 2015, 06:04:08 PM »
When does GetShotIdInCircleA2 return a non-array?
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Shadow

  • Forever waiting for tomorrow
  • ...
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #586 on: May 31, 2015, 09:53:42 PM »
Correct me if I'm wrong, but I would think never. If GetShotIdInCircleA2 detects one bullet, it'll return its ID as a one-element array. If there are no bullets, it'll simply return an empty array.

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #587 on: May 31, 2015, 10:03:28 PM »
Correct me if I'm wrong, but I would think never. If GetShotIdInCircleA2 detects one bullet, it'll return its ID as a one-element array. If there are no bullets, it'll simply return an empty array.

The problem seems to be that empty arrays can't be compared with arrays with elements. Reported the bug to mkm.
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Shadow

  • Forever waiting for tomorrow
  • ...
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #588 on: May 31, 2015, 10:11:45 PM »
I don't know what you're trying to do, but returning the length of array and adding a dummy element (like ID_INVALID) if it's empty should be a plausible workaround, I think.

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #589 on: June 01, 2015, 12:20:03 AM »
Empty arrays are basically treated as empty strings in the interpreter.
In the case where you're just writing [] in scripts for comparison, we get the following:
Code: [Select]
[] == [1]    #=> error
[] == ["a"]  #=> error
[] == ['a']  #=> false
[] == ""     #=> true

But in practice empty arrays are in fact empty arrays:
Code: [Select]
erase([1], 0)                      #=> []
erase([1], 0) == erase([2], 0)     #=> true
erase([1], 0) == erase([true], 0)  #=> error
[1, 2, 3][0..0]                    #=> []
[1, 2, 3][0..0] == [4][0..0]       #=> true
[1, 2, 3][0..0] == [true][0..0]    #=> error

Really the only problem is that you're doing something sneaky and avoiding length checks or something. The main "issue" is that all arrays are typed; you can't really have an empty array that could compare against every other empty array. Writing a [] in script just happens to be arbitrarily chosen to be a char array. Additionally, when library functions return an empty array it's usually a char array (in which case you could technically compare it to []).

Note: That being said, the concatenation operator seems to have no problem working with any type of empty array.
« Last Edit: June 01, 2015, 12:31:33 AM by Drake »

A Colorful Calculating Creative and Cuddly Crafty Callipygous Clever Commander
- original art by Aiけん | ウサホリ -

Aka Kyuketsuki

  • Team αlternative Σnding
  • Making it rain
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #590 on: June 06, 2015, 07:16:50 PM »
Hello ! I would like some help. I have seen this error and I don't know why I still have it on the same script...

"It's script does not allow to alone period
(単独のピリオドはこのスクリプトでは使いません)"

This is the first time I see this error, does anyone know what it means or when it appears ?  :ohdear:

EDIT : Nevermind I fixed it. I wrote a . instead of ;  :blush:
« Last Edit: June 06, 2015, 07:22:58 PM by Aka Kyuketsuki »

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #591 on: June 08, 2015, 08:17:04 AM »
Because I'm doing 3D backgrounds:

  • What is the azimuth angle?
  • Difference between pitch and elevation angle?
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #592 on: June 08, 2015, 10:23:28 AM »
The yaw-pitch-roll system is rotating an object (in this case the camera) about its own y-x-z axes. When the object is upright, the y-axis points up and down, the x-axis points to your left and right, and the z-axis points at and away from you.
The best way I find to visualize the camera's viewing angle is with an analogue to your monitor:

- Spinning your monitor around its base is change in yaw (rotation about y-axis)
- Tilting your monitor's viewing angle up and down is change in pitch (rotation about x-axis)
- Flipping your monitor 90 degrees to vertical orientation is change in roll (rotation about z-axis)

The direction your monitor points here is camera's perspective. Changing the yaw, pitch and roll change where the camera points, from a fixed position.



But the camera doesn't have to be fixed. If you change where the camera is positioned in 3D space but fix the viewing angle, clearly it will point at something else. The camera's focal point is the position in 3D space where the camera bases its own position on.

Imagine a sphere (or a dome) defined around the focal point. The camera lives on that sphere, and you can then think of the focal point as a center point at "ground level".
The radius of the sphere is the distance from the camera to the focal point.
The elevation angle is the angle from the ground, moving into the sky (or negative, moving beneath the ground). Put another way, increasing the elevation angle is like fixing the x-position of the camera and moving it along the sphere, starting by intersecting the z-axis at 0 and eventually intersecting the y-axis at 90.
The azimuth angle is the angle circling around the focal point from a fixed elevation. If the elevation is 0, for example, changing the azimuth is like circling around the focal point at ground level. If the elevation is 90, changing the azimuth keeps you in the same place. In terms of the axes, increasing the azimuth angle is like fixing the y-position of the camera and moving it around the sphere, starting by intersecting the z-axis at 0 and eventually intersecting the x-axis at 90.



Important to note is that camera systems will by default always try to aim at the focal point. Whether you increase the elevation or azimuth, the camera will keep aiming at the focal point. Because of this, changing the yaw-pitch-roll is more like changing the camera's offsets in perspective, away from the focal point. So when trying to relate the two images together, note that with zero yaw and pitch, the roll axis will point directly from the camera to the focal point. Additionally, the camera will try to stay upright relative to the focal point, so if you increase the elevation beyond 90 it'll flip itself over.

Lastly, if you want to move the camera around in its absolute position, without messing with the perspective, just change the focal point's position.
« Last Edit: June 09, 2015, 08:49:34 AM by Drake »

A Colorful Calculating Creative and Cuddly Crafty Callipygous Clever Commander
- original art by Aiけん | ウサホリ -

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #593 on: June 08, 2015, 11:03:39 PM »
The yaw-pitch-roll system is rotating an object (in this case the camera) about its own y-x-z axes. When the object is upright, the y-axis points up and down, the x-axis points to your left and right, and the z-axis points at and away from you.
The best way I find to visualize the camera's viewing angle is with an analogue to your monitor:

- Spinning your monitor around its base is change in yaw (rotation about y-axis)
- Tilting your monitor's viewing angle up and down is change in pitch (rotation about x-axis)
- Flipping your monitor 90 degrees to vertical orientation is change in roll (rotation about z-axis)

The direction your monitor points here is camera's perspective. Changing the yaw, pitch and roll change where the camera points, from a fixed position.

But the camera doesn't have to be fixed. If you change where the camera is positioned in 3D space but fix the viewing angle, clearly it will point at something else. The camera's focal point is the position in 3D space where the camera bases its own position on.

Imagine a sphere (or a dome) defined around the focal point. The camera lives on that sphere, and you can then think of the focal point as a center point at "ground level".
The radius of the sphere is the distance from the camera to the focal point.
The elevation angle is the angle from the ground, moving into the sky (or negative, moving beneath the ground). Put another way, increasing the elevation angle is like fixing the x-position of the camera and moving it along the sphere, starting by intersecting the z-axis at 0 and eventually intersecting the y-axis at 90.
The azimuth angle is the angle circling around the focal point from a fixed elevation. If the elevation is 0, for example, changing the azimuth is like circling around the focal point at ground level. If the elevation is 90, changing the azimuth keeps you in the same place. In terms of the axes, increasing the azimuth angle is like fixing the y-position of the camera and moving it around the sphere, starting by intersecting the z-axis at 0 and eventually intersecting the x-axis at 90.

Important to note is that camera systems will by default always try to aim at the focal point. Whether you increase the elevation or azimuth, the camera will keep aiming at the focal point. Because of this, changing the yaw-pitch-roll is more like changing the camera's offsets in perspective, away from the focal point. Additionally, the camera will try to stay upright relative to the focal point, so if you increase the elevation beyond 90 it'll flip itself over.

Lastly, if you want to move the camera around in its absolute position, without messing with the perspective, just change the focal point's position.

Thanks for the explanation. Perhaps an illustration would help as well?
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Helepolis

  • Charisma!
  • *
  • O-ojousama!?
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #594 on: June 09, 2015, 06:49:09 AM »
Just remembered I had also posted about this long long long looooong ago. Contains illustration.

https://www.shrinemaiden.org/forum/index.php/topic,10181.msg999303.html#msg999303

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #595 on: June 09, 2015, 08:42:17 AM »
added drawings

A Colorful Calculating Creative and Cuddly Crafty Callipygous Clever Commander
- original art by Aiけん | ウサホリ -

Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #596 on: June 12, 2015, 05:04:45 AM »
Is it possible to use a video as a texture? For example, could I make a video as the background for a stage? I want to reduce the number of objects in my backgrounds to help reduce slowdown (and thus be able to make more complex backgrounds), so if using a video is even possible would running one cause even more slowdown?
My name is Tres. It sounds like "Tray". Tressert is "Tray-zurt"; like Tres dessert.
I've cleared every touhou game on Lunatic, and beaten every extra except SoEW.
NMNB: MoF Hard, SA Extra, UFO Extra

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #597 on: June 12, 2015, 05:11:41 AM »
Is it possible to use a video as a texture? For example, could I make a video as the background for a stage? I want to reduce the number of objects in my backgrounds to help reduce slowdown (and thus be able to make more complex backgrounds), so if using a video is even possible would running one cause even more slowdown?

You'd have to render multiple images in sequence, so running one would cause even more slowdown.
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #598 on: June 12, 2015, 05:14:01 AM »
You'd have to render multiple images in sequence, so running one would cause even more slowdown.

Yeah, that's what I was afraid of. Thanks though!
My name is Tres. It sounds like "Tray". Tressert is "Tray-zurt"; like Tres dessert.
I've cleared every touhou game on Lunatic, and beaten every extra except SoEW.
NMNB: MoF Hard, SA Extra, UFO Extra

Helepolis

  • Charisma!
  • *
  • O-ojousama!?
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #599 on: June 12, 2015, 05:56:19 AM »
I want to reduce the number of objects in my backgrounds to help reduce slowdown (and thus be able to make more complex backgrounds),
How many sprites (objects) do you have anyway in your stage? Or do you have large number of meshes?