Progress going well thanks to the community here!

Over the last 2-3 weeks I've posted questions on how to tackle problems or fix things with the game I am working on, and it's all now going quite well. Don't want to speak too soon but I think the nuts and bolts that make the core of my game are now working pretty solidly!

Hopefully in the next couple of months I'll have a more complete looking game to show you all.

Thank you again to all those who have helped and Mico27 for his amazing plugins such as Actor by ID and Metatiles!

u/SakiEndo — 22 hours ago

How would they have done these pickups in Rodland?

flower points bonuses

How do you think they would have done the flower pickups in Rodland? I was thinking animated tiles, but if you "picked up" one and replaced it with a blank or background tile, it would have replaced them all?

3 picked up

Can a similar thing be done in GBStudio?

thanks.

reddit.com
u/SakiEndo — 6 days ago

Disable/Hide Emote on demand?

Hello,

The video will probably explain this way better than words, basically I am using emotes when the player defeats an enemy or gets a power up to signify the points received.

This works, but my game will also allow the player to switch from one side of the screen to the opposite (a la Mario Bros, again see the video) but I am finding an emote for an actor that was defeated or a power up collected on the far right of the screen will linger on the far left (and vice versa) when the player moves into them.

Is there a way to hide the emote on demand?

I've tried disabling the invisible actor the emote is attached to, I've tried hiding that actor. I've tried setting a blank emote but that introduces a delay to the the transition whilst the emote is live. I even tried cancelling the thread the emote (via a script) is displayed with but that just left the emote permanently live.

Any ideas? Maybe something with a GBVM script?

Thanks.

u/SakiEndo — 9 days ago

More optimal than a Wait instruction?

Hello,

I've got some basics working really well but just trying to improve performance if I can.

When actors are taken down by my player, a random number is generated if if it's of a certain set of values a power up is dropped. This is done by re-using the enemy actor, changing the animation state and re-activating it.

This sets a variable PUP_Active to true and collisions are enabled. The power up has a lifespan that is controlled by a wait instruction in the original power up set up script that enables it, and after X seconds, the actor is disabled again.

The player can collect it because the power up actor can still register collisions and if PUP_Active is true, this allows the player to collect it and that then adds the power up/points etc. This can all happen whilst the Wait instruction is otherwise waiting.

Hope that makes sense.

My issue is that performance visibly decreases when that power up actor is in a waiting state. To see if it was the Wait instruction, I changed the Wait to a timer event, and that had better performance i.e the player's jumping and movement was smoother in this situation than a power up in Wait state.

Is using timers the only way I can improve performance vs Wait?

I noticed there is a GBVM command, GBVM_Idle I think with a parameter for the number of frames but when using it in GBStudio it only works without a parameter (i.e 1 frame).

Thanks.

reddit.com
u/SakiEndo — 9 days ago

Set animation state by ID number / variable

Hello,

I want to draw a points bonus indicator using an actor, like in Bubble Bobble or Rodland when you collect a bonus, the points are shown briefly rising from the sprite's former position:

https://preview.redd.it/95oegc84nbih1.png?width=1394&format=png&auto=webp&s=8335546542e957d49230ee23780184ec176ba0da

One way I thought of doing this was creating predefined values as animation states, and then switching the points bonus actor on, moving it into position, change the animation state to 10, 20, 50 etc. and then animate it a little by moving it and then hide it again.

But I can only select animation states from a drop down, not by a variable.

Is this possible?

Or is there a better way of accomplishing this idea?

Thanks.

reddit.com
u/SakiEndo — 11 days ago

My project

I've been asking a lot of questions lately, so thank you for all the help. It's still very early days but I am working on a game that is a bit of a cross between the original Mario Bros. and Bubble Bobble, nothing too revolutionary, just an old-skool high score attack game.

There will be lots of bonus pick ups, multipliers for multiple enemy strikes, super bonuses for multiple bubble strikes and all that kind of stuff as well as some nice stage design with increasing difficulty involving hazards like spikes/nails on some platforms an so forth. At the moment there are only two pick ups, but I can scale this up quickly with a scarcity scale as well, which is biased when you have played really well.

It's really early days, the graphics have hardly been started but I want to get everything running properly, with enemy AI, smoothness of gameplay, controls, points scoring scheme etc. with the graphics coming last really. It will be a dual GB/GB Color game.

