Progue - a roguelike written in Spin
Chris Merck
Posts: 55
I am working on a Rogue clone written in Spin. See attached screenshot.
So far there is just the most basic map generation, movement, and vision code.
Will post more when more exists to post.
SEE ATTACHED LATEST VERSION
Post Edited (Chris Merck) : 8/16/2009 4:36:58 AM GMT
So far there is just the most basic map generation, movement, and vision code.
Will post more when more exists to post.
SEE ATTACHED LATEST VERSION
Post Edited (Chris Merck) : 8/16/2009 4:36:58 AM GMT
Comments
http://home.arcor.de/cybergoth/gamesc/rogue.html
I used to play "temple of apshai" [noparse]:)[/noparse] That got me into doing RPG games...
http://en.wikipedia.org/wiki/Temple_of_Apshai
The code was in basic/asm, so I liked opening it up and tweaking it, those were the days...kinda like that hydra [noparse]:)[/noparse]
Andre'
Temple of Apshai is right along these lines, only with bitmapped graphics.
(update: got traversing and vision working!)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Realize that I am really a mad scientist··· and
Don't forget it!
http://raydillon.com/Images/Illustration/GameArt/WildIsle/WildIsle-Ink-ScientistClose.jpg
·
Post Edited (JT Cook) : 6/9/2007 5:57:22 PM GMT
Andre'
Here is a binary preview.
I have made more progress than is apparent in the preview because most of the code does not have a front-end yet.
HARDWARE: For use with a VGA monitor and PS/2 keyboard. This works fine on my Propeller Demo board, and it should work on the Hydra. Your mileage will vary. Someone with a HYDRA please tell me if this works or not! If anyone needs a TV version just prod me sufficiently nicely.
Directions: move around with arrow keys or number pad (8-directional), for a rather pitiful help screen type '?'.
Enjoy, stay tuned for more!
If you can post the source I can port over though.
(i will release the source in a few days)
What are the keys to play other than the arrow keys (like to pick up stuff)?
Yesterday I got the monster movement code down, which operates in four modes:
hostile - moves towards and attacks PC
neutral - moves randomly
tame - sticks near PC and attacks hostile monsters near PC
afraid - moves away from PC
it is rather satisfying to see "You hit the rat. The rat shrieks in fear!" and then having it run off into the darkness.
JT, as far as the vga driver, it is the standard Library high-res driver + Micheal Green's terminal emulation code (very good) + my locate(x,y) and swap_cursor commands for efficiency. The driver is attached
There are bugs in the game besides the claw bug monsters so beware!
Attached to the first post is the full source and the two modified drivers required to play. You will need a VGA monitor and a PS/2 keyboard.
Tell me what you think! Of course this isnt finished, but the code is layed out in a way to be rather fertile to new development.
HINT HINT HINT: to get to a lower level, look for the down stair case which always spawns on tile (50,25) (lower right of map), and press ">" when over it to go down!
SOURCE MOVED TO FIRST POST
Post Edited (Chris Merck) : 6/17/2007 5:13:36 AM GMT
Andre'
I killed all of the baddies on level 1 then fell down a pit and died lol
Keep it up [noparse]:)[/noparse]
Baggers.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
This is actually the first time I've run VGA on my Hydra; the first couple demo's I tried didn't sync with my LCD monitor and I never bothered dragging the CRT over to try them on that.
Good choice for a port; Rogue is very well suited to the environment. It would be cool to support a save feature eventually. The EEPROM drivers are a piece of cake to use so it probably wouldn't be so hard to support saving/restoring the game state to the region above 32K. As far as I know you'd have the first prop game with a save/restore feature (and the first game to warrant one, if the dungeon goes deep enough... [noparse]:)[/noparse]
You can replace the start() function in vga_Drive with the code below to add a splash of color to Progue. This mod makes the background black, the play field green, the upper 2 status lines red, and the bottom status lines blue. Today the vga driver uses the upper bit of of an ascii character as an "invert" flag but I bet it wouldn't be too hard to make that bit invoke an alternate character color, which would allow you to use a different color for monsters/objects in the play field.
Again, great work so far! It's very cool to see the Prop pumping out a game with such clean graphics on a real screen; I've been working with TV for so long that a VGA game is a real breath of fresh air.
epmoyer, thanks for the tips, I would like to add color. Perhaps coloring monsters and items appropriately.
Perhaps the high bit could be used to select two colors, but even with out it the vga driver could me modified to color monsters appropriately, making all 'd's grey, 'r's brown, 'D's red and so on (making for grey wolves, brown rats and red dragons).
I also wonder if sound should be added to the game. Chip's monks plus some HDMF would make for epic dungeon ambiance.
EDITED to show epmoyer's coloring effect
Post Edited (Chris Merck) : 6/20/2007 12:02:51 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
I had another interesting idea for faking colors. Why not appropriate some unused ASCII characters and turn them into color specifiers? The driver could render them as spaces, but whenever they occur they would set a new color for the rest of the text line. It doesn't work for stuff in the play field (like monsters and items and such), because characters of different colors need to be adjacent, but your proposed scheme above (hard coding the color of various monster/item symbols) takes care of that. It would be useful however on the command/status lines to color various fields in different colors. I's probably a useful enough general purpose mod to be folded into the text display driver.
Any updates on the game? Once you get done, you should do a port of "Hacker". Did you ever play that on the C64 or Atari, one of the funniest non-graphical games I ever played.
Andre'
-Chris
Sound(for the demo board)
potions that accually DO something
scrolls that accually DO something
gold you can pick up
you cannot get to the next level until you get all the scrolls
IT IS COMPLETLY RANDOM, or as random as psudo random gets
Your name is used to seed the levels
it saves the random number to EEPROM & reads it on startup
"=" is now a bomb or 20 gold depending on a random roll
Alters("_") allow you to buy potions for 5 Gold or scrolls for·7
There are glitches, and improvements do not always follow the helpful·TO DO lists
provided, but it is at least playable and fun.
added keys: s = quaff, v = scroll
The file is attached.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
Perhaps I'll pull the prop out of the closet and add more reasonable map generation...
Very nice! Like the addition of the sound, and when I have more time this evening will play it more.
you could just add a CON for 'soundPin,' and then use the Demo/Proto/Hydra flags at the top of the code to determine whether you use pin 10 (Demo/Proto) or 7 (Hydra).
soundPin = (Hydra & 7) | ((Demo | Proto) & 10)··· 'SOUND
...You get the idea [noparse];)[/noparse]
Since you are using the I2C code, it might be nice to add a load/save of your current items, state, modifiers, etc.
In the OBEX there is an object titled "Real Random" that might be of some interest. It might save you from having to use the person's name as a 'seed.' That is, unless they change their name often [noparse];)[/noparse] [noparse][[/noparse]Edit:]·Using their name as a seed is pretty clever though.
"Real Random" object
http://obex.parallax.com/objects/62/
Post Edited (trodoss) : 6/2/2009 2:39:10 PM GMT