Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / blind game developer with level creation questions

Author
Message
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 06:23
Hi.

I'm new to dbp but not new to programming. Just for some background… I'm a blind programmer and have worked full-time as a classic asp and now a .net web developer for the past 7 years. I create audio games for the blind as a hobby business. I.E I use DirectSound/DirectInput but no graphics. Totally an audio game. For reading the message board and email etc. I use a screen reader to read what is on the screen.

With that out of the way, I'm here to try to get some help with level creation and trying to take sighted ways of doing things in dbp and translate them to blind ways of doing things. Hmmmmm. Challenging! While I would say I am not a professional game developer, I would say I am a strong intermediate developer and certainly not a beginner. I'm exploring dbp since I actually, for the past 4 months, have been programming my own 3d audio engine to create role-play games or FPS games via DirectX 9 managed code.

I came across dbp while researching some game engine design concepts and just thought, hey, lets just try this out for giggles. I was up and running with a listener and an enemy panning around me in 3d space in about an hour. That drew my interest grin so I've shoved my engine aside for a while to dive into this and see if it will work for me. Could be a big timesaver.

Previously, when programming levels in my own way, I' use a 2-diminsional array for the level, such as 100x100, and then use squares on that grid to setup rooms, place object in the rooms via id, and then shoot off triggers when I came close to a cell that had something in it. I would use the players coordinates in x/y values to move him around. This is far from true 3d modeling since everything is just squares.

I'm wondering if I will be able to do some 3d level modeling using dbp and simple text files read into the engine. I.E storing the level information in the text file such as cubes/spheres/etc. for levels but with no graphics? Wondering if that would enhance the 3d audio effects if rooms and the area had actual shapes?

My initial question is this… how would you setup a level in a text file to create objects in the game and have the engine read it in?

While my questions may seem basic, it is more less design concepts I am after and if dbp will let me pull this off. Coming up with ways of doing the tasks is what I need some brainstorming help with. I'm fine with the dbp syntax. Just need some ways of doing these tasks more les.

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 19th Oct 2005 11:48
Well this is strange, not your ideas, but actually typing to someone who'll have to listen to it, I'm not even sure if I should add a smilie .

Recently there was someone who made a 3D hearing game, not sure how similar it is to yours, I think it was like a shoot em up, like you hear something comming from the left so you shoot left - I'll see if I can find a link to it in a bit.

The 3D sound commands in Darkbasic are really easy to use, but I don't think they'll react to their position, really you'll have to work on that yourself. Using boxes and spheres to layout the level is a good idea - simple shapes like that could use clever sound handling though to get the most from them.

Like, instead of using a single 3D sound, you might want to consider some virtual bats. Like if you have an item that the player has to find, emit a warm humm sound from it, but add echo sounds too - not so it sounds cool, but maybe like a little spot effect - like when you tap a metal pipe. Anyway, you'd start your sound loop at a specific location, then from that location you have virtual bats emitting around the place - basically each bat will fly out from the sound origin, and if it hit's a cube or sphere you can then calculate the bounce vector and set the bat off, like deflecting off the other cubes and spheres. You'd start the volume at 100% then when it bounces it should play it's sound (like the tap on a metal pipe) and reduce it's volume constantly.

Imagine firing a bat down a corridor at an angle and listening to it ricochet all the way down with 3D sound - a 5.1 speaker system would make that sound awesome, and it would be a nice way to destinguish the level layout. The other nice thing is that these bats would be barely audible unless you were quite close, like the closer you get to the target the more bats you'd hear bouncing around.

As for level design, well I would'nt design any levels, I'd set some variables like difficulty and complexity, and make the game design it's own levels so you'd have less to worry about, and unlimited levels to play on too, a win win situation there.

Just let me know if there's something you'd like me to look into, like level generation or the virtual bats, the bats would need a decent line intersection check, but that's the sort of thing that would be best added after the level handling was done.


Van-B

Put those fiery biscuits away!
Tinkergirl
20
Years of Service
User Offline
Joined: 1st Jul 2003
Location: United Kingdom
Posted: 19th Oct 2005 11:59
Ah, darn - someone else here looking to do games like this. *chuckles*

Firstly I'd reccomend you look for the advanced audio plugin in the game announcements board. That has support for more kinds of sound files (oggs, etc) and also has a built in system for sound triggers in volumes. I was most interested to see that it had that - I'm sure it would take a bit of the pain out of it for you.