I'm an artist really, and GBStudio gives me the chance to use those skills to make a game as otherwise I wouldn't have a clue! So thank you for everybody who has helped me so far.

u/SakiEndo — 12 days ago

Get scene height in tiles into variable?

Hello,
I want an actor to drop down from the top. As it's a power up I want it to collide with walls so if it falls on a platform it stops there. The easiest way to do this is an Actor Move To event. This works great but the Tiles Y property could vary from scene to scene, 17 might be the "maximum" Y position on some scenes, others it will be more.

I can fudge it saying something like a Y position of 100 tiles but that seems a bit naff.

If I could read the height in tiles into a variable and use that instead it would feel more solid.

Thanks.

reddit.com
u/SakiEndo — 14 days ago

Cancel Actor Effect "flicker" after call?

Hello,

In my game, the player traps the enemy with a projectile, which is a state that lasts for say 5 seconds, the last 1.5 seconds of which are done with Actor Effect Flicker to signify to the player that if they don't hurry up and bonk the enemy on the head, they will reactivate.

However, if the player does strike them in the flickering state, I then have a function that reuses the actor and randomly generates a power up. However because this occurs once Actor Effect Flicker has been called, when the power up appears, it's still flickering for a little bit.

Is there a way to cancel an active actor effect like:

https://preview.redd.it/d7cmjdtdbphh1.png?width=564&format=png&auto=webp&s=48a694db7f3b808dd7724a666d31310fa42679f3

Thanks,

Vicky

reddit.com
u/SakiEndo — 14 days ago

Bug? Set Actor Sprite Sheet in Script corrupts other actors animation

To illustrate the issue.

I have two enemy actors, Actor 1 and Actor 2, both are the same design and use the same sprite sheet and initial animation state.

As an initial test, if in the On Init event for the scene I change one of them, Actor 1 to use the "pup" (power up) sprite sheet, and set the animation state to "coin" - as you would expect, only one of the Actors, Actor 1, changes its sprite sheet and animation state.

Actor 2 remains unchanged. This is what I would expect.

https://preview.redd.it/hut3ly23h8hh1.png?width=692&format=png&auto=webp&s=36007b2371e1581bd0a43f06a849c1b4d168e4ee

Here when the game starts, Actor 1 has become a coin (top middle), whereas Actor 2 has remained an enemy (bottom left).

https://preview.redd.it/zlzigt9th8hh1.png?width=950&format=png&auto=webp&s=45a0a17bf722b9d26051f0dfec9125ea7791f13c

This is what I'd expect, as I am targeting a specific Actor to change its sprite sheet and animation state.

However I have an issue with the same thing when called in a script. I have created scripts to handle Enemy collision, and the generation of power ups on defeating an enemy, this all works great, except if I do the same sprite sheet and animation state swap in a script, the other enemy actor's animation/visual appearance gets corrupted.

So to illustrate what I've done. When the player themselves hits the enemy, it causes a collision and this script is called. As you can see an Actor is passed in as a parameter, so for example for Actor 2, EnemyStompHit is called like so:

https://preview.redd.it/bc85p62il8hh1.png?width=676&format=png&auto=webp&s=4e31213db87a5664732efaa88d7dcf81fe8b6e3c

You can see Self (Actor 2) is passed in parameter Enemy Actor.

In the EnemyStompHit script a random number is generated for the time being if that number is above zero, a Power Up is created in the enemy's stead. It reuses the actor, by manor of deactivating its enemy state, setting a local variable PUP_Active to the actor that it has become a PowerUp and most importantly calls a second Script called PowerUp which itself takes the Actor parameter (Enemy Actor)

https://preview.redd.it/vq3704vzi8hh1.png?width=484&format=png&auto=webp&s=d60d5473907c9e7d055f8375abd535bef9ff543b

The PowerUp script is there to change the animation state and sprite sheet to reflect the type of power up the random number signifies. It too takes the Enemy Actor parameter.

https://preview.redd.it/4gxe1n99j8hh1.png?width=676&format=png&auto=webp&s=f40c01dfe9220c1fe76d9d3258ec8a9153f84d14

The drop down for the AnimationState change is as follows:

https://preview.redd.it/wisjr6scj8hh1.png?width=692&format=png&auto=webp&s=1393aea16c8642afa0c2cc271141627fc908a88d

