Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 8 9 [10] 11 12 ... 31

Author Topic: Can delphonso make a commercial game?  (Read 49529 times)

Eschar

  • Bay Watcher
  • hello
    • View Profile
Re: Can delphonso make a game?
« Reply #135 on: December 17, 2021, 04:43:17 pm »

PTW.

I like the game (such as it is) and am envious of your steady progress.

EDIT: haha i beat a cubeboy
« Last Edit: December 17, 2021, 06:46:04 pm by Eschar »
Logged

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a game?
« Reply #136 on: December 20, 2021, 12:52:12 am »

The UI is very stylish. So is the Charmonder, but flip his mouth and u get this  :P



Soon this game will be so polished we'll go blind when we look at it!

The key is - no one can tell you don't have any content if it's too polished to look directly at.

PTW.

I like the game (such as it is) and am envious of your steady progress.

EDIT: haha i beat a cubeboy

Thanks, Eschar. "Steady" is a strange word for one month of solid progress then 2 months of no contribution. I appreciate it all the same.

Behold!



It looks cleaner. Let's just give it a run and see how it feels.



The buttons are a bit off - a little different in size each, which sucks. The text log is also too far over. The images will also need to be centered.

A quick jump over to global allows me to just change the file path for these sprites in a few seconds. char.jpg is now scor.png



Well. I probably should have expected something like that. I didn't replace the default sprite, which is still agumon - so didn't notice that they are still flipped. My new sprites are all facing right, so I need to reverse it for the enemy and not for the player (it currently is opposite.)



And boom! That looks much better. The dark blue has to go - as it's a bit too hard to see. And well...



Yeah, the current sprites still need to be replaced.

The lord of darkness, especially, look menacing when half the screen turns black.

King Zultan

  • Bay Watcher
    • View Profile
Re: Can delphonso make a game?
« Reply #137 on: December 20, 2021, 03:12:29 am »

I see sun drop in a bottle has been added, also my image has been replaced with a new one but it only has one head, does that mean if it evolves it will obtain the other two?
Logged
The Lawyer opens a briefcase. It's full of lemons, the justice fruit only lawyers may touch.
Make sure not to step on any errant blood stains before we find our LIFE EXTINGUSHER.
but anyway, if you'll excuse me, I need to commit sebbaku.
Quote from: Leodanny
Can I have the sword when you’re done?

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a game?
« Reply #138 on: December 21, 2021, 12:00:55 am »

I see sun drop in a bottle has been added, also my image has been replaced with a new one but it only has one head, does that mean if it evolves it will obtain the other two?

More heads is in the sequel.
(I tried to redraw it with more heads, but with my 100x100 pixels, it just is too crowded to clearly pull off. Instead, I gave you a fancy crown. I also made a monstrosity of Quaksna's beautiful artwork...)

To work!

I spent a bit of time finishing off the necessary sprites - if you can call them that. Half of them I like, half I think look bad - but hey - there's only 10 days left in the month, so let's just fucking move on, shall we?

I drop all the sprites into the assets folder and delete the old ones we had lying around from before. Farewell Agumon, fat Pikachu, Knuckles in a hotdog, King Zultan Official, and Quaksna's self-portrait! You'll be much missed!

I go in and change the names of many of the mons, as well as all the art paths, in the global.



With all that, we should be good to go! Let's test it out!



Well fuck.

~*~  Welcome to the update about bug-fixing.  ~*~

We got an error about loading the gameshop scene. There are 10 errors logged - let's check them out to figure out the problem.



These are all normal errors about unused or unformatted resources in the code. That stuff's been there the whole time and is not worth worrying about.



Below that are the real issues. The game is trying to find the cactus sprite which I deleted. Since I replaced that in the globals, I didn't expect to see any call for it. A quick ctrl+f suggests that there is no such reference in any of my code. That means it must be in the scene somewhere.



Errors are often hard to understand, but you can see here there's an issue in the C++ (which is what godot is written in, and suggests it's an issue in the editor, not your code) You might be able to parse it's trying to load a resource somewhere in the gameshop scene and can't find it.



And yes - here's the issue! I was sure that I had connected the sprites which appear in front of the cubeboys to their teams - but apparently I was lazy and just dropped a sprite directly into the editor. Those sprites are gone, and rather than load nothing, the game hung there and produced the error. I want to rework this whole room because I think it's quite bad. For now, let's put some new sprites in there.



That'll do it.



This is a motivational poster.
Let's try out combat with our new sprites!



Oh fuck off!

So here is the same issue:



