diasurgical / devilution

Diablo devolved - magic behind the 1996 computer game
Other
8.78k stars 919 forks source link

Convert predungeon references to ASCII chars #359

Open nomdenom opened 6 years ago

nomdenom commented 6 years ago

The values of the predungeon array are (ASCII) characters, here's how it looks when you print it out:

   ##########                            
   #........# ###########                
   #........# #.........#                
   #........# #.........#                
   #........# #.........#        ####    
   #........# #.........#        #..#    
   #######..###.........#        #..#    
         #..............#        #..#    
         #..............#        #D##    
         #..............#        #.#     
         #D####.........#       ##D####  
         #..# ###########       #.....#  
         #..#                 ###.....#  
         ##D########          #.D.....#  
          #........#          #.#.....#  
   ########........# ###      #.##D####  
   #...............# #.###    #.##...#   
   #...............###.D.#    #.##...#   
   #...............##..#.#    #.##...#   
   #...............##..#.#    #.##...#   
   #...............##..#.#    #.##...#   
   #...............##..#.#    #.##...#   
   #......###D#######..#.#    #.##...#   
   #......# #.......#..#.#    #.###D##   
   #......# ###.....#..###    #.# #.#    
   #......#########D##.#      #.# #.#    
   #.........#  #....#.#      #.# #.#    
   #.........#  #....D.#      #.# #.#    
   #.........#  #....######   #.# #.#    
   #.........# ##D####....##  #.# #.#    
   #.........# #...........#  #.# #.#    
   #.........# ####....###D####.# ###    
   #.........#    ######.....##.#        
   #.........#   #####.D.....##.#        
   #.........#   #...D.#.....D..#        
   ###########   #####.#.....####        
                     #########           
ghost commented 6 years ago

Now THAT is a cool discovery.

mewmew commented 6 years ago

This is so great! Can't wait to see the first rouge like mods made for Diablo 1 :)

AJenbo commented 6 years ago

Yeah I'm also strangely exited by the idea of decoupling the render. Imagine a terminal version that is full multiplayer compatible :D

Could probably implement the UI with ncurses

kraileth commented 6 years ago

@AJenbo Kind of like this but the real(tm) Diablo? Taking into consideration that Diablo was initially meant to be turn-based but worked out incredibly well in real-time I wonder if a multi-player RL game could actually work, too... However it might be hard to create the thick dark atmosphere that makes Diablo I unique. Still I'm all for it if somebody'd give something like this a try!

AJenbo commented 6 years ago

Yeah exactly :)

I was thinking for the different monster variation each pallet could simply be interpreted as a color for the letter.

I guess for the atmosphere the unlit areas could be rendered with a progressively darker color. Unexplored would be black. So instead of: billede This might work better: billede (using 5 levels of lighting)

kraileth commented 6 years ago

Nice! That could actually work... By using the original music from the MPQ and the sounds an important part of the atmosphere can be conveyed. With text-based RPGs it's all about imagination anyway. Think about entering into a new area and hearing the "The warmth of life has entered my tomb... Prepare yourself mortal to serve my master for eternity!" and an uppercase S is moving towards you while you're only level 4 or so and not too well equipped! Could be great fun. :D

AJenbo commented 6 years ago

For comparison here is a regular Diablo dungion level 2 in ANSI format:

                    ########
                    #......#
                    #......#
             ########......#
########     #......#......#
#......#     #......#......###          ###################
#......#     #...............#          #.................#
#......#######...............#          #.................#
#......#.....................#          #.................#######
#......#.....................#          #.................#.....#
#......#.....................#          #.................#.....#
#......#.....................#          #######.................# ############
#......#.....................#                #.................# #..........#
#......#.....................#                #.................# #..........#
#......D..............#¤#¤##D#                #.................# #..........#
#......#..............#......#                #############.....###..........#
#......#.........######......#                       #..........#............#
#......#.........#    #......#                       #..........#............#
#......#.........#    ########                       #..........#............#
#......#.........#                                   #..........#............#
#......#.........#                                   #..........D............#
#......#.........#                                   #..........####¤#¤#D#¤#¤#
#......#.........#                                   #..........#  #.........#
#......#.........#                               ##########.....#  #.........#
#......#.........#                               #..............#  #.........#
#......###########                               #..............#  #.........#
#................#                               #..............#  #.........#
#................#                               ########D#.....#  #.........#
#................#                                  #.....#######  #######D###
#................#                                  #.....#          #.....#
#................########     ############################# ##########.....##########
#.......................#     #................L......#     #.......................#
#.......................#     #...###..........@......#     #.......................#
#.......................#     #...#L#.................#     #.......................#
#.......................#     #.......................#     #.......................#
#.......................#     #.......................#     #.......................#
#.......................#######.......................#######.......................#
#...................................................................................#
#.......#.......#.......#.....#.......#.......#.......#.....#.....#############.....#
#.................................................................#...........#.....#
#.......................#.#.#.#.......................#.#.#.#.....#...........#.....#
#.................................................................#...........#.....#
#.................................................................#...........#.....#
#.................................................................#...........#.....#
#.................................................................#...........#.....#
#.................................................................#...........D.....#
#.......#.......#.......#.#.#.#.......#.......#.......#.#.#.#.....#...........#.....#
#.................................................................#...........#.....#
#.......................#.....#.......................#.....#.....#############.....#
#...................................................................................#
#.......................#######.......................#######.......................#
#.......................#     #.......................#     #.......................#
#.......................#     #.......................#     #.......................#
#.......................#     #.......................#     #.......................#
####################D##################################################D#############
     #................#......#              #.........#.....#.......#....#
     #................#......#              #.........#.....#.......#....#
     #................#......#              #...............#.......#....#
     ###########.#######¤#D#¤# ########     #.........#.....#.......####D#
        #...........# #......# #......#     #.........#.....#.......#....#
        #...........# #......# #......#     #######D###.....#.......#....####
        ###############......# #......#         #.....#.....D...............#
                  #..........###......###########.....#.....#...............#
                  #..........#..........#.............#.....#...............#
                  #..........#..........#.............#.....#...............#
                  #..........#..........#.............#.....#...............#
                  #..........#..........#.............#.....#.......#########
                  #..........D........................#.....#.......#
                  ##########D#........................#.....#.......#
                      #......#..................#####.###...#.....###
                      #......#..................#.....# #...#.....#
                      #......#..................#.....# #...#.....#
                      ########..................#.....# #...#.....#
                             #..................####### ###########
                             #..................#
                             #..................#
                             #..................#
                             #######D############
                                 #.....#
                                 #.....#
                                 #.....#
                                 #######
AJenbo commented 4 years ago

@kraileth see how you feel about it :) https://www.youtube.com/watch?v=3p9j7j2SVOA

mewmew commented 4 years ago

@AJenbo now that is just beautiful! Are you using ncurses for this?