So in theory, this is doing exactly the same thing as the OnInit test but just with more logic around it. However, on hitting the enemy and a Power Up being generated, Set Sprite Sheet seems to corrupt the other enemy actor sprite as well as correctly changing the targeted actor to a coin. Note the player sprite is unaffected.

https://preview.redd.it/xqezkwk0l8hh1.png?width=636&format=png&auto=webp&s=e374ffbf1f9c7f6b1001fb144c65a7a13a851d29

In my case, both Actor 1 and 2 share the same sprite sheet as sometimes you have enemies of the same design but as indicated in the initial OnInit callback script just to test the functionality, that works as expected.

I am using GBStudio 4.3.2.

Thanks.

reddit.com
u/SakiEndo — 16 days ago

Corruption with Launch Projectile from Slot?

Hello,

I've been making some progress on my project but I have an issue with projectiles.

I have a script which is called on init:

https://preview.redd.it/lud9x8difzgh1.png?width=702&format=png&auto=webp&s=71fe068ad0481fc575d4c72234b6177e4dbae7c0

This bubble sprite looks as follows:

https://preview.redd.it/nh6zzot1dzgh1.png?width=856&format=png&auto=webp&s=ca5597b16bc627fa60575239b69b614a0e2d034d

https://preview.redd.it/7wtozsa5dzgh1.png?width=668&format=png&auto=webp&s=9686b768c8b93a1a03cf55b983a776dd434a753f

https://preview.redd.it/78luqiavfzgh1.png?width=700&format=png&auto=webp&s=00fbba03313317401b93c9e6e42dde910dd2343d

When the player hits the B button a projectile is due to fired as below:

https://preview.redd.it/0es2ysg8gzgh1.png?width=620&format=png&auto=webp&s=6a2181da5557833878036c12afb342fcb5052214

But what I get is a corrupted version of the player sprite:

https://reddit.com/link/1vdlfn3/video/l1mo7iv9fzgh1/player

I can't see where I've gone wrong. Any ideas?

Does the projectile have to be part of the player sprite sheet?

Thanks.

reddit.com
u/SakiEndo — 18 days ago

Learning pop shuvs day 3 progress [43YO]

I decided to start learning some new stuff this year rather than being stuck in a rut always doing the same stuff or focusing on lip tricks on transition. Quite pleased on my 3rd session I can land a low pop shuv rolling at the speed of a sleeping sloth :)

I'm guessing to get the height it's a bit like an ollie, make sure your body weight is shifted back over the back foot?

u/SakiEndo — 20 days ago

Collisions between two "enemy" actors not working?

Hello,

I'm trying to get two enemies to collide, basically so they will bounce off each other but when an "enemy" actor (Actor 1 in screenshot) collides with a static "enemy" (Actor 2) - no collision is registered.

Actor 1 uses Actor Move To... commands for its movement. It checks for X positions when it needs to drop down through the platforms (otherwise it keeps on going over the top gaps in the platform).

Am I getting something simple wrong?

Many thanks.

u/SakiEndo — 22 days ago
▲ 21 r/Gameboy

GBA Switch Mod

My modified GBA. I had the Hispeedido docking kit installed that allows for to work like a Switch, and the latest version of that kit is happy to leave the batteries installed. It's a brilliant mod that means I can now play on the big screen and with a Super Famicom controller (modded with NA SNES colour buttons). I can't detect any discernible lag. the 160p test suite suggests about 1 frame of lag.

And then when I need to keep on the go, I can take if off the the dock and carry on playing. Sure it's not quite as flexible as the Switch as the GBA doesn't have a standby mode to speak of, but for my situation it works great!

Highly recommended kit.

u/SakiEndo — 2 months ago

What can I do to improve my ollie? [42YO]

What can I do to improve my ollie. I'm finally getting these down where I can land quite a few of these a session (10+) but I think I can get better, like my back foot seems to be quite a way from the tail. I know my landing in this one was a bit stiff but I generally land a bit better.

Happy for any tips :) Otherwise I'll keep jumping and add another board soon.

u/SakiEndo — 2 months ago

Old girl 50-50 B/S grind [42YO]

Finally getting some courage to using some of my transition skill on something other than a mini ramp. I know this looks really tame but gotta get comfortable and confident before adding speed.

Really need to crack my rock to fakie now on this, I can hold the board steady on the deck extending my front foot but coming back in from this height is scary AF! I'll do it though!

u/SakiEndo — 3 months ago