I'm fairly sure that there's another plugin (I think it's TGC official) that enables the use of... oh darn I can't remember the name of it. Where you can make sounds sound like they're coming from the inside of a hall, or a cathedral, or a toilet I'm sure that would add a lot to your engine too.

I'd done a bit of planning for an audio game myself, and I feel I ought to 'give away' some of my ideas. Seeing as you'd know better than anyone how they'd help or hinder someone sight impaired.

1. A 'North' sound. This was going to be a quiet and toggleable North twinkle sound so that the player could orientate themselves in the world.
2. A 'footstep texture' - while this might be of little help to you, I was going to read in a texture file painted with different colours to represent different ground types for choosing the right footstep sound to play. Not sure how on a creation side you could use this, if at all, I'm afraid.

Anyway - hope I helped, and if nothing else, I'd love to talk to you more about audio-only game creation. And maybe even rope you into beta testing some of my own! ;D
Lampton Worm
21
Years of Service
User Offline
Joined: 4th Sep 2002
Location: United Kingdom
Posted: 19th Oct 2005 12:34 Edited at: 19th Oct 2005 12:36
Hi,

The pack Tinkergirl mentioned is the DBP Enhancements pack, which gives you some extended commands, the EAX (Environmental Audio Effects) and the Speech commands could come in handy in particular.

As for creating a level in a text file, that's one way to go, you could read this in easily enough using the File commands in DBP.

p.s. Van B, good idea on the self generating levels.

Cheers
Tinkergirl
20
Years of Service
User Offline
Joined: 1st Jul 2003
Location: United Kingdom
Posted: 19th Oct 2005 12:40
Thanks Lampton, couldn't remember the name

And here's a link to that user-made Audio Enhancement pack - http://forum.thegamecreators.com/?m=forum_view&t=61235&b=5
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 19th Oct 2005 14:41 Edited at: 19th Oct 2005 14:43
Sounds interesting. My son has a sight-impaired friend and it's something I've considered in the past.

Using 3D objects would be a good idea, in my opinion. You can use them, as you say, to position your game entities. You can also use the standard movement commands to shift things around.

The 3D sounds can be very easily "attached" to your objects.

Attached is a small test. It is the project files (dbpro and dba) and sound files (sound1.wav, sound2.wav). It positions 3D sounds at the centre of 2 cubes. The cubes are orbiting at opposite sides of a circumference. So in theory, the 2 sounds should also move around you as the cubes move. I don't know if it proves or disproves that this works well, my sound system is quite inferior!

Click Here To Download The Sample Project

Attachments

Login to view attachments
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 19th Oct 2005 15:22
One thing to note about 3D sounds in DBPro, the scale is often a big issue.

Like often you'll find it hard to get the volumes right because the behaviour of different sounds is quite tricky to replicate. For instance you might have a wasp buzzing around your head, while someone smashes up a piano, replicating that would be tricky in DBPro.

I suggest a soundscape. Like you pass your 3D coordinates to a function to play the sound, and you also specify the scale of the sound. The listener is always the camera location, so taking the sound location and camera location, you'd work out the difference and multiply it by the scale before adding it back onto the sound location and positioning according to it's scale - I found this necessery with a FPS project I'm working on, the scaling seemed to make it much easier to get the volumes right. Those wasps would probably sound more realistic at a short scale, so the sounds are very close and audible, while the piano violence could be positioned so that it's audible enough - the important thing I think is to ensure that both sounds are audible, and allow for a sound to be exagerated when need be.


Van-B

Put those fiery biscuits away!
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 15:38
Hi All.

Thanks for the input. I'll have to look into extending some of dbp via the other dll files. Van-b you had an interesting concept that I was just chewing on. Actually talking to a physics programmer at dbp about it. Essentially an open ended level that was a virtual/dynamic game. You stated...

As for level design, well I would'nt design any levels, I'd set some variables like difficulty and complexity, and make the game design it's own levels
so you'd have less to worry about, and unlimited levels to play on too, a win win situation there.


I agree with this and this approach sounds like the most time efficient.

All, any ideas on how to do this? For example, if I was creating a questing sort of rpg, sort of like Everquest, not multiplay though, just questing around finding things and having a few battle scenes, how could I do this? Let the game randomly pick what object to enstantiate and place it in the world close to the user so they are forced to encounter it? hmmmm. Or... setup predefined objects on that level and then just let the engine randomly place it on the level or keep all objects at exact positioning? I tend to think random placement might add more replay value to the product. How then could they find their way back to the object if the world is so open ended and dynamic? I could use a compass with north/south/east/west etc that spoke the direction. Possibly even let them drop markers to pinpoint the spot, like some games use, maybe let them portal to it, etc. Of course, all fitting sounds to keep the player emersed. Navigation is a totally different idea I'd like to chat about but for now, mostly trying to figure out how to present the world to the user that will not be a pain in the rear for me to code but make it somewhat realistic to the blind gamer.

We could also apply this/chat about this even if it was an FPS like any spacestation type FPS. Mostly after concepts on how to setup the world and deal with navigation.

Thanks for the input so far... good stuff. All input welcomed and appreciated!

Thanks.

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Me!
18
Years of Service
User Offline
Joined: 26th Jul 2005
Location:
Posted: 19th Oct 2005 15:52 Edited at: 19th Oct 2005 15:53
you mentioned the surroundings altering the sound, that doesn`t work like that in DB or any other language I know of, even in commercial games sounds often just have a radius, if you are the other side of a stone walled fortress you can often still hear something like the clock ticking in the room inside, to make the sounds alter according to the surroundings would require you do some sort of calculatios for room cubic volume, the material in the room and the "line of hearing" rather than the more normal "line of sight", although matters are complicated by the fact that you can hear things around corners when you can`t see them, to get a game that alters sound according to environment would be rather tricky, like I say commercial games only do this in a rough sense.

maybe you could get good results by having a grid like you said then make some sort of editor that positions sounds, works out how they would sound at each point, then adds that information to the grid, rather like light mapping in levels is precalculated, only this would be sound mapping, now you mention it sound in games is rather casualy done, limiting it by zones and wall boundarys is relativey easy as long as the wall doesn`t span a zone and spoil the effect, but other things like echo or doors opening alter the "map", I think something that precalculates levels is limited by that, what you need is maybe a realtime sound mapping system, so open doors and moving objects come out right, maybe a different overlaid volume setting for each possible door being open etc, it`s quite trick when you think about it, or at least I can`t think of a simple way to do it <puzzled>.

Me!

Tyger software
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 19th Oct 2005 16:26
An RPG would be very cool Frekster, it depends a lot on what you want the player to experience though. I mean you could make some pretty freightening scenarios, which might not be ideal for younger players - it's not that these elements would be intentional, but more that the gameplay might rely on them.

For example, I'd make a maze, like position the vital parts inside a solid level, then dig tunnels from each part into a tunnel network. Then I'd make it so no sound can exist inside a wall, so maybe you'd have to cheat a little - like letting sounds travel closer to the player when they can. Ideally you'd have the sounds that happen inside a room, happening in the corridor, but only as loud as is sensible. Like if you project a hearing star from the player position, you could try to pick up sounds and adjust the volumes to suit. Imagine your player has spikes protruding around their head that go out for a fair distance, well each spike could be considered an ear - if you run past a corrider with a noisy interesting room at the end, the hearing spikes would find the sounds at the end and you could increase the volume - imagine running down a corridor listening for a specific sound, I think your on the right track with mimicking a true 3D level in sound, it's the only way to get the illusion of space.

For enemies, you could have them growling etc as they run around the level - they might not be able to see you, but if you get too close they would find you. It might be kinda creepy, listening to monsters wandering about, running away from them, hiding etc - but it might be great fun too. You might hear footsteps getting closer, so you shuffle into a corner and wait till they pass. Emitting a little noise when you rustle against the walls as well as Tinkers idea of an audible north should give the player enough to go on to be able to ascertain the floor layout and hopefully remember the odd hiding place - that could be a very tense game, something I'd certainly want to get 5.1 headphones for and give a try .

I actually have a path finding system that is a bit organic, it would be usefull for AI, like the player might make a noise, then the enemies know where to head - but it could adopt a sound system too, like each sound would have a range, and the path finder would help keep the sound logical. For example, if you set off a sound in a little room with a corridor, you could let the majority of the sound leak into the corridor and become very audible when you pass by, like get louder and louder as you walk down the corridor, but be inaudable elsewhere on the level.


Van-B

Put those fiery biscuits away!
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 16:53
Hi van-b.

For example, I'd make a maze, like position the vital parts inside a solid level, then dig tunnels from each part into a tunnel network.


Can you explain this to me a little more? This is what I am having trouble coming up with. For example, I don't want the user to have to walk around bumping into things such as walls like a blind mouse feeling its way through a maze grin. That is not realistic game play. A sighted gamer can see walls and easily use the mouse to walk around. That is what I want the blind gamer to be able to do. I want to somehow not use walls in the physical sense on a level, however, I have to use something to confine the user, or do I? In other words, I am after making navigation so seemless that they don't even have to focus on it and can focus on the gameplay and content.

This is what I am after. You mentioned creating a level and tunneling to other levels. Can you try to fit that into what my ideas are for navigation and levels and explain a little more how I might do that in theory?

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Tinkergirl
20
Years of Service
User Offline
Joined: 1st Jul 2003
Location: United Kingdom
Posted: 19th Oct 2005 16:58
Actually, I believe the Thief series was fairly accurate at representing the bouncing of sounds around corners and off materials etc. Might be good to read up about how their engine managed it - I do remember reading that their levels were a pain in the backside to create because everything had to have a sound material on it as well as textures.

As for the creation of levels in a questing type game - why not have it hub/teleport based. You have a town or other hub style area where the player can return to at any time, and a teleporter system. They can choose different levels to go to through the teleporter and it creates a randomised smallish zone with enemies and other challenges. It would work much like "Dot Hack" if anyone's played that.

That way, the hub remains the same, but the zones are always small, random and refreshable. A player can 'clear out' a zone and return to the hub to spend gold and heal up.

Maybe a radar in the zones that when you activate it, it beeps the direction of the next fight/encounter. Much like a seeing-radar has little red dots on it, showing nearby enemies.

Just some thoughts.
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 17:07
Hi Me!

I'm aware how the industry trys to mimic sounds real-time such as hearing something around a corner and so on and how it is sort of faked/half done to get the effect. In other words, not entirely accurate. I am not at all after anything that advanced.

I primarily want to create a level that lets a user navigate seemlessly through the level, not bumping into walls and the such, and just placing objects at various places on the map for them to interact with and trigger them.

I do not mean to come across as unappreciative for the audio ideas, but... as far as how to use sound to help the user along or cue them, I am ok with all that ... I have been producing commercially sold audio games for 3 years now so as far as how to help the user along the game world via audio cues, got that covered grin.

I'm mostly after how to create a level that is easy for me to program, and secondly, easy for the user to navigate. For example, I don't want them to walk and just bump into walls. It would be great to have a level where they could walk in the world and never hit a wall. Not entirely realistic, however, it sort of helps paint what I am after... seemless navigation on the map for the blind gamer.

I'm hoping dbp will help me do this and speed up development of my games. I just don't want to get bogged down with gritty details of map creation and navigation. Looking for a way to make all of that easier on me as a developer and easier on the blind gamer as a user.
Any ideas on how to possibly pull that off?

All input welcomed and as always... thanks for all the input... good stuff!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 17:42
Hi Tinkergirl.

ya, sort of like the deablo (sorry for spelling) style of game. That could certainly work. This is good input. Thanks.

One thing though... I wouldn't want it to just be fighting all the time but questing for certain things. I.E some story line in there.

I wouldnt' use any radar beeps... that would break the emersion grin. Now a magical humm of sorts that was a leading power... that is a different story!

Or... just use NPCs to lead a person along. I.E "welcome to bla ville" this way the person can come back to that NPC and have an understanding as to where he/she is at on the map. This could be extended to include waterfalls, lakes, stuff like that.

hmmmm. another thought... any ideas on how to show the user what areas of the map have not yet been covered? or... which ones have been covered?

Still chewing on this idea some. If a user ports onto a level and starts walking around, I don't want them to feel like they are in a cube/square (2 diminsional array) so... how do I let them know they are at the end of a map/at an edge? Certainly not a "bump" lol sound. Would have to be emersive and realistic to the level, that is, the indication they are at the edge. Or maybe I could just wrap them to the other side automatically so they are unaware of it? Or port them via a portal sound to indicate they were at edge of region and now placed somewhere else on the map/level? Ideas welcomed. It certainly is interesting taking sighted ways of doing these tasks and coming up with accessible versions!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 19th Oct 2005 17:44 Edited at: 19th Oct 2005 18:05
I think I should point out that Frekster is on newcommer status so all his posts have to be approved by a mod, this should'nt last long but will probably confuse people as to why your posts are appearing behind theres .

The thing with generating levels is that in your scenario, you only really need to worry about the vitals - like you have a room that the player needs to go into, it's easy to ensure that they can get in the room - I think your more concearned with how easy it would be to navigate though. I know that when I play FPS games with little lighting, like when you can't distinguish the walls, a sound when I brush along a wall would be very welcome.

With a sliding collision system, it would be a case of letting the user slide around corners - so they could navigate a winding passage by simply running at it - they'd slide around corners and with a little audio cue to tell them they're scraping the walls it would be a matter of easing up on that side and keeping the player moving through the passage. Like if they hear a noise, they could turn towards it and follow it quite easily because even a T junction would let the player slide into it and down it's corridor. I don't think the whole game should be tunnels though - I meant that you'd enter a dungeon and then it would load up a little tunnel section, like the player might dread the tunnels, but I suppose they could be quite challenging, like the place where you'd find the unmined gold and jewels and stuff.

The thing is, my code is often unfathomable, I tend not to even attempt to explain it these days, so it'd be tricky to send you the pathfinding system and explain it - I'd prefer to make you a little demo of basic level creation and navigation. To be honest I've no idea how you manage to code, I mean it's tricky enough when you have full sight, but without actually seeing what's going on, I can't imagine how frustrating that must be.
It would'nt be a hassle to make a demo, I'm quite intruiged now and want to experiment with this stuff so humour me .


Van-B

Put those fiery biscuits away!
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 19th Oct 2005 17:50
The knowing when you've been somewhere problem is an interesting one - I mean we're used to seeing the fog of war, which inhibits the view of the areas - this is a tricky one for sure!.

One thing that might be worth considering is footsteps - like when your on a familiar area the footprints could be quite clean, like walking on a smooth surface, but an unfamiliar are might have crunchier footsteps, like the path is not yet smooth.

I love the idea of an NPC leading you to areas, that would be very cool.


Van-B

Put those fiery biscuits away!
Tinkergirl
20
Years of Service
User Offline
Joined: 1st Jul 2003
Location: United Kingdom
Posted: 19th Oct 2005 18:02
Well, I learned to program on an Acorn Electron without a telly plugged in - I did little sound/beep programs without being able to see what I was typeing. I know it's nowhere near what you do, but I like to think that I can at least appreciate how nasty typos can be

As for limiting the player, I might try a softer approach. Say your level is bordered by a forest and a river. If the player hears the sound of the river, they can tell where that 'wall' is pretty confidently. When they hear their footsteps become muddy/watery, they know they're right on the edge. After that, it might be a case of doing the old "Hmm, can't go that way" voice-in-head. Cheap, but it would give the player a warning that they were approaching the edge of the world.
Same with the forest - the increasing sound of the woods and the crunch under the footsteps would herald the edge of the world, and a sound like trying to get through deep undergrowth might indicate the 'wall'.

Just ideas, I'm sure you can come up with more - as rivers/lakes/sea and forests probably wouldn't be the only things you could border your areas with.

Giving away an idea that I'd wanted to keep to myself, have you considered the use of a 'familiar' animal/pet? A small moveable waypoint that you could use to guide the player.

"Hey Sparky - let's go see the old man in the tower."

Sparky then flies/runs/teleports to a place within hearing that leads the way to the old man in the tower until you get close, beeping/singing/barking/calling you closer. At which point, Sparky is off again to another waypoint, leading you to your destination.

Ok, so I've given away one of my favourite ideas. Be gentle with it - I liked it a lot
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 19th Oct 2005 18:10
Balancing atmospheric sounds is a nice idea Tinkergirl, like when you approach a cliff you might hear the wind quite loudly, maybe even some eagles yelping to warn you away .


Van-B

Put those fiery biscuits away!
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 18:25
Hi Tinkergirl.

Yes, in fact I have thought of an aid in the game... an eagle, for example, or hawk, that could help lead the player.

In fantasy games, this is legal, in my opinion, a talking character (or whatever) that goes along with the player. And... you just might be able to lose that helper in the game as well to introduce more challenge!

You may not start with the character, but after your stats are high enough... you can find it.

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 18:28
Hi Van-B.

The thing is, my code is often unfathomable, I tend not to even attempt to explain it these days, so it'd be tricky to send you the pathfinding system and
explain it - I'd prefer to make you a little demo of basic level creation and navigation. To be honest I've no idea how you manage to code, I mean it's
tricky enough when you have full sight, but without actually seeing what's going on, I can't imagine how frustrating that must be.


This would be good... a simple demo of map creation and navigation. Nothing fully flushed, just a simple basic concept idea showing yoru ideas.

As far as programming goes, being bllind, Microsoft is *huge* on accessibility so they really make my job comfortable. Certainly not easy, but doable.

Ya, I certainly am the minority but heh its all good grin.

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 18:32
Hi Tinkergirl.

The ogg file support -- good to know there is a way to support that in dbp. I use ogg in my audio games since I personally feel it sounds better than mp3 at lower bit rates. That's just my opinion though. In audio games, as you can imagine, I use twice that of a sighted game since I am painting all scenes via sounds and not graphics. I personally draw deep satisfaction from this... it is like being a blind artist! The perfect sound for a scene can break emersion or send a chill up the blind users back!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
CodemanV
18
Years of Service
User Offline
Joined: 25th Aug 2005
Location: South Wales Valleys, UK
Posted: 19th Oct 2005 19:10
Quote: "hmmmm. another thought... any ideas on how to show the user what areas of the map have not yet been covered? or... which ones have been covered?"


Try using different background music for different map zones and make the music part of the player positional system.

Something like

New Area = drums or upbeat music
Active Area Already Covered = normal music playing when in a map area that's still in play
Inactive Area Already Covered = Just a synth backwash drone or wind noise in an area that is not part of the gameplay anymore.
Found Target Area = Trumept fanfare or a choir of angles singing "Ahhhh"

No music could mean that you are in an active area but need to solve the area by listening to the sound FX for clues. This gives the game a bit of mystery then.

You could also position the music in 3D space so that the player gets a sense of direction of where the zones are.

e.g.
Quiet drums behind means turn around until drums are in front and then head for the drums.
The drums get louder ( not too loud, just to give a sense of approaching)
Then the drums stop and angels begin singing "Ahhhhhhh!" when you arrive.
They fade out to no music and the player has to listen for sound FX to get clues or listen to the guide (Sparky?) for something.

Of course, they don't have to be drums, use music that suits the game style, in RPG you could use variations of ye ole lute music.

Hmmmmmm, got me thinking this has.
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 19:14
Hi BatVink.

Thanks for the code sample. I plan to d/l it soon to tinker with it.

I'm really thinking of just defining objects and size them/place them on the level and then attaching 3d audio sounds to them. I did that in dbp already and it was neat to see how easy it was to do. I created a sphere object, set its diminsions to 10, and then created a 3d audio buffer and mmatched its x/y/z up to the sphere on the map. I then created a camera and used it as the player, programmed the up/down/left/right keys for movement and shift+up/down/left/right for camera rotation.

Fun stuff!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 19th Oct 2005 19:16
Frekster, I'll get around to your last 2 e-mail's soon.
Just been a bit hectic with the new build of 5.9 due out Friday.

Good to see you've joined the community for some help, hopefully this topic will stay on-topic as I'm quite interested to see or probably rather hear what comes of all the ideas.

To finish my previous though on using 3D sound, the physical level design is fairly unimportant as there are no functions or such for being able to process sound in the 3D world and resonate, reverb, and echo based on what walls it has hit.

You have however given me a very good idea. I was talking with Jeku (I'm sure you'll see him about here somewhere), about how it would be possible to impliment a system that used the world to create more realistic sound. His suggestion was to tie it in to the Physics System.

Permission has finally been given for the 'professional' physics engine that is going to be implimented, so I've been wracking my brain over this and I think using the DirectSound System that I've come up with an interesting solution that would tie in with the new Physics API.

Well anyways, hopefully you'll be able to see whatever the heck I came up with in Novermber.

I'd say you've got more than enough here to think about though.

Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 19:48
Hi Raven,

np. I know what being busy is... we are under a large deadline/crunch at my day job so np.

I always find it interesting how I get sighted programmers thinking grin. It is really neat... you'd be surprised how we can help one another out in various ways.

For example, it's like when I was in college taking an anatomy and physiology course... the instructor, at the end of the course, said I'd helped him more than anything because he had to be more descriptive in lecture for physical attributes of the body. He explained that the other students had no clue he was doing it for me, but in reality it made his lectures more detailed and interesting for everyone involved.

Same is true with audio in a game...

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 19:58
CodemanV,

*great* ideas for areas of the map... thanks for the input!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 20:06
CodemanV,

Another thought here. I've researched this some -- how sighted games do this and am wondering if there is a way to translate it to a blind way of doing it. Some games let the user see a little pop up map to see where they have not yet quested. To have the ability to pop up a little map to "look at" would be slick! Any thoughts on how to possibly pull that off? I could let them hit a keystroke to pull the map up and use the arrow keys to move around it and hear such and such as they look around the little version of the map. I.E a 2 dim array /like an excel spredsheet. Perhaps a in-game person can explain things to the gamer/appear when they pull up the map "you have summoned me to bla bla" and then with the arrow keys move around the map and the little helper would explain what things are. hmmmm.

thoughts/ideas welcomed!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 19th Oct 2005 22:35
BTW Raven will be looking forward to seeing what you get in there come November... I'm certain it will be superb!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
JoelJ
20
Years of Service
User Offline
Joined: 8th Sep 2003
Location: UTAH
Posted: 20th Oct 2005 00:21
after reading your posts, i just can't figure out how you don't go nuts being blind and program.

I know I would go crazy and just give up hahaha, weee! that's just me though

I'll give you some toast
My BLOG really sucks...
Tinkergirl
20
Years of Service
User Offline
Joined: 1st Jul 2003
Location: United Kingdom
Posted: 20th Oct 2005 01:05 Edited at: 20th Oct 2005 01:07
Quote: "I am painting all scenes via sounds and not graphics. I personally draw deep satisfaction from this... it is like being a blind artist! The perfect sound for a scene can break emersion or send a chill up the blind users back!"


No doubt. I have the design for an audio game that's been bubbling away at the back of my brain for a while now - and I really can imagine (I don't have a visual imagination) how rich and wonderful a well crafted audio game experience could be. I've played a couple of audio games (the sci-fi FPS on in particular) but I kept feeling they could be better. Workmates certainly give you odd looks when you sit at the PC with the monitor off and your eyes closed

It's about time audio stopped being the forgotten child of game creation - playing second fiddle to graphics

Edit: Incidently, if you want to quote text, you may want to use the quote tags. They're open square brackets with quote, and open square brackets with forward slash quote. Just a thought as I've been reading a few of your posts and only realised half way through that it was a quote from someone else. Not a problem, just if you wanted to know
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 04:33
Hi Joel.

Well, programming as a blind person is challenging... but isn't it even when you are sighted to a certain degree? Think of the first data structures course you had in c++ at college *grin*. Lord lets not even talk about pointers! I'd say most would agree it was challenging to a certain degree. What makes programming challenging, in my opinion, is learning the syntax and the theory behind tasks you want to perform. Past that, it is just a simple matter of pecking out the text and compiling/debugging. Don't get me wrong, I am not at all saying it is a breeze for me, I often times have to put in twice that of my sighted partners, but heh, I love a challenge. However, about programming in general... my signature says it all

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 04:56
Hi Tinkergirl.

Thanks for the tip on the quotes. I will start doing that. I'm hoping in the next day or so that you and van-b, and others, will continue to help me define a navigation system and some concepts for level creation so I can dive into this beast and begin programming it.

So far, everyone here has really given me some great ideas and I appreciate it. Please keep them coming. No matter how silly you might think they are, share it. Chances are... I could use it directly or derive something from it.

I'm starting to see the game laid out as follows (feel free to chime in any ideas/anyone)

1. The game will have small levels, for example, 30x30. This will minimize the amount of questing a person has to do on a level and make it easier for the blind gamer to find things.

2. levels will be tied together via portaling to them from a central portal.

3. levels may, or may not be, randomly generated by the engine.

4. the user will know they are at the edge of the level/map via sound indicators such as forest leaves rustleing, game player saying "can't go that way", streams, etc.

5. NPC and other environment sounds, such as water falls etc., will be used to convey location and direction to the blind gamer.

6. The user will have a device, or character, that lets them know how much is left on the level to find or destroy and/or also the direction they are walking.

7. navigation on levels will be open ended/no real halls and the such. This will make navigation seemless to the blind gamer.

8. a 2 diminsional array will be used to setup the size of the level and then 3d objects, such as cubes/spheres, etc., will be placed on the level to setup various objects for the level. 3d audio will be attach to those objects such as enemies, devices or places to interact with, etc.

9. music will be used, or perhaps other region sounds, to let a user know they have quested here, or, this is new teritory they have not adventured in yet.

I still need to come up with the following which is not a complete list:

1. A way to pop up a little mini-map to let the user have a snap shot of the world to move around on via the arrow keys and see what has been conquered and what is still left to quest. hmmmmm. perhaps I can have a toggle that shows conquered areas and then toggle to non-conquered areas and yet another to show both. Or, maybe just unconquered areas is all they need to know? This more than likely would be a simple 2 diminsional array that they arrow around listening to areas or regions that are still left to quest.

2. Footsteps. The player... does he move 1 grid slot at a time with each arrow key press to make things easier?

3. Do I need to make a player object, such as a cube, and attach a camera to it, or, can I just use a camera as the player?


4. Do I need to put a colision square around my player so colision is handled correctly by dbp?

I've got some more questions but cannot think of them right now.

If anyone has some ideas, or input, please feel free to share.

Thanks!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 05:13
Another question I have -- is there any built in AI you can use in dbp to speed up development? I did a quick search on the forums for ai and didn't find much. If not, np, I can program it but... for example: Basic Chasing and Evading, Line-of-Sight Chasing, Pattern Movement, stuff like that.

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Jess T
Retired Moderator
20
Years of Service
User Offline
Joined: 20th Sep 2003
Location: Over There... Kablam!
Posted: 20th Oct 2005 07:21
Hey Frekster,

Quote: "I want to somehow not use walls in the physical sense on a level, however, I have to use something to confine the user, or do I?"


Just a random idea that popped into my head when you mentioned that - How about some sort of a 'rumble' sound. Really low frequency, just audible, low enough volume not to occlude other sounds, and have it increase in frequency as the player gets closer to an object.

So, it'd be an audio collision system.

Where sighted players are able to judge the distance from a wall by just looking ( using parallax effects of the eyes, and the pseudo-3D of graphics ), blind players are able to judge the distance from a wall by listening to the frequency.

It'd take a little for the player to get used to - Testing out the limits such as 'Such and such a frequency means you're just about to hit the wall', 'not able to hear the rumble at all means you're not anywhere near a wall', etc.

As an alternative to increasing frequency, an increase in the volume of the rumble ( only ever so slightly, though ) could be used. Again, you don't want to occlude other sounds in the game.


As for level design, VanB's original suggestion sounds like the best one.
To do that, I would go about making a 'level editor' of sorts to set up some sort of objective system.
Basically, make yourself a very basic audio-game, then put in controls for you to place items/objects/sounds/objectives/trigger zones, etc, and write that out to a file.
Then, take the same audio game without those controls in it, and program it to read in the file, and add a random element to it.
In this fashion, you would be creating 'static' levels that are random each time. Much like, as you said, Diablo.

On the code side of things, you need to consider using a perfectly top-down ( so, vertical ) camera controlled by the arrow keys ( or mouse if you wish ), where you can easily move around the 'map'.
From there, you need some trigger keys, so just using the numpad for example, to 'drop' an item/sound/etc directly onto where the middle of the map is right now.

For you to navigate that map in the 'editor', you would need a simple system whereby when an item/sound etc comes on screen, you are audibly notified, and given an approximate location, so if you wish to edit or remove it, or place something near it, you can simply move over to it.
Consider maybe using a naming system, whereby when you place an item/sound etc, you are prompted for a name, which is then read back to you for each item when they appear on screen - just to give uniqueness to every single item in the 'world'.

Continuing from there, you have to save all this to a file. Just take each item, its type ( so, you'd associate a string with each one and name it "item" or "sound" etc ), its world coordinates, the unique names you gave them, other possible things like sizes or rotations, the last camera position, and write all that out to a file so that your level editor can read it back in straight away next time you want to edit.

For the actual game, you would output a file that didn't have those unique names, and other editor-only attributes, but would instead contain all the data about each object, which would then be fed into a 'world builder'.

This world builder would be used to create rooms from pre-set designs ( that you would have to make another editor for basically in the same manner ), as well as open area's - grass patches, boulders, burnt out car, etc. The world builder would take each of these, and randomly position/link them together to make a world, which would accommodate the items/sounds etc you outputted from the original editor.
It'd be a tricky process to balance correctly, however, once you have it done properly for one thing ( such as random rooms and linking them ), then you can simply apply that approach to all the other aspects, and everything should just fall into place ( I make it sound easy... Easy is what it isn't! ).


Anyway, again I wish you the best of luck with it, and I am more than interested to see what comes out of this project. Be sure to keep us updated with posts in the WIP forum or Program Announcements ( if you have a full game ).

Cheers,
Jess.

Team EOD :: All-Round Nice Guy
Want Better dbHelp Files?
Jess T
Retired Moderator
20
Years of Service
User Offline
Joined: 20th Sep 2003
Location: Over There... Kablam!
Posted: 20th Oct 2005 07:34
Quote: "1. A way to pop up a little mini-map to let the user have a snap shot of the world"


I like that idea. I was thinking of the same thing, and have kind of a directed map ( press left to move 'forward' a level, and right to move 'backward' a level ), that way they player can't get lost by moving up 2, left 4, down 9 and right 1, forgetting where they started from.
Basically, the helper would jump in and say "Hey, Bill! We've already been to Lakesville, that's where we got those cases of Gold!", or "Oooh, a new area... What's it called now? Lakesville. Sounds pleasant, let's get on over there and get us some goodies!". I'm thinking something like the Dungeon Keeper ( 1 and 2 ) style of map descriptions here ( They always crack me up! So original, and they have exactly the right amount of feeling behind them from the narrator - Brilliant! ).


Quote: "2. Footsteps. The player... does he move 1 grid slot at a time with each arrow key press to make things easier?"


I wouldn't restrict the player to a grid. Have free roaming, but be sure you use some methods of displaying that they're about to collide, or that town X is over to the left, etc. Even in a hearing only game, a grid would be too restricting on the player.


Quote: "3. Do I need to make a player object, such as a cube, and attach a camera to it, or, can I just use a camera as the player?

4. Do I need to put a colision square around my player so colision is handled correctly by dbp?"


It's generally easier for using basic cube collisions if you use a cube, and orient the camera to that cube, however, if you are using a dedicated collision system, where you set up collision bounds rather than physical objects, then you can just use the camera, and set up a collision box around it without having the actual box there.


Quote: "is there any built in AI you can use in dbp to speed up development?"


Have a browse/search of the Code Snippets board:
http://forum.thegamecreators.com/?m=forum_read&i=6

Also, if you're searching, remember that the search for any board only works on that board. That is, if you search while you're in the DarkBASIC Professional board, you will only get results from the DarkBASIC Professional board. But, if instead you use the 'Google Forum Search' box next to the 'Thread Subject Search' box, it will search the entire forums using Google for you!


Cheers,
Jess.

Team EOD :: All-Round Nice Guy
Want Better dbHelp Files?
JoelJ
20
Years of Service
User Offline
Joined: 8th Sep 2003
Location: UTAH
Posted: 20th Oct 2005 07:48
Quote: " I did a quick search on the forums for ai "

you're my favorite "newbie" ever

no one new to these forums even think about using the search feature, heck even I ignore it at times

but, I didn't read through Jess's post, because I don't want to read that much , but in answer to your AI question, there is no built in AI in DBP, but I'm sure if you ask around a bit, a lot of people wouldn't mind helping you

Quote: "but heh, I love a challenge. "

aparently

the reason I thought it would be harder is because I make a lot of spelling mistakes and sometimes i bump keys without knowing until I hit the compile button and it gives me an error, and I don't want to think about what it's would be like to not be able to see and have to pick out those nasty logic errors But I guess it's just something I can't grasp because I can see and I haven't experienced it yet

I'll give you some toast
My BLOG really sucks...
Me!
18
Years of Service
User Offline
Joined: 26th Jul 2005
Location:
Posted: 20th Oct 2005 11:02 Edited at: 20th Oct 2005 11:08
as a thought for walls, couldn`t you do three or two levels of a distinctive "tinny footsteps echo?", so if you where three tiles from a wall in front of you, you would hear the players footsteps echo at low volume, likewise if there is a wall two tiles to the right you hear the echo in the right channel at mid volume, you could have a "jump" button that makes a "person jumping" sound with the echo properties overlaid, if something is over 3 tiles away then you don`t hear it echo back, this would be easy to do, just check each tile up to 3 positions away from the player, left/right and forwards (I didn`t count back since unless you have surround sound you couldn`t do rearwards noise), then if a tile holds a lump of wall play the footstep echo according to the tiles distance, something like...

for i=1 to 3
if map(x+i,y)=wall
set sound volume footecho,120-(33*i)
play sound footecho
next i
for i=1 to 3
if map(x,y+i)=wall
set sound pan footecho,10000
set sound volume footecho,120-(33*i)
play sound footecho
next i
if map(x,y-i)=wall
set sound pan footecho,-10000
set sound volume footecho,120-(33*i)
play sound footecho
next i

or something like that, the array "map" is an array that holds the positions of walls around the player, you could use another map to add other sounds for objects etc.

Me!

[edited for dumb logic error that made sound louder the further away it was]

Tyger software
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 12:40
Hi Jess.

Just sort of thinking aloud in this post...

Quote: "Basically, make yourself a very basic audio-game, then put in controls for you to place witems/objects/sounds/objectives/trigger zones, etc, and write that
out to a file. "


Would dbp let me create this tool/these tools or would it be more logical to create them as a .net windows application? In my mind, I can see me moving to a spot on the map, pressing w, then a dialog appears that lets me select a weapon from a list, or create a new one, and then set properties for that weapon and save it to that spot/file. hmmmmm. Any ideas on how to do that in dbp?

Quote: "For you to navigate that map in the 'editor', you would need a simple system whereby when an item/sound etc comes on screen, you are audibly notified, and
given an approximate location, so if you wish to edit or remove it, or place something near it, you can simply move over to it."


ah, this sounds good. I'm thinking of a dialog triggered by a master key you can press, such as o, for a listing of all objects on the map, with the option to sort/display by specific object type. Objects would be presented in a list box, and once you arrow to it, the position is already fixed based on the properties of that object in the dialog. Then it is just a simple matter of adjusting what you need to adjust and then tabbing to ok and pressing enter to save it to the file. Thinking about using a windows application/.net -- I could use Microsoft Text to Speech to speak things to me such as current location on the map etc. Once again, would it be possible in dbp to make this sort of tool?

I'm wondering if there is a quicker/dirtier way of doing this so I don't have to spend a lot of time programming the tools ? :-|

I'm betting that in addition to having to place the objects on the map, I need to have an object creation tool that lets me set properties/name of an object etc. and then the map level creator would read that in when I press, for example, w for weapons. hmmmm!

Keep it coming it is starting to click...

Good stuff Jess.

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 12:52
Hi Jess.

Quote: " I like that idea. I was thinking of the same thing, and have kind of a directed map ( press left to move 'forward' a level, and right to move 'backward'
a level ), that way they player can't get lost by moving up 2, left 4, down 9 and right 1, forgetting where they started from."


So the map viewer would simply let them move through levels/maps and the narrarator would explain the map/region to them a little bit? In other words, it is only an overall description of the region simply used to see what has been visited, and what has not been visited, rather than a fine detailed map view they can arrrow around to hear "mountains of shardon" ... "carsville" etc. Is that correct?

Quote: "I wouldn't restrict the player to a grid. Have free roaming, but be sure you use some methods of displaying that they're about to collide, or that town
X is over to the left, etc. Even in a hearing only game, a grid would be too restricting on the player. "


Yes, I agree and wish to do this, however, this would be a concern to me. I.E the blind gamer questing around aimlessly in an open world and not coming across objects often enough to keep their interest or, not really knowing how to get to a certain location they are trying to find, such as a town. Any ideas on how to keep this potential weakness out of the game?

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 12:58
 Hi Jess.

Quote: "Just a random idea that popped into my head when you mentioned that - How about some sort of a 'rumble' sound. Really low frequency, just audible,
low enough
volume not to occlude other sounds, and have it increase in frequency as the player gets closer to an object.
"


That might work in an FPS style game, or maybe in an RPG while in a building, but even better... forced feedback rumble on a gamepad!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 13:05
Hi Joel

actually pecking out code in visual studio 2003 is a snap.. it auto completes your syntax and the debugger is a sintch to use/and is very accessible. Not only that, it auto tab indents your code so my sighted partners can see it pretty since I could care less and just code all my stuff flush to the left lol. The task list is great too... lets you just view the errors in a list and then down arrow to what you want to fix and press enter to jump to that line. Not to mention the ability to drop bookmarks all over your code for easy navigation through larger projects.

Any how, ya, the development tools I use (vs 2003 sql server 2000 oracle 10g) is what sighted coders use its just they have never thought of using the tool from a blindness perspective

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 20th Oct 2005 13:21 Edited at: 20th Oct 2005 13:26
Hi Frekster,

I think that you should start with a basic map, whether it's generated from a seed number or designed, you should start with the basics, then in an editor that suits you, you should add the plot, like characters and items. Maybe you'd generate a level, then explore it and formulate a plan for the level design, like where to put characters etc and the overall goal. Building up each level like that should give you a lot of freedom and actually make the design process fun.

I was thinking last night about how I'd tackle the movement, and I happend across an idea. Magnetic paths!. The level would be split into a grid, and each grid location has a material. Using a mix of positive and negative magnetics, you can attract the player onto the correct path. So you might set a road to be +1 magnetic, and the movement system would try to stick to that road, like it'll look for road all the time. Water and cliffs would have a negative magnetic charge so the movement system would push them away. The movement system would allow the player to easily follow roads and paths while keeping them away from level barriers like cliffs and rivers. Things like bridges would get a strong magnetic charge so they're easy to find. The material map could be used to destinguish sounds - so when walking on a path the right sound is used for footsteps, and water could be very nicely rendered using moving loops, like tracing the path of the water with moving sound nodes, it'd make the water very tangible, like you'd be able to hear how quickly and in what direction the water is flowing - so following rivers to find bridges should be nice and easy.

I'm thinking that an auto-generating system that relies on seeds is the best bet - like you'd use a special number to signify the level - this number is used in seeding the level generator, so using the same number each time will generate the same level. For instance, it could be done with the name of the level, like 'Mordor' the engine would take the name Mordor and make a level from it, then with a setup file you could just generate 'Mordor' and add your items and characters specified in the setup file.

With each level using a setup file, you really only need to make manual exits. For example say there's a well in Mordor that leads to a dwarf mine - you could call this level 'Maggot Mine' and the engine could notice the name 'Mine' and know it's a mine level - entering the mine in Mordor loads up the 'Maggot Mine' level you see.

I think that a good way to handle this might be like the old fashioned text adventure games, like you press 'I' and you get the inventory, except you could bind that to a button on a joypad that speaks the players inventory - like they press a button and the inventory get's dictated, then the press another button to select an inventory item while they're being dictated. I reckon joypad control would be a good idea, so the player need'nt necesserily have to sit in front of a PC - I'd personally play a game like that while chilled out on the couch or something. Lots of text to speech stuff, like a narator for the whole game would be nice, you could easily make a nice description for each item or entity or whatever, like press a button to examine the items in front of you. Like the inventory, you press a button and then another button to interupt the list and get a more detailed description.

The best help I could be is making a demo of the level generator, like you specify the name of the level and it does the rest, giving an environment to explore and an entity system. By entity system, I mean like a system that'd let you place items, which might only be signified by looping sounds, but enough to let you experiment and get a feel for how it all could work.

The hero in a game like that needs a cat though - a little meowing cat that will guide the player to places of interest that they may have missed. Might be Tinkers idea but it's a good one.


Van-B

Put those fiery biscuits away!
Jess T
Retired Moderator
20
Years of Service
User Offline
Joined: 20th Sep 2003
Location: Over There... Kablam!
Posted: 20th Oct 2005 13:42
You can create the tools in MS .net, but then you wont have a basic game world framework that you can just drop into your game.

See, if you make a basic, generic kind of game world, then use that as the basis for the editors/tools, and the game itself, then you have already covered the ground work, which can be used across multiple area's!

However, if using .net will get you started quicker, then, by all means, go for it! There's nothing more frustrating in games making than doing the tedious work of level editors - It's the most boring, but it's also the most rewarding. Set it up once, and use it forever!

Quote: "I'm betting that in addition to having to place the objects on the map, I need to have an object creation tool that lets me set properties/name of an object etc."


yes and no.
What you want is a module that is part of your main level editor which does this for you.
So, you're going along, placing stuff in your editor, then you think "Ho Hum, I need a new type of weapon!", you hit the 'm' key for 'Make', you're taken to a 'Make object' section, and you start to do your magic, making an item, then you hit Return, you're taken straight back to where you were, the new Object type is saved out into a settings file, and you can instantly place it anywhere in the world!

Having said that, if you are using a screen reader, and you find it easier just to use MS's one, rather than program your own into the level editor, then you're defiantly best off doing it in MS.net.
There are plug ins that use the TTS engine of MS within DBP, but I don't know how well that will work ( there's no native User Interface system with DarkBASIC, so you can't use keys like TAB unless you program the buttons, then the way to submit, and finally the TAB key! ). It's all up to you as the programmer to use the tools that best suit your needs.

Quote: "it [the map viewer] is only an overall description of the region simply used to see what has been visited, and what has not been visited, rather than a fine detailed map view they can arrow around to hear "mountains of shardon" ... "carsville" etc. Is that correct?"


Yes and no again.
I mean, it shows the entire map, they can view all the detailed info about them, etc, but it will be read out to them as if there is a navigator in a car reading out directions: "You want to go to the next town, and here's a handy tip in this Tourist Guide, there's a great pub apparently, where they give tourists a free beer!", and then if the driver asks "Ok, but what else is there in the town?", the navigator gives the information they have, and then the driver decides to drive there and look around, or go somewhere else on their own.
A bit of a weird analogy, but the best one I can think of!

Quote: "blind gamer questing around aimlessly in an open world"

Hey, don't think it's unique to vision impaired games! I've played too many games that are like that even when they HAVE visual queues!

The major thing is that you want to give the player land-marks they can relate to. Your idea of the NPCs that talk to them is a great one, but what about just wandering around? They need something that defines area's.

Things like different sounds for footsteps, so they know when they go from walking on sand to walking on a path, or other ambient noises like that.

The major thing is, if you work out a good collision system that works seamlesly with your game, you can give the player any amount of objects and obsticles, and they will navigate their way around that world without any troubles at all, avoiding walls and dodging enemies just as a sighted player would! This is your major task. Once you have the collision system working transparently to the player, you will have cracked it!

Cheers,
Jess.

Team EOD :: All-Round Nice Guy
Want Better dbHelp Files?
Tinkergirl
20
Years of Service
User Offline
Joined: 1st Jul 2003
Location: United Kingdom
Posted: 20th Oct 2005 13:54
How about the rpg character has summonable creatures/spirits or other magic stuff. One (say a cat) leads you to areas you haven't yet been, another (say a StBernards) leads you back home. Maybe they're not cats and dogs, maybe it's just a spell, but having distinct ones for each task might be fun.

Or maybe, there are crows that live in areas that you haven't been (so you can hear them cawing from a distance) - when you visit, they fly off in a cacophony of cawing and beating wings. The area is then marked as 'visited' by the lack of crows.

Maybe if the crows return, it informs the player that the area has something new of interest, or the creatures have repopulated it with enemies to fight.
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 15:07
Hi Van-B.

hey if you would be willing to whip up a quick sample that would be great. Quick meaning... the player, a sword on the level to find, basically just at a x/y coordinate on the level, and then 1 single enemy. No more than that. If you could get that working and show how the player first finds the sword, then finds the enemy and fights the object, past that I can do it.

In other words, if I had a simple sample/framework to reference, I could easily program and build on it.

I have a hundered different ideas in my head grin and having a simple point of reference would be helpful! Again, key word is a simple sample... very very small scale simple sample. should take you no more than 1 hour to whip up.

BTW yes, mouse, gamepad/joystick, keyboard will be in the games my customers are using those devices currently in my games. Well, keyboard/gamepad not the mouse. I do want to use the mouse though Would be a trip to have a bunch of blind gamers using a pointing device as a game device!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 15:13
Hi Jess.

Not certain what happened but I think I may have just posted your name in a post and that was it. Any how...

Quote: "There are plug ins that use the TTS engine of MS within DBP, but I don't know how well that will work ( there's no native User Interface system with DarkBASIC"


this might be worth looking into. Do you have a link to that plug in?


I understand what you are saying about creating a basic level then basing my tools off that level. This sounds the most logical to do. I'll probably not use ms .net...

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 15:15
Tinkergirl

the crow idea... love it!

Your ideas on various characters to help visit areas is good too. Keep the ideas coming all is helping me mold up the framework!

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 15:22
van-b... Magnetic paths! whoot! darn slick dude!

that is a little more advanced and I can wing it, however, if you have / want to show some ideas of this in the small sample project you might whip up for me feel free. I'd like to see your approach on it in contrast to mine.

If only dbp supported classes! I know, UDT, UDT, but man... lots of UDT and UDT arrays in games... can already see that happening grin.

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Frekster
18
Years of Service
User Offline
Joined: 18th Oct 2005
Location: my computer drinking way to much coffee!
Posted: 20th Oct 2005 18:19
Hi all.

Silly question but how do I search the code base? I click on "code base", then type in a search phrase such as enemy, and it isnt' finding anything while searching. It is like it is only searching my code base which has nothing in it rather than the forum entire code base. That is, if I am understanding the results correctly.

Regards,
Frekster
Who really needs to see to program? Isn't it all just text anyhow?
Jess T
Retired Moderator
20
Years of Service
User Offline
Joined: 20th Sep 2003
Location: Over There... Kablam!
Posted: 21st Oct 2005 06:19
Yeah, it's an odd one, had me stumped for a while when I first came here:

If you go down from the Search box, there should be a heading "The Live CodeBase" with a link underneath it saying "Click here to view the Live CodeBase."

Then you can use the advanced search at the bottom of the page to have a browse.

For the TTS, The plugin is source code only.
It was released by our very friendly Moderator, Nick.
I'm not sure how to compile DLL's or anything like that, but here's the thread where it's posted:
http://forum.thegamecreators.com/?m=forum_view&t=5150&b=6
And, here's an example that he posted:
http://forum.thegamecreators.com/?m=forum_view&t=53608&b=18

Here's his homepage:
http://homepages.nildram.co.uk/~nickk I don't think the dll is listed anywhere ( the others are under 'Services' )...

Good luck with it!

Alternatly, the Enhancements Exapnsion Pack released and sold officially by TGC themselves does the same thing:
http://darkbasicpro.thegamecreators.com/?f=enhancementpack

Up to you

Cheers,
Jess.

Team EOD :: All-Round Nice Guy
Want Better dbHelp Files?

Login to post a reply

Server time is: 2024-05-18 11:55:20
Your offset time is: 2024-05-18 11:55:20