Re: A little bug that I'm having problems with it. game coded in BGT.

2021-01-05 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: A little bug that I'm having problems with it. game coded in BGT.

Things which come to mind:- How is your map loaded / the character placed? When you load the saved file, when does the game perform these actions?- Have you confirmed that the data is being saved and loaded correctly, and that the correct information is included?- Is there something else that was done before loading, which results in conflict? Afterward?When debugging this sort of thing, one must understand all the necessary parts, so as to investigate them for problems. When I find a problem in which I cannot easily find what's missing, I'll log debug messages for each step of the process, including any relevant variables, and that usually leads somewhere helpful.For example, you can have the program report the major variables before and after loading, and compare. You can log every step of the load, map creation, character placement, and starting game-play processes, to find which one does not happen, or happens at the wrong time, or happens with the wrong parameters.

URL: https://forum.audiogames.net/post/604418/#p604418




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: letting pygame accept key presses regardless of the keybored language?

2020-12-26 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: letting pygame accept key presses regardless of the keybored language?

Pygame uses events for keys being pressed or released. Lucia catches these and tracks them so you can use BGT's polling functions. That means that Lucia either tracks the state of arbitrary keys, or it only tracks the defined keycodes.I'd ignore it entirely and use the events directly, but Lucia probably clears the event queue when updating.The events give the keycode, which does not necessarily have to correspond to any particular defined constant. I'm not sure of a better way to identify which key is being pressed than with a configuration routine, though. I suppose the upside would be that it means the controls can be configured however the player wants?

URL: https://forum.audiogames.net/post/602320/#p602320




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: letting pygame accept key presses regardless of the keybored language?

2020-12-26 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: letting pygame accept key presses regardless of the keybored language?

Do you still get a key code, or does it just not fire an event at all?

URL: https://forum.audiogames.net/post/602065/#p602065




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: bgt is a virus?

2020-11-30 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: bgt is a virus?

@18: There was some drama over NVDA remote early on, in which people made noise about it being a hacking risk ... because they published their passwords and dared people to hack them, or something similarly stupid. I wouldn't be surprised if this resulted in someone reporting it.

URL: https://forum.audiogames.net/post/594362/#p594362




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: bgt is a virus?

2020-11-30 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: bgt is a virus?

When games are compiled with BGT, the compiler selectively includes/excludes modules based on usage, to cut down on wasted filespace. It's possible that this results in enough differences that some files get through while others do not, but I doubt it.I filed a review request on the Swamp Map Editor, and the result was "OK, we reviewed it. It contains a virus, but you can download it as the owner. 'K that's the final ruling bye!". Which tells me that the manual review is just the same scan that is normally done, but an actual person clicks scan and sends the results. So blah I can't even anymore.

URL: https://forum.audiogames.net/post/594094/#p594094




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: what's the best language for audiogames(not python)

2020-11-27 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: what's the best language for audiogames(not python)

To clerify: BGT does keep loaded sounds in memory, and new sound objects trying to access the same file just get pointed to the cached data. It's not the sound_pool object (which itself underwent optimizations, which I know because I was talking to Philip about it while he was working on it), but somewhere under the hood with the sound object and whatever it uses.So just porting the sound_pool directly would not port the caching.

URL: https://forum.audiogames.net/post/593440/#p593440




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: A Collision Tutorial and some important points

2020-11-26 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: A Collision Tutorial and some important points

I feel like I should look at the tutorial before replying, but I also feel like the conclusion of the OP warrants emphatic agreement. So *emphatically agrees*.

URL: https://forum.audiogames.net/post/593137/#p593137




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Splitting up pathfinding

2020-11-26 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Splitting up pathfinding

Is there a reason that tracking the player's movements since the last pathfinding sequence started not a good solution? I haven't studied the subject; might be committing some n00bish mistake. It wouldn't be the shortest path if the player does something clever, but it'd prevent the enemy getting completely lost just by taking a couple steps, and it'd reduce overhead, wouldn't it?

URL: https://forum.audiogames.net/post/592956/#p592956




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: how is numpy exactly faster than standered lists

2020-11-21 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: how is numpy exactly faster than standered lists

If you're looping through several hundred objects every frame for a game, it might be worth considering some design changes, or optimizations that don't require such loops.The example I come back to—entirely to illustrate the point, not to imply it's best for everything—is scenegraphs and similar datastructures. Where game objects are not organized into lists, but rather, into hierarchical structures based on their relationships to other objects. If you have, say, Swamp's multi1 map, with 200 zombies, and 15 or so buildings, and up to 100 players... you could list every single zombie and player in a single list, and check every zombie against every player, in every frame. Or, you could organize them based on what zone they're in, so that you don't have reason to check a zombie at the Kai Mart against a player at the Factory. Just check all zombies who could plausibly interact with the factory.Alternatively, update the first n objects in one frame, and the next n objects in the next, and alternate such that you never go over a maximum. This can be more complicated, in some ways, but a couple different takes on this made ECTAS much more efficient, even with a couple dozen enemies and comparable numbers of projectiles. Ex, I updated enemies who were far from the camera every other frame, rather than every frame, and just told them that twice as much time had passed,. AI priority varies depending on the enemy (bosses run more often than random crooks), but the simplest way is to just run AI for whichever enemy whose index in the list matches frame%list.length. Or some other "every x frames" model with constants for bosses and harder enemies. As a bonus, this makes it less likely that sounds will play at the same time when it would be confusing.I don't remember fixing this in JLA, so if that ever feels laggy in cluttered levels, that's probably why.

URL: https://forum.audiogames.net/post/591583/#p591583




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: some help needed with python

2020-11-15 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: some help needed with python

Double your \ so they're escaped, and use os.path.normpath to make sure it's formatted correctly.With pygame, I get confused about when you should use pygame.mixer.init, and when you should use pygame.mixer.pre_init. You do one when you use the rest of pygame, and the other when you use mixer by itself. If you're not using any of pygame, you might not need to call pygame.init.Looking quickly at an example that I know works, I think this is your problem. Either drop pygame.init, or drop pygame.mixer.init, and instead put pygame.mixer.pre_init above pygame.init.

URL: https://forum.audiogames.net/post/589958/#p589958




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: The Spider Simulator - Communication thread

2020-11-09 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: The Spider Simulator - Communication thread