delphonso you lazy shit, why'd you leave all this work for me to deal with. Easy enough fix - I had put in a placeholder sprite for the battle scene so I could easily apply adjustments scale and horizontal flip to them - unfortunately the placeholders were just deleted. We'll need a new placeholder sprite and preferably one of the correct size.



Waste not, want not.

And now - everything should work...right?



Looks good to me!

I go back and apply a few more changes to the global - including some new names and move names.



The text needs new colors as well - easy enough to fix.



And from here on out, I only want to make the "gameshop" not look terrible and maybe put together a cheap menu to swap out your mons.
I'll also put some indication of at least name and health near each 'mon in the battlescene.
« Last Edit: December 21, 2021, 12:07:19 am by delphonso »
Logged

Quaksna

  • Bay Watcher
  • Dreams of creating a great work of art.
    • View Profile
Re: Can delphonso make a game?
« Reply #139 on: December 21, 2021, 12:18:45 am »

What are you talking about, your sprites are awesome. I died when I saw those cans  :P

Also I like the way you write these updates, very amusing indeed.

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a game?
« Reply #140 on: December 21, 2021, 01:08:34 am »

What are you talking about, your sprites are awesome. I died when I saw those cans  :P

Also I like the way you write these updates, very amusing indeed.

There are four people behind me in the office who can see my computer. I often wonder if they look over and just see me making terrible puns over here.
Thanks, there is really some intangible benefit to taking a break from coding/working on this game to typing out what I just did and what I plan to do. It's been fun for me as well.


Progress!



I made some slight tweaks to the background including two spaces for names. I drop yet another RichTextLabel on each one and enable bbcode. You can see there's some...ugly interpretation of the sprites here - their edges are so rough. I tried reimporting them as pixel art and although they look good in the editor, when in the window during the game they look even more rough... I'll have to figure out the right import settings.



Let's get back to the code: throw those two labels into variables so we can manipulate them easily.



I set it up so that they're always centered - though I might change this to left aligned for player and right aligned for foes. Not sure yet. I might also bold them, if it can handle that many tags. Anyway, we send a color to it through the variables myhp and foehp.



Look.

LOOK -

I KNOW, OKAY?

I know this is a bad conditional. But also - I don't care.

And now, when our 'mons start taking a beating, their HP will reflect it at 66% and 33%:



I'm going to go back and add one more conditional to put it to grey when you hit zero, because this doesn't really convey that well.


Starver

  • Bay Watcher
    • View Profile
Re: Can delphonso make a game?
« Reply #141 on: December 21, 2021, 02:25:17 am »

I know this is a bad conditional. But also - I don't care.
Bearing in mind what I just told you in the PM (that you may not have read yet, in response to a bit in the prior post about progress), you probably don't want my advice on coding.

But:
a) The (appropriate to your script dialect) use of an if (blah > 0.66) { setLime } elsif (blah > 0.33) { setYellow } else { setRed } nesting would look and maybe work nicer, or a case multisplitter maybe, if that exists in your lingo.
b1) Defer it to a function...
myhp = rankHP(player[0].hp , global.playerteam.hp[0])
foehp = rankHP(enemy[0].hp , global.enemyteam.hp[0])

