@trodoss
Thank you, I will be adding that little line of code. The name seeding works because it saves the number into eeprom
and (psudo)randomizes it after pulling it out again, so the maps are always diffrent. you could use real random, which i had thought of, but i tried to follow the TODO list in the code.
I am also working on making it talk with vocal tract, and it is recognisable, but sounds terrible. :P
@Chris
Thanks. I'm glad i could make somone happy with this.
I'm also trying to figure out how to set colors for a single space, but so far, I can only do rows. Any ideas?
ProcessingData... said...
@trodoss
Thank you, I will be adding that little line of code. The name seeding works because it saves the number into eeprom
and (psudo)randomizes it after pulling it out again, so the maps are always diffrent. you could use real random, which i had thought of, but i tried to follow the TODO list in the code.
I am also working on making it talk with vocal tract, and it is recognisable, but sounds terrible. :P
Vocal tract a unique dynamic for sure, if you could 'squeeze' it in.· If you could vary the pitch for monsters, narrator/DM, etc. to make good use of speech synthesis it would be worth it.· Don't know how far you were planning to go with that (or if you even plan to continue it at all).
Another 'fleeting thought' that I had was that you could use a 'customized' font (similar to the old·Nethack fonts for terminal programs), you could 'represent' monsters, etc. http://www.pvv.org/~roarl/nethack/nethack.html
If you at all want to go that direction (custom font) let me know and I can see what I can do to show you an example of how that could work.
Hmm, customized font does sound like it would be good for the monsters. I would like to learn how I could do that with the prop.
The speech hasn't been going well, as it has to pause everything to say something, so there are 1-2 sec. of not getting input from the user.
I have also now added a HighScore variable whitch is saved in EEPROM. I will add a few more things, and then post the code again. - ProccessingData...
I can modify this to be "feature compatable" with the VGA driver that you are currently using if you would like, and, come up with a *much* better font for Progue.
@All,
Ha! Had a conversation with someone at work about· 'Rogue-like' games, and they had mentioned ADOM (Ancient Domains of Mystery) http://www.adom.de/ so I thought I should give it a look.
There are two major differences to roguelike games though: most roguelike games do not use any graphics but rather rely on the ASCII character set to display their surroundings.
While this might sound horrible to you, you will be surprised how quickly you start to enjoy this "primitive" type of display. Your imagination quickly will take over and you'll no longer miss those ugly hand-drawn graphical tiles that do not resemble your picture of a dragon at all. But in your imagination, that blue D will soon become the most horrible and frightening ice wyrm you can imagine. Try it out. You won't be disappointed.
A side effect of this "graphical style" is that you won't need to download much. Roguelike games are pretty small because most of their code is concerned with a very intense sort of gameplay and not some ugly graphics quickly becoming out of date. In that respect many roguelike games are far superior to commercial roleplaying games (did I forget to mention that? Most roguelike games are available for free!) .
...so, by their definition adding "graphics" would keep it from being a "roguelike" game · [noparse][[/noparse]Edit:] Woah!· Just saw a blue D!· Need to lay off that late afternoon coffee!
Hmm, that is to be considered. I would like you to make that VGA driver Prouge compatible, if that would help with single character color selection, I would like to make it so I can see a BLUE "D" not just a black-and-white one. - ProccessingData
(I did try your demo, but I couldn't get it to work. I thought my screen was out, as it has been acting up lately, but I looked at my demo bord, and the LEDs wern't coming on. Hmmm)
Kye's driver has worked for me on a Demo Board before, so I would think it would work.· I use Proto boards primarily to test out my code though.· I tried Progue, the VGA Test code, and the demo I had and they all seemed to work ok on my configuration. [noparse][[/noparse]Edit:] Could be that my setup is 'querky' enough to get it to work though...definately not disputing that [noparse];)[/noparse]
Attached are screenshots out of Gear of the demo and standard Parallax VGA demo.
Certianly the code can be modified, but I think what you are after would require a multi-COG VGA driver.· The VGA signal, although less complex, requires significantly faster timing than a TV driver would.· Most of the code I have done for the Propeller has been on TV(NTSC).· It would take more work to get Kye's code into a multicog driver that could do that (and most likely 3 or more cogs).
If you did not mind not having graphics, you could use one of the other Hi-Res VGA drivers that are in the OBEX or come with the Propeller Tool, as they seem to have more of the features you would like.
@ProcessingData,
Very odd.· I have looked at the code and tried it on a few boards and two different monitors and it works fine.· You are running the code from a demo board, correct?
[noparse][[/noparse]Edit:] If you are running the code on a Hydra, you would need to adjust the CON in TRO_demo.spin:
_clkmode = xtal1 +·pll8x
_xinfreq = 10_000_000
Have you been able to run the 'standard' VGA demos that come with the Propeller Tool without problems?· You might try those as well.
If you are not getting any activity on the RGB pins (18-23), then (maybe?) try recompiling/loading the code to the Propeller again (making sure that the 'current' object is TRO_demo.spin).
[noparse][[/noparse]Edit:] Excuse the poor, out of focus pic...· Camera phone.· Just showing that it does indeed run [noparse];)[/noparse]
I am using a demo board, and it has never acted up. It will run all the demos. I will try again, and hit the Auto Adjust button on the screen, maybe it just is'nt displaying it.-ProccessingData...
Found the problem I was using a HP 1730 LCD monitor and it couldn't handle the resolution. I tried it on an older one, and it worked. Can we change the resolution?
640x480 resolution·is fairly common for VGA monitors to display, albeit on the 'low resolution' end of the spectrum.
As far as changing that particular driver to a higher resolution -- it might be possible, but it would likely require significant work (making it a·multi-cog driver for one).···I will see what I can do with that when I have more free time to work with it.
If you are wanting a VGA driver with higher resolution there are at least a few in the OBEX that are capable of just that.· I know that there is at least one that is capable of bitmap display.
If you are happy enough with Progue's current·VGA driver, it might be best to leave it 'as is,' and explore graphical display in a future project [noparse];)[/noparse]·
Yeah, I probably should, seeing as graphics would make it an "un-rougelike game" [noparse]:)[/noparse]
I would like to look at the graphics option more thoroughly though, as I am thinking of writing my own game.
(I'm getting sick of the "and you programmed this yourself?" and watching their faces as I give them the "no" answer)
[noparse];)[/noparse]
Depending on what you are trying to accomplish, there are several examples for TV (NTSC/PAL) graphics on the forums. There aren't as many for VGA graphics (specifically games), as it is much more resource-intensive.
I did see Turbulence and have downloaded it onto almost all my chips at least once. It is a very good example of what can be done with a couple weeks, a goal and a propeller chip. Right now I'm trying the AtariGeneric TV driver, but it's all coming out backwards!
(Darnit, how do you get it flipped? I don't want to rewrite each letter!......)
One thing that is different about the font information is that it actually rendered backwards. That is why there is code to render it 'as viewed' in at least the version posted in the OBEX. If you have downloaded that version there is the FontGenerator with it that should make it easier to manipulate. If you are wnatin to know details on how those work, just PM me and I can explain some of those in detail.
Wow. I just checked out Turbulence and am amazed. Now I'm listening to the sound from the youtube vid since my sound is busted on my demo board. (I think I need to build myself a new proppc).
I'm also playing more with Progue, adding room and tunnel based maps rather than completely random. Then on to equipment handling.
Okay, I got it working. I made a game last night, and the night before, and I've gotten it all good so far(using custom font.)
I should probably start a new thread, 'cause it needs a lot of work!
I've made huge progress on Progue. I dare say it is nearly complete!
Now there are:
1) Legitimate levels (with tunnels and rooms and doors)
2) Special levels with bosses
3) All items actually do something
4) AI improvements
5) You can win!
Sure thing Processing. I had intended to release it after someone beat it, which you obviously did, but I was AFK for almost two months so I never got around to it.
See first post for updated source. But be warned! The vision algorithm is not all that spectacular. I worked out the dependencies on paper first, breaking the player's surroundings into octets, and hard-coded the results. That means you cannot just increase the p_vision variable and get further vision: more work would need to be done. A general algorithm would be nice, and it is what I had initially intended (using a line-drawing algorithm to determine the dependencies at runtime) but it seemed overboard. If you are so-inclined however, [noparse]:)[/noparse]
One thing I ask: if you have the chance, take a screenshot for me to replace the old one I have on the first post. Thx
I have not tried to compile Progue under the official PropTool in some time. Instead I use brad's spin tool on Linux. I suspect that bst allows something the official tool does not... if so this could technically be a bug in bst. I recommend trying bst under whatever your operating system is, to see if it compiles.
Comments
Thank you, I will be adding that little line of code. The name seeding works because it saves the number into eeprom
and (psudo)randomizes it after pulling it out again, so the maps are always diffrent. you could use real random, which i had thought of, but i tried to follow the TODO list in the code.
I am also working on making it talk with vocal tract, and it is recognisable, but sounds terrible. :P
@Chris
Thanks. I'm glad i could make somone happy with this.
I'm also trying to figure out how to set colors for a single space, but so far, I can only do rows. Any ideas?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
Another 'fleeting thought' that I had was that you could use a 'customized' font (similar to the old·Nethack fonts for terminal programs), you could 'represent' monsters, etc.
http://www.pvv.org/~roarl/nethack/nethack.html
If you at all want to go that direction (custom font) let me know and I can see what I can do to show you an example of how that could work.
·
The speech hasn't been going well, as it has to pause everything to say something, so there are 1-2 sec. of not getting input from the user.
I have also now added a HighScore variable whitch is saved in EEPROM. I will add a few more things, and then post the code again. - ProccessingData...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
Here is·a "quick and dirty" demo of a tile engine Kye had created for VGA, so you could get an idea.
The original driver was posted here:
http://forums.parallax.com/showthread.php?p=773923
I can modify this to be "feature compatable" with the VGA driver that you are currently using if you would like, and, come up with a *much* better font for Progue.
--trodoss
Ha! Had a conversation with someone at work about· 'Rogue-like' games, and they had mentioned ADOM (Ancient Domains of Mystery) http://www.adom.de/ so I thought I should give it a look.
On the link "Roguelike Games: ATOM" (http://www.adom.de/adom/roguelike.php3 ) says the following:
...so, by their definition adding "graphics" would keep it from being a "roguelike" game · [noparse][[/noparse]Edit:] Woah!· Just saw a blue D!· Need to lay off that late afternoon coffee!
Post Edited (trodoss) : 6/4/2009 9:37:48 PM GMT
(I did try your demo, but I couldn't get it to work. I thought my screen was out, as it has been acting up lately, but I looked at my demo bord, and the LEDs wern't coming on. Hmmm)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
Attached are screenshots out of Gear of the demo and standard Parallax VGA demo.
Certianly the code can be modified, but I think what you are after would require a multi-COG VGA driver.· The VGA signal, although less complex, requires significantly faster timing than a TV driver would.· Most of the code I have done for the Propeller has been on TV(NTSC).· It would take more work to get Kye's code into a multicog driver that could do that (and most likely 3 or more cogs).
If you did not mind not having graphics, you could use one of the other Hi-Res VGA drivers that are in the OBEX or come with the Propeller Tool, as they seem to have more of the features you would like.
Post Edited (trodoss) : 6/8/2009 7:09:26 PM GMT
That custom font looks cool though, I want to see it on my board....
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
Very odd.· I have looked at the code and tried it on a few boards and two different monitors and it works fine.· You are running the code from a demo board, correct?
[noparse][[/noparse]Edit:] If you are running the code on a Hydra, you would need to adjust the CON in TRO_demo.spin:
_clkmode = xtal1 +·pll8x
_xinfreq = 10_000_000
Have you been able to run the 'standard' VGA demos that come with the Propeller Tool without problems?· You might try those as well.
If you are not getting any activity on the RGB pins (18-23), then (maybe?) try recompiling/loading the code to the Propeller again (making sure that the 'current' object is TRO_demo.spin).
[noparse][[/noparse]Edit:] Excuse the poor, out of focus pic...· Camera phone.· Just showing that it does indeed run [noparse];)[/noparse]
Post Edited (trodoss) : 6/9/2009 3:30:45 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
As far as changing that particular driver to a higher resolution -- it might be possible, but it would likely require significant work (making it a·multi-cog driver for one).···I will see what I can do with that when I have more free time to work with it.
If you are wanting a VGA driver with higher resolution there are at least a few in the OBEX that are capable of just that.· I know that there is at least one that is capable of bitmap display.
If you are happy enough with Progue's current·VGA driver, it might be best to leave it 'as is,' and explore graphical display in a future project [noparse];)[/noparse]·
Post Edited (trodoss) : 6/12/2009 10:30:43 PM GMT
I would like to look at the graphics option more thoroughly though, as I am thinking of writing my own game.
(I'm getting sick of the "and you programmed this yourself?" and watching their faces as I give them the "no" answer)
[noparse];)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
I don't know if you saw the "turbulence" demo, but it certianly shows that graphics at a decent frame rate can be accomplished.
http://www.linusakesson.net/scene/turbulence/index.php
(source code and an explanation of his VGA overlay techniques used)
http://www.linusakesson.net/scene/turbulence/source.php
(Darnit, how do you get it flipped? I don't want to rewrite each letter!......)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
One thing that is different about the font information is that it actually rendered backwards. That is why there is code to render it 'as viewed' in at least the version posted in the OBEX. If you have downloaded that version there is the FontGenerator with it that should make it easier to manipulate. If you are wnatin to know details on how those work, just PM me and I can explain some of those in detail.
--trodoss
I'm also playing more with Progue, adding room and tunnel based maps rather than completely random. Then on to equipment handling.
I should probably start a new thread, 'cause it needs a lot of work!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
Now there are:
1) Legitimate levels (with tunnels and rooms and doors)
2) Special levels with bosses
3) All items actually do something
4) AI improvements
5) You can win!
Let me know how you like it!
(Binaries attached to first post.)
Sorry, no source for now. :P
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
I'm eager to see the line of sight algorithim.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
See first post for updated source. But be warned! The vision algorithm is not all that spectacular. I worked out the dependencies on paper first, breaking the player's surroundings into octets, and hard-coded the results. That means you cannot just increase the p_vision variable and get further vision: more work would need to be done. A general algorithm would be nice, and it is what I had initially intended (using a line-drawing algorithm to determine the dependencies at runtime) but it seemed overboard. If you are so-inclined however, [noparse]:)[/noparse]
One thing I ask: if you have the chance, take a screenshot for me to replace the old one I have on the first post. Thx
enjoy
Again, Thanks for the code!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
I tried to look for the error, but couldn't find it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
Here it is:
www.fnarfbargle.com/bst.html
Best of luck!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·