Wait, what did I miss? Does this have its own thread, or did it pop up in the ideas thread, or que?But this sounds wonderful, and there are lots and lots of things you could try to add eventually (just look at Tierzoo's spider tier list, which is barely a start).Could go for something where you have to run around and find a good spot to build, and rebuild if weather or other creatures ruin it. Could go for surviving, escaping, hiding, hunting, ... maybe pull some Crab Spider stealth shenanigans. ... Oh, actually, given the controls, maybe that spider that builds a scarecrow puppet could work?

URL: https://forum.audiogames.net/post/588237/#p588237




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


How not to make an Indie Game

2020-11-04 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


How not to make an Indie Game

Video:https://m.youtube.com/watch?v=NnI_1DOYt2A(Not sure if this goes here, or in general, or in OT, or where. Move as needed?)TLDW: He spent years working on this game, but could not get it to be fun or intuitive. In the end, he scrapped it and started fresh.The key insight is to have not a wishlist of features, but a unifying concept, the twist that makes it unique, and there was something about a "hook" but it started blurring together in my head by that point.In practice (rather than a bunch of inspiring-sounding words that might not stick), the idea was not to focus on the end goal right away, but to instead get a solid prototype. Get people to test the prototype. Only when the prototype proves sufficiently enjoyable should you move on to content, new features, etc.Since I guess I'm leaning into my narcissistic ramblings, I'll analyze my experience through this lens. So if you don't want to hear more crap about the JFIMA and Redsword, now's where you press h / flick down. So I'm thinking about two subjects: how my games came about, and which ones I find myself coming back to most.Originally, DLE was supposed to be a somewhat complex card-game with a weird travel system. I kept getting stuck, when someone suggested the much simpler concept of just escaping the Dark Legion. And I'd just made a text-based randomized dungeon-crawler, so I threw those into a blender, and almost immediately got something that seemed to work. Something about it still feels prototype-ish, especially before the intros and storyline content and skills and whatnaut got added. But why this rather bizarre mess outperformed everything else ... probably comes down to that origin.The other concept that kinda fits the mold of "prototype that seemed fun enough to work with" is the fighting system in ... all the 2d console games, other than Mario if you somehow have the version that had Mario in it. Because it actually was prototyped, with me just making the engine and testing a variety of characters, and eventually it just demanded games in which to use them properly. It lacked that fundamental "testing with an audience other than the 10-year-old who heard the voice clips and thought it sounded interesting" part, and it was the first time I'd successfully gotten a realtime fighting system to work and I hadn't quite worked out balance and comprehensibility issues. I found that the more a character played like an actual fighting game character, the more fun they were to use, but a lot of good that wound up doing. I have hard drives littered with the bones of incomplete projects, some of which are playable. Which do I come back to most? IDK. I should probably have been tracking this. . It's not DBGU, botheringly. Somehow I am always bored with it long before reaching the Castle of the Mists, and that level is long and tedious and when I recorded a playthrough, I wound up finding a glitch that made it possible to get into locked rooms and exploited it out of shere exhaustion. It isn't Redsword, which I only just realized and find interesting. And in Redsword, I find that when I do replay it, I tend to like the third (puzzly traps), fourth (water) levels, and the penultimate level but only after the second door (the first bit, with the Gold Guardian, is nowhere near as fun as the puzzle bosses that follow, and I still don't even know how well the giant robot rematch works because I so consistently cheat past it). So clearly, this game needed fewer platform hells, and more puzzle bosses.How about the JFIMA, since I won't shut up about it even though it was just a proof of concept in the first place? ... Sorta-kinda-not really? I think I mostly come back to it for lack of any better options (unless you can name another accessible 3d action/adventure/platformer for PC or iOS). But making anything better is apparently beyond my ability without medical intervention.And yet, back in the summer, I got bored and threw together a capture-the-flag game, using the JFIMA engine, with basically every single JF character I'd made included in some form or other (currently has like 130 playable characters). And in spite of the AI being really, really bad, and there being lots of chaotic noise, I still find that I am hooked. It's only been a few months, though; maybe it will ware off? It's frustrating in a way, because I know it would not be well-received, but I can tell it could be if the engine were more intuitive and the sound less obnoxious and the AI less stupid. ... Oh, and the maps. It has several maps, but I find myself only using maybe half of those. ... In fact, I'll probably just do that for the rest of the morning after I take out the trash.I still come back to ECTAS, but mostly only replay certain levels (the prologue, episodes 1, 2, 4, 10 and 13, and to a lesser extent 5-7). If you've played these (hi, all two of you), you might have noticed that these levels don't have so much in common. They include all 

Re: python users please save me

2020-11-02 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: python users please save me

Pygame uses imageio, doesn't it? I'd've gone with the same as 6, on the grounds that 1 was rather nonspecific about what all will be needed when, so I'd just load the whole thing and be done with it. That said, I had no idea they'd dropped jpg support.  ... Why did they do that? That's weird. I wasn't aware that jpg was the XP of image formats, or whatever.

URL: https://forum.audiogames.net/post/585799/#p585799




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: why are developers moving towards python?

2020-10-31 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: why are developers moving towards python?

Having tried both Java and Python, Python is just better for games. Java comes with better geometry than you can get from Pygame, and better 2d graphics, and both have extensive 3rd party libraries... But the things you have to do to get good and distributable games from Java are more troublesome (particularly for the end user) than the equivalents for Python. In addition, programming with Python is much easier, and your packages and exception handling, etc, are not overly elaborate series of needlessly verbose class and package names with two lines of content that could have fit into a couple Python functions.That said, Java does have several features that I prefer, and I do like me some free java.awt.geom (or whatever they replaced perfectly functional stuff with since I abandoned it for BGT and Python). But Java's whole "it's cross-platform!" selling point fails in practice, and speed is irrelevant for all but the edgiest of edge cases. Are we doing complex real-time 3d rendering, particle effects, simulations, or giant servers with absurd numbers of operations per second? If not, we don't need to worry about the speed differences among programming languages.One speed-relevant application for audio games would be 3d audio, and you'll find that 3d audio libs are in C++ and called through dlls anyway, rendering the high-level language calling them moot.

URL: https://forum.audiogames.net/post/584947/#p584947




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: why are developers moving towards python?

2020-10-31 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: why are developers moving towards python?

Having tried both Java and Python, Python is just better for games. Java comes with better geometry than you can get from Pygame, and better 2d graphics, and both have extensive 3rd party libraries... But the things you have to do to get good and distributable games from Java are more troublesome (particularly for the end user) than the equivalents for Python. In addition, programming with Python is much easier, and your packages and exception handling, etc, are not overly elaborate series of needlessly verbose class and package names with two lines of content that could have fit into a couple Python functions.That said, Java does have several features that I prefer, and I do like me some free java.awt.geom (or whatever they replaced perfectly functional stuff with since I abandoned it for BGT and Python). But Java's whole "it's cross-platform!" selling point fails in practice, and speed is irrelevant for all but the edgiest of edge cases. Are we doing complex real-time 3d rendering, particle effects, simulations, or giant servers with absurd numbers of operations per second? If not, we don't need to worry about the speed differences among programming languages.

URL: https://forum.audiogames.net/post/584947/#p584947




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Looking for light graphics design work

2020-10-13 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Looking for light graphics design work

I'd just use pygame.draw. Text can be a pest because of the need to get it to fit into a rectangle, when iirc pygame does not have a drawStringRect that automatically wraps.I have no idea how to handle icons, though. ... Or to draw asteroids, now that I think about it. Those are usually textury in a way I don't understand. And textures in pygame are more trouble than they're worth.Having said all that ... I have no idea how much the Store cares about the specifics of these graphics, so just going pygame.draw.render("TITLE", bounds) / pygame.image.save("logo.png") might not be enough.

URL: https://forum.audiogames.net/post/580006/#p580006




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: why do most people choose python?

2020-10-08 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: why do most people choose python?

Network effects are really strong around here. Someone pointed out how easy it is to get started with Python, a couple of people tried it, and it went from there. I mean, why did BGT catch on in the first place? Because it's the one that got promoted, picked up by a couple of people, ellipsis, et voici.Like, why is Team Talk so popular here? I think I've heard it mentioned once outside of this community, and I might be misremembering that. Why is this forum more popular than the subreddit or the Facebook group? Why are successful audio game designs so derivative and simplistic?... maybe I used the term "network effect" incorrectly. 

URL: https://forum.audiogames.net/post/578416/#p578416




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Bitwise operators?

2020-10-02 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Bitwise operators?

So programming languages are moving away from the logical operators and toward the English words and / or, fwict. The only loss from this (other than some disk space) is how the operators correspond to their bitwise counterparts.Both & and && are doing the same thing, in terms of how they go from input to output. && is for booleans, and & is for sequences of bits, but both return True / 1 if and only if both operands are True / 1, False / 0 otherwise.Same with || and |. Both return True / 1 if either operand is True / 1, only False / 0 if neither is True.And really, True and False are just special cases of 1 and 0. They just plain were 1 and 0, back in the day.So = is to == as & is to &&, as | is to ||, as ! is to ~, and in theory ^ and ^^ but I'm not sure if anyone lets you use ^^ for logical xor.Basically, for every combination of inputs, there's an operator that returns True / 1. Except False and False / 0 and 0, but there is a logic gate for that in your CPU and you can just say not and (aka nand) for that, if you really need it. (I actually use x&~y quite a bit, just to turn off specific bits, but I don't think that uses nand under the hood? Well, OK, there's a proof that you can use nands to get all the other operations, so anything could be using nand under the hood, but I digress.).I I suppose you use the logical operators when you need a boolean. You use the bitwise operators when you want a number. The key thing is understanding how numbers are sequences of booleans. If you think of an int as something like an array of bits, it makes more sense.And like Camlorn said, the ability to work with binary / hexadecimal is essential to this. 1&2 == 0, because 1 and 2 have no bits in common. 1&3 == 1, because they only have the 1 bit in common. And 1|2 == 3, just like 1|3, because the 1 and 2 bits are there in both cases, but no others.The thing that threw me was realizing that we have a bitwise xor, but no one ever teaches logical xor. Then I discovered that Python does not have a logical xor, but angelscript does, and xor is really useful for side-scrollers. Ah, well. What's a little extra code? That's how everything works, isn't it?

URL: https://forum.audiogames.net/post/576288/#p576288




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Why do people still use bgt?

2020-09-18 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Why do people still use bgt?

... Yeah, that's not a bad summary. I'd say that style is why I could never continue accessifying Sonic.

URL: https://forum.audiogames.net/post/572016/#p572016




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: creating doors for a 2d map

2020-09-16 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: creating doors for a 2d map

I think the softening was reduced a few versions back, which makes it much less noticeable. I'm not sure why this was done; I think users asked for it? In older versions, it was good enough that you could tell when you walked past an opening very easily, even if the sound source was several tiles back on the other side of the parallel wall. It was actually impressive as audio games went.

URL: https://forum.audiogames.net/post/571276/#p571276




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: creating doors for a 2d map

2020-09-16 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: creating doors for a 2d map

It depends how your maps are formatted. You could just do what Swamp does, or something like it, and soften sounds based on how much solid stuff is between the source and the listener.And, well, it depends how your maps are formatted, and what is loaded when you load maps. Anecdotally, I have done really small, single-room maps, and also maps with multiple buildings, all in the same game. This has had questionable results at times (the page-turning in the Herendelly is way too loud if you can hear it from outside the building!), but those are generally minimizable. Pathfinding is slow, however, so if you have lots of sounds, AI, etc happening every frame, you're going to have issues.In the end, there really isn't a one size fits all answer. If making single-room maps is more costly than all the costs associated with having multiple rooms in a single map, then have multiple rooms in a single map. Contrariwise, break them up.

URL: https://forum.audiogames.net/post/571179/#p571179




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Anyone still have bgt2py?

2020-09-09 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Anyone still have bgt2py?

It should be in here somewhere:https://www.sendspace.com/file/1tm5yqSupposedly it tries to handle indentation and block formatting, find/replace some things, and I don't remember if I ever got cleaning up parenthesized handles working or not. It's kinda incomplete even by its rather low standards, iirc.

URL: https://forum.audiogames.net/post/568826/#p568826




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: How to avoid messy state machines?

2020-09-07 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: How to avoid messy state machines?

For menus, I generally do resort to switches within switches. You can use callbacks to get around this, but tbf it feels like a somantic difference more than anything, given how switches are supposed to work. (I suppose it is more efficient in Python, and probably _javascript_.)It requires writing a function for every unique menu event, and assigning each function to the corresponding menu item. This is more efficient with redundant menu items.It seems like a stylistic difference to me without redundant menu items, but I don't write style guides.I'm not sure what the point of a state machine menu would be. My menus are lists of menu items, with an optional reference to a parent menu and maybe some other properties. Again, though, I'm primarily using these for games, so I can mostly just set menu items to either do something when activated, or to have an adjustable value, and the value is linked to whatever setting gets adjusted, or the former case returns what "screen" to go to next. Unique actions are rare enough that a callback would be more trouble than an if check for the special case. If you have nothing but unique actions, then callbacks are better.

URL: https://forum.audiogames.net/post/567968/#p567968




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: How to avoid messy state machines?

2020-09-06 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: How to avoid messy state machines?

I have no idea how well this generalizes, since my primary use of state machines is fighting games and things derived from similar gameplay, but I create a class defining a move, then use a HashMap / dictionary / whatever the cool kids call hash-based tree structures these days. I can then write generic code for handling moves, and only need the big switch or if-else chains for a small number of special cases (and those are very rare).Doing this for the specific application you're working on, or coming up with a generalizable version, might not be the best solution, though.

URL: https://forum.audiogames.net/post/567667/#p567667




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: help with walls (python) please?

2020-08-22 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: help with walls (python) please?

That "if x in range(min, max)" thing is kinda brilliant. Yes, it is woefully inefficient and you should use "if x>min and xSince I'd generally be using Pygame for something or other, I'd generally use pygame.rect for 2d collision. Unless I really need more complex geometry, which isn't generally necessary. I'm not sure how optimized Pygame.rect is, but it is pretty convenient if you're only needing integer precision.

URL: https://forum.audiogames.net/post/563683/#p563683




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Why do people still use bgt?

2020-08-22 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Why do people still use bgt?

Yeah it's mostly just "BGT sound just works and I don't need to do anything extra to my sound files to get started." Also compiling to exe in two keystrokes / one CLI command. The only other time I got "it just works" sound was _javascript_ in IE6, which forced you to load everything at the very beginning and often broke the whole game if something went wrong oar load and good luck doing anything about it.Thanks to a very readable example with Java sound, I was able to get a decent enough wrapper with mostly the same functionality from IE6. Then I eventually tracked down how to expand the available file formats, and to sort through the mixers for the desired features. Then I switched computers and the only available mixer to Java did not support stereo panning. So BGT or Python it was, and everything I could find in Python was either overly limited, unreliable, or too much of a headache to be worth the trouble of switching.So yay Lucia, I guess.I'm not sure what the under-the-hood reason is for why sound engines are so ... *points up* that. It makes more sense if you read the history backward. We went from confusing highly limited but 3D™ software solutions with perplexing licenses and loads of setup / unintuitive structures, to BGT being allowed by antiviruses, to Java having a more extensible solution, to Microsoft having a convenient set of libraries and utilities and supporting hardware solutions for all the formats and effects. It's like ... the history of NASA, or something.

URL: https://forum.audiogames.net/post/563582/#p563582




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Why do people still use bgt?

2020-08-20 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Why do people still use bgt?

First page seemed pretty thorough, imo.I suppose I have no good reason to not use BGT, since I just suck at making games worth sharing, so there's no incentive. It's not caused by BGT; I did _javascript_ in the IE6 days, and Java. I ported my games from Java / _javascript_ to BGT because of redistribution troubles. Ironic that now BGT has distribution issues.Although, ten freakin' years have passed, so I guess I've somehow been on BGT longer than I'd done the others when it came out. But to be fair, the past decade was so uneventful, that it was more of a montage of montages. Other than 2016.

URL: https://forum.audiogames.net/post/563172/#p563172




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: string_contains in python?

2020-08-19 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: string_contains in python?

While we're asking technically-googlable-but-hard-to-clarify questions... what's up with _javascript_ arrays / dicts? I've found that trying to replace "new Array" in my games made when literally all the tutorials and examples said to use "new Array" with either seems to fail. I mostly just want those to work again with minimum modification.I say this here because Googling it gives confusing and useless information (mostly just "new Array is bad, because XYZ" rants). ... About like anything JS related post HTML5, really.I can easily imagine the way that Python "in" works being sufficiently different from what one understands that some clarification might be necessary, though I have not tried Googling it to check. And what one Googles might vary if string_contains is all that one knows.(Random observation: BGT / Angelscript has the "xor" keyword, and Python does not, unless it was added since I last checked. That seems weird, somehow. I've found xor useful in 2d games in particular, especially for things like "is a facing b?" (if (a.faceright xor b.x(But no for real why is it so hard to figure out how to replace "new Array"? You'd think however basic arrays or dicts work these days should cover it. But I have that mystery game (where arrays make more sense for NPC information, and dicts for reviewing information), and Jeqo Legends (where things get weird because there are numeric index arrays for in-game team-members, but string-indexing for character information, and guh why did it take me longer to learn OOP than to start releasing games? And why can't I work that fast anymore?)

URL: https://forum.audiogames.net/post/562903/#p562903




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Multiple State Menus?

2020-08-12 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Multiple State Menus?

Yeah, I always have game characters keep a reference to the game world, because I try to have the character class handle as much as possible when it comes to its activities and interactions.I also have the game itself keep a reference to the current map, and any recurring maps.I kinda skimmed the talk of the input -> character response connection. Are we talking about binding input to individual menu / player / etc instances? Because that seems kinda sketchy to me. Maybe I'm just too use to the way I primarily do it?Even in a more poll-oriented setup like BGT, or the event queue-but-no-eventHandlers situation with Pygame, I try to turn it into something that looks like Java's KeyAdapter (E.G., send key codes to key_pressed and key_released methods of the game class).Then, after some global hotkey checks (function keys and the like), I run the key codes through whatever I'm using to map keys to commands. It was KeyC, until that got way too confining and I had to switch to that keyconfig class nobody can figure out how to use for some reason, but the important thing is that, if the input is invalid and we are not in a state where arbitrary input is acceptable (entering text or in-game config or whatever), we return right then.Next, I check the game state. At some point, within my first few months of programming, I called this variable "loc", and just stuck with it ever since. These days, I just make an enum of all the "screens" the player could be on (logo / main menu / settings / paused / whatever).Sometimes, there is a feature, like dialog or in-game menus, which can be treated generically and ignore loc. Otherwise, I write code for handling input for each loc, and a default in case the game gets somewhere incomplete (or, like last week, if I copy code from another project and fail change the var names, and wind up in a weird state the game shouldn't ever be in).It's more than possible to save lots of unnecessary code with this style, because menus reliably handle input in a particular way, and all the loc-specific code needs to do is respond to whatever the menu actions change. This can be accomplished via callbacks, but I'm in the habit of just writing it in the code for that particular loc right after the call to the generic menu input method.If in-game menus are going to be a thing, and the generic menu object works fine for that, I either give it its own loc, or include a menu reference (defaulting to null / None), and if that's ever not null, do generic menu input as usual. So too with text scenes. I don't use any classes for those (I've tried it and found it a needless AP drain, but I get why it's a better option for people who actually have enough AP to shrug it off). Instead, Just have a string array, and parse the strings for any special things like playing sound, changing BGM, altering the map, etc. If the array is not empty, then we handle input for scenes.And scenes and in-game menus need to block the game from doing anything, which I usually do by just having the gameStep method return if either of those is the case. This does mean I can't have anything crucial at the end of gameStep. The only crucial things would tend to be updating BGM and updating the network, both of which ought to be handled somewhere earlier on the stack anyway.I did realize, though, after I tried to add online multiplayer on top of code designed with a local player in mind, that my general strategy might not separate input method and the game's response enough. As in, there needs to be a more abstract controller that does not know anything about the keyboard, network, or joysticks, which the keyboard, network and joysticks pass their inputs to via the event handlers. Otherwise, it's very easy to get into a situation where one input method is expected, or overrides the other, or you can only use a joystick if you have one connected, or online players interact with the keyboard in weird ways. In other words, never use if (key_down(KEY_RIGHT)), and never put the code for responding to pressing right in the function that responds to keyboard input. Instead, key_pressed converts KEY_RIGHT to GAME_RIGHT, and you send GAME_RIGHT to game_action.You'd think KeyC / keyconfig would separate input from the keyboard enough, but that only works if the input is being handled in a source-agnostic way, and not in the key_pressed function.TLDR: double-link anything that might need it, if it's not going to lead to infinite recursion. I use the word "generic" too much but "abstract" has a specific meaning that conflicts with how I want to use it here. Maybe "virtual" is the right term?

URL: https://forum.audiogames.net/post/560673/#p560673




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Multiple State Menus?

2020-07-26 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Multiple State Menus?

I'm confused. Why not just have a standardized menu class, and make all the menus instances of that class? Generally, menus have two types of items in them: things you activate, and things with adjustable values. There are several ways to handle that, but I'm still using my solution from the ancient times of 2008 (unless I made that earlier and forgot? ... Yeah, actually; I made that in 2007 for a CS assignment, then ported it to BGT and Python after catching a few vulnerabilities to NPE and IooBE that made it past the instructor.)Since every game needs unique menus (mostly; I just copy the same voice options for everything), I don't bother with a factory class or functions, and just initialize everything in one big block when starting the program. However, I can definitely see situations where you'd need to generate menus on the fly, so of course you'd want additional methods / functions / if you're feeling really crazy, classes to account for those. Come to think of it, I did do something like that for in-game movelists in ECTAS.

URL: https://forum.audiogames.net/post/555758/#p555758




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: developing a singular verses plural grammar system in your game

2020-07-24 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: developing a singular verses plural grammar system in your game

Fair enough.

URL: https://forum.audiogames.net/post/555270/#p555270




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: developing a singular verses plural grammar system in your game

2020-07-24 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: developing a singular verses plural grammar system in your game

Yes, but how versatile a system do we generally need? If we're writing a text adventure or a MUD, that's different from occasional, predictable messages and sentence structures. Basically, when is the most generalizable solution necessary? I just plain haven't encountered the problems you mentioned, even though you are correct that they're problems, because my use cases are sufficiently limited that imperfect solutions work.Rereading the OP, though, I'm not sure how relevant what I've said really is, especially since there's the implication that a solution should be both readable and expandable if the project continues to grow.

URL: https://forum.audiogames.net/post/555258/#p555258




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: developing a singular verses plural grammar system in your game

2020-07-24 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: developing a singular verses plural grammar system in your game

My approach has been to give the character class a method for getting pronouns / copula / have/has. I tend to construct messages directly, rather than use a template, so this tends to look like msg = them.name + " " + them.getHas() + " dropped " + them.getPossessive + " " + them.inv.name + "!"; A template with string_replace or format also works. Ex, "%n1 %h1 dropped %p1 %i1.", then have a function that takes the string and an array of characters, and have it replace the valid %whatevers based on the character's properties.

URL: https://forum.audiogames.net/post/555093/#p555093




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Kerbal Space Castaways

2020-07-22 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Kerbal Space Castaways

Thanks.

URL: https://forum.audiogames.net/post/554568/#p554568




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Kerbal Space Castaways

2020-07-21 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Kerbal Space Castaways

I'm mainly wondering about those mapping missions and the like. Topography / suspected surface composition / etc. If I could take a map of the Moon, scale it to something reasonable for players to work with, and use that instead of just reading a Wiki article and making something up based on it, that'd be nice.I'm well aware of the distances involved, and the feebleness of existing spacecraft in terms of getting anywhere in a timely fashion. Since we can run the game as fast as we want, it makes more sense to worry about the distances in terms of energy costs. One area where I would avoid realism is by not having random legislators preventing players from building fuel depots in LEO, just as an example.Though, realistically, the Moon has a large continent's surface area, and Mars is even bigger, so just saying "I want to use real maps" doesn't narrow it down very much. 

URL: https://forum.audiogames.net/post/554481/#p554481




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Kerbal Space Castaways

2020-07-21 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Kerbal Space Castaways

Well, yes. Even in the best case, where a huge ring gets you to the Moon in a few hours, I wouldn't make the player wait that long, any more than I'd make them wait the entirety of a bus-trip in a suburban game. I'm mostly thinking in terms of construction sites and costs to travel between different combinations of places. I'd probably use a Castaways-like tick system and work out how much time passes in a single tick based on what's most playable.Ex, elevation / composition of various sites on various mapped bodies, is more what I'm after.

URL: https://forum.audiogames.net/post/554421/#p554421




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Audio game jam - No Video Jam starts August 14

2020-07-21 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Audio game jam - No Video Jam starts August 14

can communicate effectively and has realistic goals

URL: https://forum.audiogames.net/post/554369/#p554369




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Kerbal Space Castaways

2020-07-21 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Kerbal Space Castaways

I'm sure an audio game that can be lazily described as "Castaways, in SPACE" has been done, but has it been done with any degree of realism?What I have in mind is basing something on known data and technology, with some of the more hypothetical-but-within-existing-tech stuff on the extreme end (space elevators / orbital rings / etc). Building on the moon / asteroids / orbital stations would be where most of the Castaways-type stuff comes in.But then comes the problem: just how realistic are we talking, here? Should we use data from Lunar / Martian / etc mapping projects for in-game maps? Assuming that, for sanity's sake, we're not also loading a ton of data for Earth (but maybe we'd go there, too; why not?).Because if that's happening... where in the world (or out of it, I suppose) would we begin? Is the relevant data publically accessible? In what format? For which planets / moons / asteroids / KBOs / etc? I'm not horribly opposed to tying in more KSP-esque realism with rocketry, but it seems like it'd be a miracle if just one of these realism gimmicks can get included, so I'd rather focus on the astrogeology first. Some numbers and formulae can do most of the rocketry, after all.

URL: https://forum.audiogames.net/post/554366/#p554366




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: making super mario kart for snes playable?

2020-07-11 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: making super mario kart for snes playable?

A lot of retro games have had their RAM mapped online. That isn't necessarily enough (Sonic RAM maps don't seem to contain level layout information, fwict, and I got confusing non-answers when I asked Sonic Hackers about it). For a side-scroller or top-down game, I'd probably just give up and reference what tiles are on the screen for accessibility purposes. That wouldn't work well for Mario Cart, though, I think. On some NES racing games, perhaps, since those tend to be top-down, but also less interesting.Eh. What tools / compilers / libs would I want to set up if I wanted to mess with this on Win7? I mean, if I wanted to do it right, rather than the cludgy way I did it for SoR2?