...with the rankHP() doing it how you like, but being agnostic about whose values it is passed.
b2) Or even allow myhp=rankHP("me") to be parsed as an in-function choice (also accepting "enemy", and any other variations you later need) and pick up the relevent values by internal coding (would work with your global.*bstuff, I presume. Not sure if it would have access to player[] and enemy[] as non-globals. Perhaps if it is an explicit childsub (sub entirely defined within the sub you're calling from) whereupon local vars are considered 'global' to anything within).

Whichever way, if it works at all then it would help future-you more than it inconveniences current-you to implement. Trust me.


(Oh look, it's 07:25. I really should get some sleep!)
Logged

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a game?
« Reply #142 on: December 21, 2021, 02:37:48 am »

Yeah, it is particularly egregious in that if the player is at zero health the program will specifically rewrite myhp from green to yellow to red and finally to gray. I considered a custom function, though it's so small, it didn't seem worth it (and gdscript cannot do lambda functions). At the very least, I'll go back and properly make them elifs.

King Zultan

  • Bay Watcher
    • View Profile
Re: Can delphonso make a game?
« Reply #143 on: December 21, 2021, 04:26:31 am »

Seeing that you've replaced the enemy characters with Sprite cans means you must have increased the difficulty dramatically as Sprite is one of the signs that the game has been invaded by MLG PRO gamers and that we are all doomed as we are just noobs compared to them and they shall crush us!

(Shit I just remembered that Mountain Dew was MLG not Sprite, damn it oh well I'm not changing this thing.)
« Last Edit: December 21, 2021, 04:29:27 am by King Zultan »
Logged
The Lawyer opens a briefcase. It's full of lemons, the justice fruit only lawyers may touch.
Make sure not to step on any errant blood stains before we find our LIFE EXTINGUSHER.
but anyway, if you'll excuse me, I need to commit sebbaku.
Quote from: Leodanny
Can I have the sword when you’re done?

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a game?
« Reply #144 on: December 22, 2021, 01:13:14 am »

Seeing that you've replaced the enemy characters with Sprite cans means you must have increased the difficulty dramatically as Sprite is one of the signs that the game has been invaded by MLG PRO gamers and that we are all doomed as we are just noobs compared to them and they shall crush us!

(Shit I just remembered that Mountain Dew was MLG not Sprite, damn it oh well I'm not changing this thing.)

New challenger approaches: dorito dust

-=-=-=-=-=-

Whew. Well. My kindergarten lost a kid on a trip, so...anyway capumon.



It's done.

The yellow errors are all gone.

What else can I quickly add to the game before the rest of the kids wake up and realize one of their friends isn't there, but instead, at a school 2 kilometers away? I know! Music!

Ahh, nice relaxing music.

Previously I posted a link to this bit of music. Sometime between then and now, I took this track and changed some instruments, slowed it down a bit and made a theme for the bar/gameshop. Then, sped it up a bit and made it sound like 4000 bugs. I have both of those lying in a folder from months ago. I'm not satisfied with the tracks, but they'll do for now.

Godot has three nodes called AudioSteamPlayer, AudioStreamPlayer2D, and AudioStreamPlayer3D. The 2D and 3D version give you music/sound which can be positional, while AudioStreamPlayer itself is just for background music or omni-present noise. I add one to all three scenes that need it: main (the opening scene that I still need to change from just a button), battlescene, and dialog (I could do it on the gameshop, but gameshop is sort of packed with nodes, and its child, dialog, is instanced immediately, so it should be a bit more convenient to use).

I use beepbox to make a shitty song just for the menu as a placeholder and drop it in. You can toggle "Playing" in the editor to make sure it sounds right.



This also, generally, tells you how it will act in the rest of the game. Loops are a pain in the ass as the engine doesn't automatically loop a track (unless you preconfigure it to when you compile it to a .wav) It also uses the obscure unit "samples" for where to determine loops. I don't know enough about audio to handle that, just like I don't know how to handle 20 children on a field trip without losing one.

At this point I would like to discuss the Godot editor. Running it on Raspberry Pi is clearly possible - however, at a certain point in the project, there's just too many elements for a little Raspberry Pi to handle. The editor keeps getting slower and slower - so bad, in fact, that when trying to import tracks, it took several tries because it couldn't catch double-clicks... If I hadn't already decided to be done at the end of December with this, there'd be a point when I'd need to move it to a different computer. It's just too much to handle.

Audio (either by fault of the overwhelmed editor, the overwhelmed RAM, or Manjaro itself [audio issues are frequently reported, apparently]) is choppy and impossible to tell if it sounds good at all. Sort like listening to it through headphones with a loose connections - popping and cutting in and out. I'll have to move to a laptop to even make a new track and make sure it sounds okay.

Anyway, I add some commands in the code to start and stop playing whenever their scene is loaded and just before it is unloaded. This immediately doesn't work and as soon as you press the button to start the game, you get the bar music and the menu music at the same time - luckily, starting combat breaks all the audioplayers and music stops. Jesus fucking christ. I run into this literally every time I try and add music to a game.

I really should...write down exactly what I do to get it to work...

You know.

Like on a public forum or something so I can look back on it any time.

That'd be a good idea.



The "Playing" checkbox is a real pain in the ass, though - as it also doesn't loop and will maintain its 'position' in the song no matter how many times you toggle it. Here you see the music is playing (option to pause is present), but as it is past the 12 seconds of the song, it just sits there doing nothing. I spent about 10 minutes trying to figure out why it wasn't starting before I realized it was a loop issue. I searched all over for the right options - just like all the teachers searched all over for that missing kid.

I've put all the audio in its right place and will either need to learn what samples are or recompile the music as looping in .wav format. I will actually probably spend some time making new tracks instead because I enjoy doing that, and I don't think these are particularly good anyway.

Work continues!!

-=-=-=-=

(The kid is found and fine, by the way. The whole school went to a primary school we have a connection with to use their stage for practicing New Years performances that the kids are doing. Three classes per bus - I guess someone miscounted heads at some point and...well left without their entire class. The kid must have wandered off into the greater school while his classmates were lining up. Luckily it's right down the road, so it was a quick trip for his teacher to drive over and recover him.)

King Zultan

  • Bay Watcher
    • View Profile
Re: Can delphonso make a game?
« Reply #145 on: December 22, 2021, 02:35:08 am »

At least they found the kid.

Also what's so bad about all the songs playing all at once?
Logged
The Lawyer opens a briefcase. It's full of lemons, the justice fruit only lawyers may touch.
Make sure not to step on any errant blood stains before we find our LIFE EXTINGUSHER.
but anyway, if you'll excuse me, I need to commit sebbaku.
Quote from: Leodanny
Can I have the sword when you’re done?

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a game?
« Reply #146 on: December 23, 2021, 01:09:42 am »

At least they found the kid.

Also what's so bad about all the songs playing all at once?

I do know how to fix it, after thinking about it later that afternoon. I think a more skilled musician could write something that would actually make it quite pleasant to add layers of music while entering further and further into a game - that is, however, not me.

Busy day today, so not enough time to work on this. Instead, I'll play a hole of code golf instead.

-=-=-=-=-
Recap and final steps:

Since picking the project back up I fixed the biggest of all bugs: the guaranteed death from pressing too many buttons when combat starts. Potentially, you could still fuck the game up by swapping mons frequently and quickly during combat, but the worst result of that would just be spreading out damage a bit more. It's a free action to switch anyway, so I don't know what huge benefits you could get from that. Collision was also fixed.

All the mon portraits have been replaced. These were low-effort sprites and are just black outlines. If I was making this game more seriously and less rushed, I'd opt for at least 3 colors per mon and a layer of shading. I like the 100x100 size, though - and the general rough pixelated style they ended up being. Higher effort still would be to make slightly larger sprites than the original Digimon toys. I'd also like at least one extra frame of animation - so they can move when they attack. Or a third one for being hit.

Battlescene background is replaced and I now have a color scheme for all menus. This is fine, I'm satisfied with how it turned out. Again, a higher-effort alternative would be to make it out of several transparent elements and have those elements slide into place when combat starts. That'd give it more punch. Most important is the color scheme, as I'll need to toss together a team-management screen soon too, plus the main menu, these should be pretty quick.

Music was...not implemented, but probably will be when I have 10 minutes to work on this again.

Things to do and then be done:
Music (either new tracks or fix the monstrosity I made now)
Gameshop improvement. The cube boys suck and it looks like shit in there. It is also sluggish as all hell to try to edit that scene. This will be a frustrating and slow affair.
Menu beautification
Team management - at this point, I will probably abandon the gachapon machine and just give the player access to as many mons as they want. It'll be too much work otherwise, I think.
Compile for everyone and put it up before New Years.

Wish me luck!

King Zultan

  • Bay Watcher
    • View Profile
Re: Can delphonso make a game?
« Reply #147 on: December 23, 2021, 04:32:34 am »

What made you decide to finish before the end of the year?

Logged
The Lawyer opens a briefcase. It's full of lemons, the justice fruit only lawyers may touch.
Make sure not to step on any errant blood stains before we find our LIFE EXTINGUSHER.
but anyway, if you'll excuse me, I need to commit sebbaku.
Quote from: Leodanny
Can I have the sword when you’re done?

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Can delphonso make a game?
« Reply #148 on: December 24, 2021, 01:07:50 am »

What made you decide to finish before the end of the year?

Jan 10th I finish my contract here and begin moving my family across the country. I also need to do a visa transfer during that and also visit my wife's family in another province - which means at least 3 flights with a one year old - plus when you update a visa you turn your passport over to the government for a week or two - all during the single-most-traveled holiday on planet Earth in the middle of a pandemic with increasing virulence.

It's gonna be stressful.

I think if I don't finish before then, I'll probably take another month or two off and I don't really want to work on this again at that point. Better to complete it than put it on eternal hiatus or to abandon the project unfinished in any form. At least now it'll be "done" and I can move on to another one when things settle down a bit.

-=-=-=-=-=-=-

Speaking of finishing the project: lets blast some problems!

Music:



As you can see - a song is loaded and it is set to begin playing. The visualizer at the bottom shows that it is specifically NOT playing.

This is because Manjaro is a real mother fucker sometimes. (I'm overwhelmingly satisfied with my OS, but apparently this is the limits of it.)
Manjaro has audio bugs, as previously mentioned.
Up to this point, I've always experienced those bugs as popping in audio.
APPARENTLY that can also appear in a complete collapse of audio drivers.
Not only does no music play in Godot - no music would play in VLC, web, or anywhere. And it looks completely identical to when there's something wrong with looping music.

A restart fixed it for a time, but eventually it cut out again (terrifying me greatly)
So...

Anyway music is finished.

Here's how it works. Let's take a stroll over to our good friend, the global.



Rather than struggle with passing instructions through the scene tree or asking multiple audioplayers to open and close, this is a much simpler solution.



When the game starts, the singleton ("global") gives itself an audioplayer and names it "music".
Then we make a custom function named "play()" and give it an argument named path.



Quite simply, when a scene is loaded, it tells the global to load a song into its stream - which will interrupt the last song and start a new one. Easy-peasy.



At the beginning of every scene that should have music, I tell the global to load the correct song and play it - and since all the scenes are killed and opened by the global as well, this has no problems so far - works easy as can be.

Music = blasted
(will probably recompose tomorrow and upload the new music and test on a different machine in case there is something wrong that I can't detect because of Manjaro on Pi's music issues.)

The Machine:

I go into the gameshop scene and shuffle the cube boys around a little - add a bar, dead tavern keeper, and a "machine" - which is just an archery tower shrunk down significantly.

I put a light source on top of it to 1 - get the attention of the player and 2 - for Zultan's sake. I decided I wanted the object to blink.

My code looked something like this:

Code: [Select]
func _physics_process(delta):
  var L = true
  var timer = 0
  timer += delta
  print(timer)
  if timer > 10 and L:
      light.hide()
      timer = 0
      L = false
   if timer > 10 and !L:
      light.show()
      timer = 0
      L = true

You may realize the mistake I made.

If not, don't feel bad, because I didn't for at least 10 minutes.

Here's a hint: this is what print(timer) would show:


The reason this didn't work is simple - I declared the variables inside the process - meaning about 60/second, timer was being re-written to 0 and L was being re-written to true. Anyway, moving the variables outside the function makes this work and it's a lot simpler and more reliable than the previous timer method I was using (the whole yield, timer, etc). Although if the whole game was in process, that might be preferable still.



I tweaked the check value a few times until I was satisfied with its blinkiness - this is also when the audio drivers collapsed again, which was honestly a god-send because the music was driving me nuts.


The Cubeboys:

I gave the cubeboys a new sprite instead of a copy-righted Sprite. Now they have a sort of MMO-style talk icon above them. It's pretty hard to see, because our character feels like they're about 1 meter tall. I'll fix that in a moment.

First, the cubeboys don't have collision, so you can literally walk though them. And although they already look like blocky ghosts - I'd prefer if they didn't behave like it.

The issue behind this is the same as the issue behind the walls - they were set to be Areas instead of StaticBodies. However, in the case of cubeboys - I don't want them to be totally static. They have one layer of collision which passes arguments of their teams to battlescene. Instead, I decided to keep them as an Area, with the large collision for talking, then gave them a staticbody, which has its own collision - so that you can't walk through them.

Here's what it looks like:



It's possible to do the same with masks and layers, and also to do it with code, but this took like...10 seconds, so for our purposes it's a superior solution.


The Machine - More:



The machine takes a very similar approach - one layer to block you from walking through them and another that will pass arguments to the dialog screen (to open something like a menu that'll allow you to change up your team. (accidentally cut off the second collision box in that screenshot, but it's under the staticbody).

I also added a bar countertop and made our character about 50% taller. Fun-fact, originally I had tilted the collision box, which is a cylinder. Which allowed our character to walk through the back of the machine a few times and push themselves through the floor. Love that bug.

I connected up the signals and wrote a bit of code - if everything is working, when you press any of the 'talk' buttons near the machine, it will print a message to the terminal. Here's hoping everything is tied up right.



All that's left is to design an interface to modify your team and to get that communicating to the global - I have a conceptualization of how to do this, so it might be easy enough to just...do it. Wish me luck!

-=-=-=-=-=-

Also, I opened the dialog scene for the first time in ages and forgot that I wrote this there:



Past delphonso really set a trap for me - christ - fuck you, buddy.
« Last Edit: December 24, 2021, 01:11:47 am by delphonso »
Logged

King Zultan

  • Bay Watcher
    • View Profile
Re: Can delphonso make a game?
« Reply #149 on: December 24, 2021, 03:53:55 am »

Does that mean your gonna add more critters to the game?
Logged
The Lawyer opens a briefcase. It's full of lemons, the justice fruit only lawyers may touch.
Make sure not to step on any errant blood stains before we find our LIFE EXTINGUSHER.
but anyway, if you'll excuse me, I need to commit sebbaku.
Quote from: Leodanny
Can I have the sword when you’re done?
Pages: 1 ... 8 9 [10] 11 12 ... 31