URL: https://forum.audiogames.net/post/551324/#p551324




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: BGT: No sound

2020-07-08 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: BGT: No sound

If it's not where it expects to be relative to the sounds, that would do it. If it's in a zip folder, for example, it won't find the sounds. If the filenames and paths are incorrect, it won't play.

URL: https://forum.audiogames.net/post/550113/#p550113




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: what don't i need in a python audio game

2020-06-11 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: what don't i need in a python audio game

test / practice games are your friend. Without lists / etc, you'll have a hard time going beyond this. And that is not exactly my first game, or isolated. It was a few months of figuring out arrays/dicts, events, and timeouts before I got something resembling an audio game, with several other not-so-noisy games in between (most of which no longer work, because Ja"ascript arrays have changed).It's helpful not to ask "what tools do I need?", but rather, "what can I do with this tool?". Make a tic-tac-toe game with a decent AI, and you're a good deal of the way there. But that is a level of skill one probably needs, at a minimum.Strictly speaking, you can ignore these various features. But it will make your task more difficult, and make it harder to get the desired quality out of the end product.

URL: https://forum.audiogames.net/post/539928/#p539928




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Difference between frames and milliseconds?

2020-06-06 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Difference between frames and milliseconds?

You can. Strictly speaking, a lot of older games had to do that to account for hardware limitations. But those were working at pixel precision. It's way simpler to do it the physicsy way, unless you're using integers for coordinates. And these days I'd still just use doubles even for a tile-based map, and convert to int when getting indeces (does Python do that automatically, or do you need to say int(x) etc?). You wouldn't use a timer per se, of course. You'd use a number, and update it with each tick. If you look at RAM maps for the original Super Mario Bros, you'll find there's a number of frames until Mario moves 1px x-wise, and the same for y. This is kinda how I did it with audio Mario, but with block precision instead of pixels (which is only partly why jumping is more awkward).In general, though, I'd recommend dx = dt * vx, as Camlorn described.

URL: https://forum.audiogames.net/post/538149/#p538149




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: what do i need in an rpg engine?

2020-06-04 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: what do i need in an rpg engine?

I'm sure one of my early RPG attempts is still online somewhere. It had a weird system as regards turn-based Vs realtime (because it was made for IE6, mostly), and I did a very poor job of supporting new skills even though I knew I would need to from the beginning. What I did, though, was focus first and foremost on getting something playable, then rushing through major plot-points so a complete playthrough was technically possible (I think the only cheat I added was to let you set your inventory, but I might have forgotten something).Oh, and it's also the first time I did anything with positional audio, so that was fun. The enemy AI was pathetic but every now and then actually accomplished something. The item system was exceptionally silly, as I put items at fixed positions on the map, and picking one up removed it from the list, causing all the other items to teleport to different positions. And there were some poor design choices with the map that made navigating in certain areas confusing.Where was I going with this? Umm, the point is that this was about a year and a half after I'd really started learning programming, and I threw everything into arrays instead of classes, and it was a big mess, and it worked well enough to be playable anyway. I'm not sure what anyone else would learn from looking at the code, but I certainly learned things (like "don't move 80+ images in every frame if most of them are already off screen"  ).I'ma go try porting that to Python or something. It'd be nightmarish for BGT, but ... eh, maybe? I also "like" how porting it to Python feels more realistic than updating it to continue to work in _javascript_. 

URL: https://forum.audiogames.net/post/537187/#p537187




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: How Did You Guys Learn to Code

2020-05-27 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: How Did You Guys Learn to Code

I used Microsoft Frontpage 2000, back when HTML was legible and not a million metatags and CSS elements, and would try something, switch to HTML view to see what the code was, change something and see what happened, etc. Then someone linked me to Lissaexplains.com for more HTML basics, and lo, that site also had a _javascript_ section. So I did the same, trying to change things in the examples until I got the results I wanted. Then I ran out of things to do with those examples, so looked up examples from a site called The _javascript_ Source. And simultaneously started a high school CS class that was all about Java. From there, it was just a matter of level-grinding with small projects (mostly text games) and assignments and occasional research.Then I died, and stopped improving, and started posting on audiogames.net instead. Turns out zombies can't make games; who knew?

URL: https://forum.audiogames.net/post/533871/#p533871




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Difference between frames and milliseconds?

2020-05-13 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Difference between frames and milliseconds?

[cont]But converting from MS to frames is something I generally avoid. I still track movement and actions in seconds, partly because when I was working in Java, I got wildly different framerates on different versions / computers (which is why you had to specify frame length and units when running my java games from command line).So I just save the frame length, preferably as a constant but sometimes it has to be a variable (as with the Java issues). For clock.bgt, iirc, this is saved in the clock object's delay property. With pygame.time.clock, you are on your own. I've been saving the framerate as a global variable.Anyway, framerate is in frames/seconds. If you want the number of seconds, do 1/framerate.60fps = 60f / 1s, or 60f / 1000ms.so the time per frame is 1/60s, or 1000/60ms, or 16ms / 17ms (depending on how you round, and fwict, Pygame likes to round up).I prefer to calculate how much time passes once, in the main update function, then have individual methods for updating game-objects take the time as a parameter. That way, if anything screwy happens, or we need to do something weird like fast-forward or rewind, we still get the benefits of frames.So I usually define an action's duration in seconds, and the update function takes how much time passes between frames as a parameter, and I just update it in that way.

URL: https://forum.audiogames.net/post/529139/#p529139




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Difference between frames and milliseconds?

2020-05-13 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Difference between frames and milliseconds?

Yes, frames are the mainstream solution, and have more or less always been. This is indeed one of the most troublesome things I notice people learning wrong from BGT. I tried doing it the BGT way, with timers for everything, in Sengoku Jidai, and with menus blocking everything ... and I kept failing to stop timers and this caused so many problems, like it being easy to starve / drown everyone by just pressing v and waiting.I think maybe one of the reasons frames come so intuitively to video games, and not audio games, is that video has always been done in frames, as a series of images displayed quickly enough to resemble motion. This is why you hear about framerate shenanigans with animation (24fps has been industry standard, but hand-drawing that is thrice as costly as 8fps, so lots of cheap anime use to go for 8fps whenever possible). For games, they had to build around the refresh rate of the hardware, which worked in frames due to RAM limitations: 200×300 pixels = 6px, and in the old days, storing all that in RAM, especially when televisions were made with video and its framerates in mind, was ridiculously expensive. So they had technically complex scan-patterns, limited colors, over-sized pixels, and 8x8 tiles, and games had to incorporate that into their timing. That, and if your animations work like any other animation...But, really, timers create a huge technical hurtle. The more realistic you want to be, and the more consistent you want to be, the more you need to standardize the time that things take to occur. Especially today, when computers have evil, schemy minds of their own, and when networks are quite chaotic, and you can never predict who will have how much lag when, you can't rely on timers not making a mess when your antivirus decides to ask if you're busy mid game, or when some random system service and a screen reader get in a fight, or when you get a Twitter message, or whatever. With frames, you guarantee that every entity in the game is on the same page, by standardizing how much time passes between updates: at 50fps, you're treating every update as though 20ms have passed since the last update, period. No matter how long anything in the game takes, or what lag comes from outside, everything stays in sync.And woe to anyone trying to use timers for online multiplayer. Getting online games to stay in sync is hard enough without letting milliseconds of drift accumulate.Java and _javascript_ timers are basically tickers with callbacks (or what passes for that in Java and its "everything is classes" attitude). You set a time, and it calls the function/method. You don't even write your own loop, because the timer does it in a separate thread. With Pygame.time.clock, you still need a loop iirc.I like the Java way, although you must keep track of your framerate, and take care if you ever decide to change it. To the extent that, if I ever did upload game.bgt in any of those include archives, that's what it's for (that and eventifying key presses).

URL: https://forum.audiogames.net/post/529135/#p529135




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: whats problem of this little script? (testing CAEJones key config)

2020-05-06 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: whats problem of this little script? (testing CAEJones key config)

Change count to 3. The line that is just a : counts as 1.

URL: https://forum.audiogames.net/post/526307/#p526307




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: whats problem of this little script? (testing CAEJones key config)

2020-05-06 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: whats problem of this little script? (testing CAEJones key config)

Maybe try making keyconfig.ini like this?2:exit:fThat shouldn't be necessary, but for now it should work.

URL: https://forum.audiogames.net/post/526222/#p526222




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: whats problem of this little script? (testing CAEJones key config)

2020-05-06 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: whats problem of this little script? (testing CAEJones key config)

So there is a bug in keyconfig that I would have found if I'd tried a 1 or 2 command config instead of bigger ones.There is a line in keyconfig.load that references "index+i-1", when it should be index+i. I have no idea why it is like that.Anyway, you can either add two dummy commands before and after the real ones, or you can open keyconfig and find string[] parts=string_split(lines[index+i-1) , and remove the -1. Doing that makes your example work correctly.It probably breaks everything I made based around it being like that, so ... I guess I'm going to go fix those, now. 

URL: https://forum.audiogames.net/post/526214/#p526214




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Preloading in bgt?

2020-05-05 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Preloading in bgt?

Not enough slots, and slots getting mixxed up are the most common ways the sound pool screws up for me. Ex, if two objects have the same slot, which can happen if the persistent flag is used wrong (I think this is mostly failing to use persistent, so a slot gets reused before the previous referer knows the previous sound stopped.).

URL: https://forum.audiogames.net/post/526085/#p526085




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: whats problem of this little script? (testing CAEJones key config)

2020-05-05 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: whats problem of this little script? (testing CAEJones key config)

I can't check for sure right now, but I'm guessing that either an extra blank line at top or bottom will help, or there's something weird with the indexing. Maybe try adding another command that does something else, and see if the error changes?

URL: https://forum.audiogames.net/post/526084/#p526084




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: packing sounds with camlaun audio bgt rapper

2020-04-28 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: packing sounds with camlaun audio bgt rapper

No, Libaudioverse does not have  a BGT wrapper. BGT's dll support is not strong enough for what makes LAV work in so many situations.  There is a fmodex and Base wrapper somewhere?

URL: https://forum.audiogames.net/post/523814/#p523814




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: packing sounds with camlaun audio bgt rapper

2020-04-28 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: packing sounds with camlaun audio bgt rapper

camlorn wrote:Wow, is Sam still using it?  I'm surprised he got stability out of it.  I'm the author and I abandoned it because I couldn't get stability out of it.Na, Sam abandoned it, but I tried to stabilize it anyway because it seemed easier than working with fmodex. IDK if that's the version in use because I hit quote without reading the rest of the thread.The trick is not very pretty. Sam's demo crashes after 255 steps, even though there are fewer than 10 unique sounds... so it just keeps sounds in memory and replays them if they are requested more than once. This is, of course, a mess if you actually need multiple instances of the same sound, and can't just alter the capitalization or something. But I only wanted something I could use quickly while focusing on the game itself  of course that's not all. Do I create dummy reverbs to make sure that something is initialized correctly? How much? How do I be sure this was only done once? What happens if I make an invalid eax reverb? Why did it suddenly break when I reinstalled windows even though that entire folder was just extracted from a zip and copy-pasted?So yeah, still not a good idea to use it. I'm just a horribly lazthetic programmer.

URL: https://forum.audiogames.net/post/523734/#p523734




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: bgt, how to make a program run faster

2020-04-27 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: bgt, how to make a program run faster

The persistent flag is useful if, for example, you are tracking a certain slot, and don't want it to be cleaned up before you can stop tracking it. I expect half the sound glitches I've run into with BGT have been misuse of this. If you aren't careful, you could have an object steal another object's sound.However, if you don't clean up persistent sounds after they're done playing, they'll rapidly fill up the pool, and things will stop playing.

URL: https://forum.audiogames.net/post/523378/#p523378




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: bgt, how to make a program run faster

2020-04-27 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: bgt, how to make a program run faster

@7: standard framerates are usually 60, 50 for PAL but that might have improved in the past decade. If you're waiting less than 16ms, you're already using a higher framerate than the mainstream. I'd try waiting 20ms before declaring the delay irrelevant.In this case, though, you're probably right. there's too much happening -in each frame.Things which slow BGT down will be things like too many sounds, lag from trying to play sounds that cannot be opened, too much garbage collection, and sometimes just trying to do way too much at once.As for the max distance thing, while that is built-in, you have to specify a distance. pool.max_distance = 16, for example. It doesn't sound like that matters, here, though; if all the action is happening within 32 spaces, the listener can be in range of all of it.The first thing I would check is the AI for the idiots, or how the shots are handled, depending on exactly when the lag is noticeable.Not-so-incidentally, there is an advantage to my clock class, or something similar, here. Not only does it try to resolve the framerate, but it tracks how many frames have passed. This means you can just use the frame number to divide up AI so that you don't have to update every single enemy in every single frame. You can do this yourself by adding an int to track the frame (just update it after every wait).If you have an enemy class with an AI method, and an array of enemies called enemies, you might do something like this:for (int i=0; i15) {
if (i %2 == 0) enemies[i].update(2*dt); // where dt is the time that passes for each frame.
}
else enemies[i].update(dt);
}I wouldn't be surprised if the problem is the number of projectiles active at once, though. Maybe add something that logs how many there are? It could just copy the number to the clipboard if it's greater than a certain number, or if you have a certain key down, or whatever is most convenient.This can get more complicated, (I once found a load of inefficiencies by adding destructors that log when certain objects are destroyed, and it turned out that my AI and collision detection were using thousands of objects when they could have been down at dozens at most. Thanks, Java /s ). But you probably don't need to worry about those sorts of issues when spreading out the slow stuff will work about as well.

URL: https://forum.audiogames.net/post/523230/#p523230




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Representing 3d Staircases? (Python)

2020-04-25 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Representing 3d Staircases? (Python)

No, I use strings because I can basically draw the map with a Braille display, and edit easily. For a different format, I'd either need to do everything by hand with loops and code and math, or I'd need a dedicated editor.

URL: https://forum.audiogames.net/post/522692/#p522692




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Representing 3d Staircases? (Python)

2020-04-25 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Representing 3d Staircases? (Python)

This whole ordeal makes me want to open source the Halloween thing I was working on in 2018 that will probably never get done. The map system might or might not be difficult to learn, as it uses a 2d array of tiles, and each type of tile has the necessary information to define the stack of voxels at that 2d position. It's more complex than the JFIMA, but without the width limitation.The catch is complexity limitations. I've only tested with a single map, though it theoretically supports linking to adjacent maps and referencing those for out-of-bounds collision checks. Limitations include being extremely difficult to move things (I made furniture part of the map, rather than objects, then decided it should be possible to move chairs around, and that is going to be a nightmare if I ever try to finish that aspect ).Navigation-wise, the game uses a Swamp-style radar and zone system. I have no idea how well this would work in practice; odds are, even though it is extremely similar, with just a couple extra sounds, no one will understand it, because that's how it usually goes when I do that sort of thing. But that doesn't mean the principal wouldn't work, since Swamp demonstrates that it can.Whether, in practice, this would turn out more like Swamp, or more like the JFIMA, I have no idea.So far as data compression goes, I have a two-story building and the area immediately in front of and behind it, including a road, in something like 50×60 tiles, except that the road and part of the front are much smaller, because they cover entire rows, and the map class auto-completes rows that aren't as wide as the map with the last entry. It should do the same with the last row z-wise, but I don't think I implemented that. So in practice, there are well under 3000 tiles. The only bits that gave me any trouble on the design front were occasionally messing up the upper floor for a certain tile, usually furniture or bathroom tiles. It's also necessary !be careful with is doors (it'd be a bit odd if opening a door upstairs affected a door or wall downstairs, after all).As regards the first question that started the topic, bugs with slopes were the worst. I think there might still be a spot where it's possible to glitch into the garden through the basement. Other than the bugs I mentioned earlier, there was something related to weird behavior on the edge of individual stairs, and I think there were others I don't remember so well atm. But other than that glitch which may or may not still be there, stairs worked smoothly enough the last time I tested.However, the tile properties are managed by dictionaries. A pointer to objects, or a list of objects with int indeces, are probably more efficient, but doing it this way is much easier to work with when using a string array to edit the map. If you have a way of editing that plays better with indeces or pointers, one of those would probably be better.[edit]Oh, I forgot to clerify that the stacks are defined as integers, like a collision bitmap. This makes the maximum height of a stack the size of an int (so 32, since I didn't bother with int64 support)). The idea is that a single map probably won't ever need more than 30 blocks vertically at the same time, and if it does, stacking maps on top of each other should work as well. The map I was testing with is sort of inconsistent with whether tiles are 1ft or 1m or something else, but I mostly treated them as feet to make the map feel less cramped. IIRC, it's not even 15 high, including the roof. If you scaled it so that 1 voxel is 1m^3, it'd require even less. As for how well any of this would play with a server or something much grander in scope, eh ... [/edit]

URL: https://forum.audiogames.net/post/522682/#p522682




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Representing 3d Staircases? (Python)

2020-04-25 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Representing 3d Staircases? (Python)

This whole ordeal makes me want to open source the Halloween thing I was working on in 2018 that will probably never get done. The map system might or might not be difficult to learn, as it uses a 2d array of tiles, and each type of tile has the necessary information to define the stack of voxels at that 2d position. It's more complex than the JFIMA, but without the width limitation.The catch is complexity limitations. I've only tested with a single map, though it theoretically supports linking to adjacent maps and referencing those for out-of-bounds collision checks. Limitations include being extremely difficult to move things (I made furniture part of the map, rather than objects, then decided it should be possible to move chairs around, and that is going to be a nightmare if I ever try to finish that aspect ).Navigation-wise, the game uses a Swamp-style radar and zone system. I have no idea how well this would work in practice; odds are, even though it is extremely similar, with just a couple extra sounds, no one will understand it, because that's how it usually goes when I do that sort of thing. But that doesn't mean the principal wouldn't work, since Swamp demonstrates that it can.Whether, in practice, this would turn out more like Swamp, or more like the JFIMA, I have no idea.So far as data compression goes, I have a two-story building and the area immediately in front of and behind it, including a road, in something like 50×60 tiles, except that the road and part of the front are much smaller, because they cover entire rows, and the map class auto-completes rows that aren't as wide as the map with the last entry. It should do the same with the last row z-wise, but I don't think I implemented that. So in practice, there are well under 3000 tiles. The only bits that gave me any trouble on the design front were occasionally messing up the upper floor for a certain tile, usually furniture or bathroom tiles. It's also necessary !be careful with is doors (it'd be a bit odd if opening a door upstairs affected a door or wall downstairs, after all).As regards the first question that started the topic, bugs with slopes were the worst. I think there might still be a spot where it's possible to glitch into the garden through the basement. Other than the bugs I mentioned earlier, there was something related to weird behavior on the edge of individual stairs, and I think there were others I don't remember so well atm. But other than that glitch which may or may not still be there, stairs worked smoothly enough the last time I tested.However, the tile properties are managed by dictionaries. A pointer to objects, or a list of objects with int indeces, are probably more efficient, but doing it this way is much easier to work with when using a string array to edit the map. If you have a way of editing that plays better with indeces or pointers, one of those would probably be better.

URL: https://forum.audiogames.net/post/522682/#p522682




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Representing 3d Staircases? (Python)

2020-04-19 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Representing 3d Staircases? (Python)

JFIMA uses movement counters, and they are independent for each dimention. So the horizontal part and the vertical part are generally handled separately. In theory, it can do diagonals, but I never got around to making the controls more diagonal-friendly.So if one jumps onto a slope, it's basically the same as walking onto it. I will point out, though, that the JFIMA does not allow you to walk under anything.

URL: https://forum.audiogames.net/post/520807/#p520807




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Representing 3d Staircases? (Python)

2020-04-19 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Representing 3d Staircases? (Python)

The way slopes work in the JFIMA is that, if a char tries to walk into that tile from its height minus 1, they are automatically moved up as well as forward. Otherwise, it behaves like any other stack of tiles.If you want it to be smoother than this, you need to calculate the height of each block at an arbitrary position on the xy / xz plane (whichever is your floor). Since these are presumably best described as cubes that are cut in half along the slope, the math is a bit easier than for arbitrary right triangular prisms (i.e. a slope that rises in the positive x direction is just y = x-tile_x).Notice, though, that this means you'll do the bunny-hop going down a slope, which might be a little less awkward in audio, but see what I did with Sonic for how that can still be awkward in audio. Avoiding this requires that you rotate horizontal movement when on a slope, which always sounds like a huge pain but turns out not to be afterward, somehow.If you allow things to be under your stairs, you might want to be careful that slopes only work horizontally. Otherwise, hitting a slope from below will cause the player to teleport through it, which I somehow keep failing to prevent in that Halloween thing I'll probably never finish even though it's so simple. You could just put a solid block under the slopes, and hope that things never align so that the player hits one diagonally, but that's kinda messy and if the slope-behavior can handle it instead, that's much better.

URL: https://forum.audiogames.net/post/520734/#p520734




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: how to use CAE JONES key config? example please

2020-04-13 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: how to use CAE JONES key config? example please

@7: allowing users to change the controls. I got tired of writing game-specific remapping options all the time, and kept needing to add new commands.

URL: https://forum.audiogames.net/post/519028/#p519028




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: how to use CAE JONES key config? example please

2020-04-13 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: how to use CAE JONES key config? example please

On mobile, also trying to fight birds that are tearing up my roof, so a proper example is tough atm.You can make a keyconfig file in the same style as Swamp. Make sure the number at the top of the list is correct; the first line that is only a number is taken as the number of keys you'll use.You should probably generate one of these from in the program, just in case the user deletes the original.You can then use the load_keyconfig function to load the config into a keyconfig object. If your config file is "keyconfig.ini", and your keyconfig object is keyc, @keyc = load_keyconfig("keyconfig.ini");There are several ways to handle input. I personally assign int constants to the commands, and just check them against keyc.press(k);, where k is the key code from keys_pressed. But that's not how people usually do BGT, so you can use keyc.update(), to make keyc.key_down and keyc.key_up work.You can also do  like this:if (keyc.key_down(keyc.getKey("Move forward")))If you have a key named "Move forward".It is much better to use keys_pressed and keys_released, then loop through them to handle each event with the pressed and released methods. Keep in mind that you cannot use this strategy and the update strategy together, but key_up and key_down will still work, regardless of which you use.Int constant help a lot. Then you can just say if (keyc.key_down(MOVE_FORWARD)). But if you change the order in your config, the constants should be updated accordingly.There's also a seeming bug where creating a config in code results in a saved file with an extra blank command, which throws off constants, but still works fine if you use getKey, since it returns the index of the command.To recap:keyconfig@ keyc;@keyc = load_keyconfig("keyconfig.ini");int[] keys= keys_pressed();for (int k=0; k// repeat for released// in press_key:int k = keyc.press(key_code);if (c == keyc.getKey("Move forward")) move_forward();

URL: https://forum.audiogames.net/post/518966/#p518966




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Updated includes for BGT (includes bgt2py and 1st person sound pool)

2020-04-09 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Updated includes for BGT (includes bgt2py and 1st person sound pool)

https://www.sendspace.com/file/7k04cwMaybe I can convince Google Drive to play nice with this one for a more permanent link. ... Wait, I was going to put it on Github, wasn't I? I knew I forgot something when uploading that recording. 

URL: https://forum.audiogames.net/post/517630/#p517630




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


How about voice profiles in Python?

2020-04-01 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


How about voice profiles in Python?

If, say, I want a game to give the option of letting NPCs speak with distinct voices or settings, is there a straightforward way to do this with accessible_output or tolk, etc?I imagine the answer is easy enough to find, but if I go looking for it myself, it will probably prevent me from completing the thing for which I want to use it, and if asking here gives people ideas, why not?

URL: https://forum.audiogames.net/post/514759/#p514759




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Using picture in BGT

2020-03-30 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Using picture in BGT

@21: because the others are not optimized for audio / accessibility, and most devs here are far from pros and appreciate something geared specifically toward them, instead of drawy McSpritepants and Poly GonModeler.Like I've always said, BGT's out-of-the-box audio, tts, and compilation-to-exe are super convenient, especially if you're new or have a short attention span. The closest comparisons before were Pygame and Pyglet, and they are inferior by those specific metrics. Spritework is easier in Pygame than getting BGT type sound positioning, almost as though that's exactly what Pygame was designed around.So if the point of Lucia is to make sound and sound positioning and tts closer to BGT levels of trivial, then why wouldn't anyone try it?

URL: https://forum.audiogames.net/post/513878/#p513878




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: What are the necessary steps to go pro?

2020-03-21 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: What are the necessary steps to go pro?

Eh, it occurs to me that I have no idea what I would do with all that money these days. I can restore my house's HP with a year or two at what I've been making. It's been made abundantly clear that no amount of money is overcoming the problems with my games, other than maybe sound quality and hosting. A new piece of tech might be more of an annual thing than a monthly thing, but who is buying a new computer / Braille display / phone / gaming device every month?But if you have any ideas other than charity for what one could do with that kind of cash, feel free to share. Though it's kinda off topic. Maybe this calls for a "what would you do with a million dollars" thread?

URL: https://forum.audiogames.net/post/510860/#p510860




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: What are the necessary steps to go pro?

2020-03-20 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: What are the necessary steps to go pro?

I come from the era when using _javascript_ for backends would get you looks of wide-eyed horror. I just told everyone to try my JS games in IE6. But all that changed when the Firefox arrived. I mean, when IE7 broke half the things and Firefox proved better than IE anyway.Mostly what I'm taking away from this is that the worst part is that I can't keep not bothering with databases. I did try getting into php and cgi long ago, but my webhost turned out to be a jerk (click here to enable php! Hahah, just kidding; we don't let you upload .php files. Enjoy the useless php myadmin directory!)

URL: https://forum.audiogames.net/post/510522/#p510522




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


What are the necessary steps to go pro?

2020-03-20 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


What are the necessary steps to go pro?

(Not sure if this belongs in the developers' room or the offtopic room. Put here for now.)Say I wanted to get into  work with my programming skills. What must I do?I'd hope this could prove useful to others, if it gets good responses, so I don't want to make it overly specific to my personal situation. So one could treat this as "if I've already completed one or more Audio Game, how do I go from there to employment?"I'm in the US, and unlikely to move (especially given current events), but in the spirit of generalizability, responses relevant internationally are welcome.

URL: https://forum.audiogames.net/post/510475/#p510475




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: whats your idea about me posting tutorials about data science here?

2020-02-22 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: whats your idea about me posting tutorials about data science here?

Maybe in the Off Topic room, but yes, please do x.

URL: https://forum.audiogames.net/post/503357/#p503357




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Gauging interest in another 3d audio projecte

2020-02-20 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Gauging interest in another 3d audio projecte

all of the Creative and Aureal patents we might care about have now expired which means there's a ready-made source of info on things like environment reverb just one patent search away.  :d :d :dI mean, yes, I like the rest because I don't have a stimulant prescription and so can't handle more than a couple lines of init and a sound.play, but you had me at the expired patents.

URL: https://forum.audiogames.net/post/503047/#p503047




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Strange error with accessible-output2

2020-02-05 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Strange error with accessible-output2

I was all about to say "That happened to me; just put import pywintypes above the accessible output import". Then the traceback kept going, like the Energizer Bunny of tracebacks.Did anything happen since you last got it to work, such as a Windows update, Jaws update, reinstalling Windows, installing new packages, etc?

URL: https://forum.audiogames.net/post/498747/#p498747




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: sound positioning formula

2020-02-05 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: sound positioning formula

It depends on what you're using for sound. Do you have a pan/balance property, or is it like Pygame's volume for each channel, or is it something else entirely? What are the ranges (-1 to 1, 1 to 1, 0.0 to 1.0, etc?).BGT does it like: pan = dx * pan_step, volume = -absolute(dx * volume_step).I don't remember how I translated that to Pygame off the top of my head. Something like converting from (pan, volume) to (vol_left, vol_right) by subtracting abs (pan / 100.0) from left if pan<0, or right if pan>0, then multiplying both times (volume/100.0)+1.0. Which would sound a lot simpler if I had it in front of me to reference.[edit] What Philip said. [/edit]

URL: https://forum.audiogames.net/post/498746/#p498746




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: sound positioning formula

2020-02-05 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: sound positioning formula

It depends on what you're using for sound. Do you have a pan/balance property, or is it like Pygame's volume for each channel, or is it something else entirely? What are the ranges (-1 to 1, 1 to 1, 0.0 to 1.0, etc?).BGT does it like: pan = dx * pan_step, volume = -absolute(dx * volume_step).I don't remember how I translated that to Pygame off the top of my head. Something like converting from (pan, volume) to (vol_left, vol_right) by subtracting abs (pan / 100.0) from left if pan<0, or right if pan>0, then multiplying both times (volume/100.0)+1.0. Which would sound a lot simpler if I had it in front of me to reference.

URL: https://forum.audiogames.net/post/498746/#p498746




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Fixed angle graphics, Pygame, and some more limitations...

2020-02-05 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Fixed angle graphics, Pygame, and some more limitations...

Making walls semitransparent seems both distracting and computationally expensive. Were it the kind of setting where windows or holes would make sense, that'd be simpler, and I do expect that to be the most common category (railings, trees, rock formations).The proposed example would be appreciated.

URL: https://forum.audiogames.net/post/498739/#p498739




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Fixed angle graphics, Pygame, and some more limitations...

2020-02-03 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Fixed angle graphics, Pygame, and some more limitations...

More or less, if I understand correctly.

URL: https://forum.audiogames.net/post/498462/#p498462




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Designing Sight In Audio

2020-02-01 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Designing Sight In Audio

This sounds a little like how New Horizons deals with object detection. The radar sounds like the peripheral thing, and that is both togglable and not a starting component for all ships. It's set up in such a way that whether or not noise pollution is a problem is in the player's hands.Of course, all the parts of New Horizons that aren't menus are spaceflight, and the distinguishing feature of space is how empty it is. I expect this system could be adapted to arbitrary environments without much issue, but it'd certainly need testing to be sure.

URL: https://forum.audiogames.net/post/497818/#p497818




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Fixed angle graphics, Pygame, and some more limitations...

2020-01-30 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Fixed angle graphics, Pygame, and some more limitations...

I kinda wanted to do a Sega Genesis game, but I have yet to figure out how to fix my early text-games that used JS and new Array, so clearly ASM or a C compiler for ASM are beyond my attention span.So I'm using Pygame, but trying to acknowledge the limitations of the Genesis when it wouldn't be too cumbersome (ex, I can limit the number of sounds playing, but it'd be pointless to convert all sounds to the right format, for the time being. Since I don't have sprites, though, limiting colors to 4 palettes of 16, being careful with data structures, etc are all viable.)Anyway, it's supposed to be 3d, which for these limitations, means we need a fixed angle. (The audio will probably just be top-down, but I could put in a cabinet mode at some point for the fun of it?). And then come all the difficulties that come with drawing such things.Right now, I have three main issues:1. Z indexing. Particularly, since I don't have sprites, I was going to try and use what amount to stick-figures, except the torso and head involve polygons. Not shooting for any awards, and it's not like anyone who might see it would expect Great Art. The trouble with this is that individual bodyparts are going to overlap others. What I've got now is to create a list of callbacks and sort them, and that seems like a really terrible idea. Is there not a better solution than treating each bodypart as a separate object?2. The wall problem. If a player is beside a wall, on one side of the wall, they will be hidden behind it. There isn't a fixed angle where we can see walls from left or right and not have it cover things up. I'm tempted to just draw boxes from two opposite angles anyway, but that'd inevitably cause people to walk through what looks like a solid object. I don't necessarily need all rooms to be like /__\, but /__/ covers up the southeast corner. I'm not sure if it's practical to design all maps in such a way as to make it impossible to get close to long walls from one direction, or for every case of needing to see the side and top to always happen from the same direction.3. Patterns, tiles, textures. The Genesis is built on 8x8 tiles, so tiling an area in patterns is fast and easy. Pygame ... I could use for loops to tile a surface with another surface, but I'm going to be drawing lots of not-necessarily-rectangular quadrilaterals, and while I suspect that 1996!me would be fine with solid-color shapes, it'd be nice to get some texturing involved, even if it's just a few stripes or splotches that repeat. This gets worse with barriers that can be seen through, like behind a fence. Is there a fast way to do something like that?I'm trying for object-based maps, rather than tile-based. This means I need to seriously limit the number of objects in a single area, and use whatever tricks I can to speed up hit detection and drawing. I've noticed that some maps that should not be broken apart nonetheless have distinct subregions, which can be rounded off to halves or quadrants so I don't have to try and implement graphs with Genesis limitations. And I am trying to use simple datastructures to make objects more complex without as much of a footprint, like paths made up of a list of verteces with a low maximum vertex count. But then I have to figure out how to draw those, and we hit the above problems.(Having only 64 colors allowed on screen at a time is going to be interesting, I can already tell. I think I need a whole 2 palettes for characters, and might be able to squeeze items and animals into another, leaving just one for scenery. I almost want to break things up into smaller maps just to simplify that.)

URL: https://forum.audiogames.net/post/497226/#p497226




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: bgt, array for loop skips indexes

2020-01-18 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: bgt, array for loop skips indexes

Yeah, this is generally when you'd use continue. In the example above, there was nothing else in the loop, so it would have been pointless, but it is good practice in general.

URL: https://forum.audiogames.net/post/493875/#p493875




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: bgt, array for loop skips indexes

2020-01-18 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: bgt, array for loop skips indexes

Are you removing the filenames from the array?When removing items from arrays, you must decrement the index, otherwise it will skip the next item.For instance, we have the following:int[] numbers = {0, 1, 2, 3, 4}for (int i=0; i if (numbers[i] > 1 and numbers[i] < 4) numbers.remove_at(i);}You might expect the above to remove 2 and 3, however, when it gets to 2, the array becomes{0, 1, 3, 4}At that moment, i still equals 2, and 3 is at index 2.Then it does i++ and does the next iteration,. Now, i=3, and 4 is at index 3.In this way, we skipped 3 entirely, because it was moved to an index we'd already checked.The way to correct this is to add i-- after removing an element from an array: if (numbers[i] >1 and numbers[i] <4) {
numbers.remove_at(i);
i--;
 } That's one possibility, , but since you're removing files, you might be deleting them from the system and leaving the array intact. In that case, the only thing I can think of is capitalization.If there is no use of to_upper_case or to_lower_case, any filenames with different case in the extentions will be skipped. Why are filenames inconsistent with case? I have no idea. It's annoying when programming.

URL: https://forum.audiogames.net/post/493768/#p493768




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: The creation of complex maps

2020-01-02 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: The creation of complex maps

There are practically no audio games with polygons. Really, I can't think' of any that use slopes, even with the "make a rectangle and treat it like a right triangle" trick. I try to do this, but I'm bad at making games people like to play.I am not aware of any accessible editors for mainstream formats. I've made game-specific editors (Swamp, Sengoku Jidai, Swamp Platformer), and a 3d editor for my 3d BGT library. (That last one does have polygons, though not the normal way. I'm sure there's a term for how they're used there, but I don't know it.)All of those are BGT, though, and not really worth porting because whatever you'd be porting them to has better libraries already available. Maybe the Swamp Platformer's editor could be generalized for Pygame.rect, or similar?

URL: https://forum.audiogames.net/post/490176/#p490176




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: The creation of complex maps

2019-12-31 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: The creation of complex maps

Part of it is being able to imagine complex maps in the first place.I've tried a variety of techniques. I'm not sure that one is better than the other, but they can have advantages or disadvantages in terms of things like speed or memory usage.The most basic way? Text. One of the first things I did when I got a Perkins Brailler at home was to make maps for games. For all intents and purposes, it's indistinguishable from tile-based maps, except you can open it in a text editor and read it. Imo, this is the closest we get to just drawing maps in MSPaint, if you ignore the additional tools in MSPaint (but see below).  Braille displays are particularly helpful for this one. Code everything by hand. I've done a few complex areas this way, but it's extraordinarily tedious, and the result is either a complete set of relatively simple maps, one or two complex maps, or the whole thing collapsing because I don't have any Ritalin. If you are extremely conscientious, good at imagining shapes based on numbers, and translating complex ideas for maps into said numbers, you might try this.Procedurally generate things. See DLE and Sengoku Jidai for how that tends to turn out when I do it. Maze generators are codable (what is the license on Philip Bennefall's Amaze, anyway?), but it takes tweaking and such to get them reliably good enough for deployment. (AKA, Sengoku Jidai's castles would be more interesting (and harder to navigate) if they were really 4 castles stuck together).Editors. Scenegraphs are a pain to work with on the code side. If you have an editor that is indistinguishable from any arbitrary object-based map editor, though, that matters much less. The trouble is, if your map system is the least bit unique, you need an editor that works with that. Either you find standard formats, or you build it from scratch. I doubt most sighted devs code maps by hand, other than maybe a querky bit here and there, when they can use editors instead.The first and the last both have the side-effect that you can view the map as you're working on it.If the design part is the hardest, there are probably decent articles to be found via Google, or videos via Youtube, but I suspect it will be troublesome to sort out those which can be understood nonvisually from those which cannot. 

URL: https://forum.audiogames.net/post/489870/#p489870




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: The creation of complex maps

2019-12-31 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: The creation of complex maps

Part of it is being able to imagine complex maps in the first place.I've tried a variety of techniques. I'm not sure that one is better than the other, but they can have advantages or disadvantages in terms of things like speed or memory usage.The most basic way? Text. One of the first things I did when I got a Perkins Brailler at home was to make maps for games. For all intents and purposes, it's indistinguishable from tile-based maps, except you can open it in a text editor and read it. Imo, this is the closest we get to just drawing maps in MSPaint, if you ignore the additional tools in MSPaint (but see below).Code everything by hand. I've done a few complex areas this way, but it's extraordinarily tedious, and the result is either a complete set of relatively simple maps, one or two complex maps, or the whole thing collapsing because I don't have any Ritalin. If you are extremely conscientious, good at imagining shapes based on numbers, and translating complex ideas for maps into said numbers, you might try this.Procedurally generate things. See DLE and Sengoku Jidai for how that tends to turn out when I do it. Maze generators are codable (what is the license on Philip Bennefall's Amaze, anyway?), but it takes tweaking and such to get them reliably good enough for deployment. (AKA, Sengoku Jidai's castles would be more interesting (and harder to navigate) if they were really 4 castles stuck together).Editors. Scenegraphs are a pain to work with on the code side. If you have an editor that is indistinguishable from any arbitrary object-based map editor, though, that matters much less. The trouble is, if your map system is the least bit unique, you need an editor that works with that. Either you find standard formats, or you build it from scratch. I doubt most sighted devs code maps by hand, other than maybe a querky bit here and there, when they can use editors instead.The first and the last both have the side-effect that you can view the map as you're working on it.If the design part is the hardest, there are probably decent articles to be found via Google, or videos via Youtube, but I suspect it will be troublesome to sort out those which can be understood nonvisually from those which cannot. 

URL: https://forum.audiogames.net/post/489870/#p489870




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: problem with saving my game

2019-12-30 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: problem with saving my game

It doesn't really matter. I personally like to put everything in one file (this can get complicated if you need to worry about separators showing up inside data, but that's what String_replace is for). But separate files work just as well.

URL: https://forum.audiogames.net/post/489474/#p489474




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: how do you make the platform update the x coordinate of a map in bgt?

2019-12-24 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: how do you make the platform update the x coordinate of a map in bgt?

Does spawn_platform update maxx? Or do you call the above function every time? The only assignments to maxx in what you posted set it to 200. So if you call the above every time, maxx is reset to 200 every time.

URL: https://forum.audiogames.net/post/488005/#p488005




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Has anyone made anything like this?

2019-12-22 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Has anyone made anything like this?

I keep a file called "debug.txt", and paste the code into that and use matcher on it. I then cut out sections in big chunks, as close to binary search as possible, and repeat until I've found the problem. And I do mean cut, as in ctrl x, so I can paste the cut section easily if the section that remains hasn't the problem.IDR if I ever uploaded matcher2? The one that does better with quotes and line numbers, and doesn't mess with the clipboard so much?

URL: https://forum.audiogames.net/post/487567/#p487567




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Large map arrays in Python?

2019-12-19 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Large map arrays in Python?

How much of that space do you really need? Ex, if each tile is 1m^3, you might be able to justify a map that is 1km^2 horizontally, but do you need to go over 10-100m vertically?Having a way to allow versatile maps without unnecessary data could prove helpful. As an example, the last time I worked on a tile-based engine, I realized there would be many situations where a row would end in severaal of the same tile, or a map would end with several repeated rows, and had the get methods assume that if the array was shorter than the dimensions of the map at any point, to just return the last element. So a vast field, or map-spanning road just uses this autocomplete trick, and that's hundreds to thousands of tiles saved.Can you make use of None? If the data in your arrays is complex, but you have mostly empty space above the ground, there could conceiveably be an advantage. Then again, you'd need to NPE-proof everything that accesses tiles, which could be an advantage or disadvantage depending on which type of tile eats most of the processing time.

URL: https://forum.audiogames.net/post/486711/#p486711




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Lucia - OpenSource AudioGame engine written in Python

2019-12-08 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Lucia - OpenSource AudioGame engine written in Python

It is kinda bizarre that we even have to. Why can't one person do it once, then upload the results? ???

URL: https://forum.audiogames.net/post/483816/#p483816




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: keyboard input in pygame extremely unreliable

2019-11-30 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: keyboard input in pygame extremely unreliable

The function empties the event ... queue? Stack? So checking for a single event means that you miss all the other events. If you really want it to work like BGT, you need a dict to map keys to bools, and have a function that updates those for every iteration of your loop.Handling that with Python's scope rules seems kinda annoying, but probably easier than making a whole class for this. If your dict is called keys, you'd put "global keys" as the first line of your function. If it's a class method/property, disregard that.

URL: https://forum.audiogames.net/post/481507/#p481507




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Java and walking in the game.

2019-11-29 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Java and walking in the game.

When you say it doesn't work, what specifically is happening?The methods you gave seem as though they should work[1], with some caveats. First, I'm not sure that keyReleased would fire during a Thread.sleep. Second, what causes the action to repeat while the key is down? Are you relying on it constantly firing, or are you using a timer that repeats the walking bit, but with  if(activate) instead?[1] If you're using Thread.sleep, it should be while nothing at all should be happening during the sleep time. For an example where nothing happens without user input, it's not too bad, but when you try something that is not turn-based, it will be a problem. So yes, it's much better to use timers, even though that means more work just to get walking working.

URL: https://forum.audiogames.net/post/481351/#p481351




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Logical: Realistic Weaponry and Amunition?

2019-11-24 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Logical: Realistic Weaponry and Amunition?

I have no idea how people generally solve the Bullet Problem. The big issue is that bullets are small enough and fast enough that your framerate isn't going to be high enough to handle tracking them realistically.One way to deal with this is to use recursion, or loops if you've specialized your bullet code. This is effectively shoving multiple frames of movement into one, and it is absurdly slow and you should not do it for things like bullets that can come in the dozens to hundreds at any given time. It is, however, the most precise solution, with a variant on collisions to get penetration just right.What I did for EC, and would try for something 3d if I could actually anything, was to not track the bullet itself, but rather, its path. If my bullet is traveling at 100m/s, has a length of 1cm, and my framerate is 50fps, we can do some math to work out the area that bullet passes through:50fps = 0.02s/frame.100m/s × 0.02s/frame = 2m/frameSo instead of tracking a bullet, I track a rectangle (or cylinder in 3d) that's 2m long, and the bullet's width wide. Maybe a little wider, since millimeter precision in audio is a pest.Of course, you still have all those bullets to track. You can try to organize your physics in a more scenegraph type structure, but unless your automatic weapon is only pretending to shoot all those bullets and is actually shooting fewer superbullets, those would probably lose all the advantages of a scenegraph, and possibly even invoke more overhead by moving around so far so fast.FTR, EC does not use scenegraphs. It just uses boring arrays and for-loops. The main trick I pulled was stepping enemies at half the framerate when they're far from the camera. I didn't do anything like that for projectiles, but as you can imagine, this would be problematic for bullets, since they'd go back to being too small and need the regular framerate.I did use some other tricks involving the mortality rate of shapes, but I doubt that's causing the issues for most FPSes. And this was mostly in AI and character movement, although projectiles were a huge deal (my main test for the worst case was Suzuki's Lightning Attack, preferably with multiple bursts from gunmen also happening. The efficiency gains in this case were actually huge, like a factor of 10-100 if I remember correctly.).Somehow, I doubt that's actually going to help much. Scenegraphing might help if you, say, have a big FPS with dozens of active players, but most of them are nowhere near the highest density of bullets. But I only barely think I understand scenegraphs well enough to be using the term correctly, so Idk.The Sonic games have an interesting approach to the way Rings are handled. I don't actually understand it, only know that they had to design something special to permit arbitrary numbers of Rings on screen at once. But, like, you can have a huge number of rings on screen, and they are animated and can be moving, and this is with only 65k of RAM. How's that work?Were I really, really determined to make full auto viable, I might try grouping bullets together into a single Bullet Stream object. This would probably only work if the bullets are all going in the same direction from the same origin. Or, rather, that's the easiest way to do it. The hard way is to keep the bullets grouped together in a Path, where each vertex is a bullet. Keeping track of velocities for each individual bullet would require more than the typical path supports, but it would still treat your bullet storm as a single geometric object. Collinear bullet streams would be much, much simpler, but would also limit the advantage you could get (if you're strafing with the trigger held, you're back to every bullet on its own).There are probably a bunch of articles out there pointing out the flaws in everything I've suggested, with some other, cleverer solutions. I kinda want to work out the Bullet Stream thing, now, though. Hmm.

URL: https://forum.audiogames.net/post/479553/#p479553




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Why is this not working( bgt)?

2019-11-04 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Why is this not working( bgt)?

You cannot call methods like data.set in the global scope. This must be done inside a function or method. You could move the line into  main, and it should work.

URL: https://forum.audiogames.net/post/472769/#p472769




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Is Python harder than BGT?

2019-11-04 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Is Python harder than BGT?

Python, as well as most libraries you'd be using, are completely free. Some libraries have more complex licenses that care about whether or not they're being used in a commercial project. Python in general, though, is free.

URL: https://forum.audiogames.net/post/472626/#p472626




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: looking for example of webpage with empty buttons for uni presentation

2019-11-03 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: looking for example of webpage with empty buttons for uni presentation

Last I checked, Dominos' rating buttons just say "star". I remember OKCupid's multiple choice questions having buttons that just read the question, or all the answers and good luck keeping track of which button you're on (assuming they're in the right order). Both of these had perfectly readable buttons in the past, leaving me perplexed as to what fancy new "upgrade to the best or you suck" wigits they switched to in order to break them.This is bugging me because I ran into just such a webpage within the past week, and left because this made it unreliable, but I have no idea what page it was. I do remember trying to donate to the #teamTrees thing on Youtube, but fwict it was inaccessible on Safari in iOS whatever version I'm using. Not sure how NVDA plays with it in Chrome or Firefox.

URL: https://forum.audiogames.net/post/472306/#p472306




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: BGT includes?

2019-11-03 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: BGT includes?

https://www.sendspace.com/file/mkg8ng

URL: https://forum.audiogames.net/post/472305/#p472305




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Lucia - OpenSource AudioGame engine written in Python

2019-11-01 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Lucia - OpenSource AudioGame engine written in Python

IMO, the rotation stuff should be lowest priority. Generally speaking, you either want a complete, pro-quality library, or to be able to do it yourself, if you actually need that functionality. It's the more basic stuff I'd worry about; give a very solid foundation to build on, then users can contribute to the higher level stuff.

URL: https://forum.audiogames.net/post/471478/#p471478




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: 3d audio in bgt using camlorn audio!

2019-10-29 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: 3d audio in bgt using camlorn audio!

The fmodex wrapper does mp3. No idea if it's still online anywhere.

URL: https://forum.audiogames.net/post/471117/#p471117




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: 3d audio in bgt using camlorn audio!

2019-10-29 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: 3d audio in bgt using camlorn audio!

I expect that's because of bugs in the camlorn_audio wrapper, where it tried to mix a sound_pool style positioning system with the camlorn_audio approach (CA is mostly just an openALSoft wrapper, tbc). I fixed this, and the new problems are mostly with reverb and eax effects.There's a fmodex wrapper somewhere. Unfortunately, reverb_properties is a struct, so you can't use those from BGT without an intermediate wrapper to map them to types BGT can access. I tried writing one, but my C compiler broke and refuses to fix itself, and tbh it's not worth it anyway.

URL: https://forum.audiogames.net/post/471078/#p471078




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Lucia - OpenSource AudioGame engine written in Python

2019-10-27 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Lucia - OpenSource AudioGame engine written in Python

No one's ever managed to explain right / left handed coordinate systems verbally in a way that makes sense to me. Can we just say which direction is positive x / y? "When you put your hand like this" ... there are like three ways to put your hand like that.Another personal bias: the fact that we always use degrees when trying to program rotation. Someone right a post in the articles room explaining radians, so we don't have to rely on everyone having taken a Trig class, because when programming, degrees are a waste of calculations. I'd do it, but I communicate as effectively as a hibernating squirrel. It'd be like, "you know how circumference is 2×pi×radius? That's because the length of an arc is theta×radius, and 2pi is a full circle." Then somehow expect that to work. It's like, think of angles as fractions of a circle, and pi is half a circle, so pi/2 is 90dg, pi/4 is 45dg, pi/6 is 30dg, etc. This lets you do all sorts of esoteric trig crap I don't really remember to rotate things more quickly, rather than having to use atan2, convert to degrees, add some degrees, convert back, and somehow apply that to the point or something. ... This is only one reason I'm not a teacher.

URL: https://forum.audiogames.net/post/470787/#p470787




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Rock, paper and scissors!

2019-10-26 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Rock, paper and scissors!

Not sure if this would work wrapped in an exe, but maybe running it from the command prompt would make it possible to catch any error messages that might appear when it closes?

URL: https://forum.audiogames.net/post/470689/#p470689




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-24 Thread AudioGames . net ForumDevelopers room : CAE_Jones via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

Yeah. I figure that most of that, other than the reverb, can be easily reproduced if you can write wav data directly, but the way it has so much friendliness for both music and retro-style sound-effects is quite nice.

URL: https://forum.audiogames.net/post/470330/#p470330




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


  1   2   3   4   5   6   7   8   >