Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Sci fi ascii game brainstorming.  (Read 4118 times)

jplur

  • Bay Watcher
    • View Profile
    • http://www.parker-portfolio.com
Sci fi ascii game brainstorming.
« on: February 25, 2009, 06:37:08 pm »

Just some brainstorming out loud:
Code: [Select]


ASCII UNIVERSE

An ascii art space computer game.  Pilot your starship through the galaxy.
Choose your crew, manage their morale.  Walk the hallways of the spaceship that you built yourself.
Play as an underling on a large space cruiser. Fire the weapons at enemy fighters in real time.
Tell the boys in engineering that you need the hyperdrive back online NOW.
Send away parties to the surface of planets, solve ancient technological puzzles, collect rare biological specimens, fight bizzare aliens.
Trade rare commodeties at spaceports.  Hire escort ships.  Buy a space station, found a colony.
Start wars, commit genocide, cure plagues.
Make contact with 'the ancients.' Become defeated by the android army that you had origionally created. 



                  .              *                .                       .              ###################
     .                                                    .                              . ################# 
             *             .                                       .                           #############
                                       .                                     .                     #########
     .                                              .                                  .               #####
                  .                                .                          *                  .         #
                             .                                               .             .           
                                ####    .                               .                .        .
              .                ######            *                                         .         .     
    .            .             ######                        .                                   
                                ####     .                                 .                         
           .                .                            .                                    .         
              ()        .                                            .                                 .
                            .                   .                         .                       .       
  .          .                        .                   .                 .                         
                                            .                      .                   .               
      .                      .                                                 .                   .
  .               .                      .                         .                       .
                  .              *       ==co /      " .                       .                         *
     .                                     {}----/=         .                              .                   
             *             .              ((D]==(BX)     "                  .                                       
                                       .   {}----\=                             .                             
     .                                |  ==co \          .  "                               .               
                  .                              :  .         "                                  .
                             .      /                :  :                     .             .           
                                        .                  : :   :   :      .                .        .
              .                     /                          : ' ;  :        @   @     .         .     
    .            .         *                                 .     "     : ;     &                 
                                   |     .                                 . : @&##                   
           .                                  *          .            "         #c===D          .         
              .        .                                            .    "    @     \\                  .
                            .    ^              .                         '        8>\\             .       
  .          .                 |(O)|  .                   .                 "      8>//'                   
                                            .                      .          '     //   .               
      .                      .                        .                          c===D                  .
   .                                              .                                  .               
                  .                                .                                            .
                             .                                               .             .           
                                        .                               .                .        .
              .                                                                     .         .     
    .            .         *                                 .                                   
                                         .                                 .                       
The plasma bolt hits the Zarcon Frigate! x6
The Zarcon Frigates starboard engine deck explodes!
The magnetic pellet hits your aft energy shield! x3
The Zarcon engineer has suffocated in space! x4
« Last Edit: February 25, 2009, 06:56:02 pm by jplur »
Logged
I ended up finding out you can speed up pregnancies by changing the mother to a cat to knock them up and changing back before labor

Vaiolis

  • Bay Watcher
  • I Am Penguin!
    • View Profile
Re: Sci fi ascii game brainstorming.
« Reply #1 on: February 25, 2009, 07:09:21 pm »

Sounds quite difficult to manage, but definitely sounds like my kind of game! Good luck!

Might I ask if you have decided on any specific programming language? If it's C++ I might be able to help out some :) If something else, probably not, but I also bet there are plenty of people around here somewhere who could help out as well...
Logged
Today's Toady Tip: 3 and 4 are not the same number.
How borgly is your borgle's borgle?
The Minister of BEEEES! and of The Great Charter for the Toady Protectorate!

Duke 2.0

  • Bay Watcher
  • [CONQUISTADOR:BIRD]
    • View Profile
Re: Sci fi ascii game brainstorming.
« Reply #2 on: February 25, 2009, 07:13:47 pm »


 How will you handle rotation, unless you plan on having graphical effects not bound to a grid? Toady has run into this problem himself with boats, the problem being that you cannot handle diagonal things well in a grid the size most ASCII games take.

 Also, you must have mining asteroids. And not puny "Build a station and leave it alone", I mean blasting asteroids and collecting the hunks of minerals that come out.
Logged
Buck up friendo, we're all on the level here.
I would bet money Andrew has edited things retroactively, except I can't prove anything because it was edited retroactively.
MIERDO MILLAS DE VIBORAS FURIOSAS PARA ESTRANGULARTE MUERTO

jplur

  • Bay Watcher
    • View Profile
    • http://www.parker-portfolio.com
Re: Sci fi ascii game brainstorming.
« Reply #3 on: February 25, 2009, 07:55:53 pm »


 How will you handle rotation, unless you plan on having graphical effects not bound to a grid? Toady has run into this problem himself with boats, the problem being that you cannot handle diagonal things well in a grid the size most ASCII games take.

 Also, you must have mining asteroids. And not puny "Build a station and leave it alone", I mean blasting asteroids and collecting the hunks of minerals that come out.

Good question.  I had an idea ages ago to make a 3D engine with raytracing that could output as ascii.

Code: [Select]
                       |   
                       |   
          _-          .|       
   .    -_-_-_    .  . |.         
      _-_-_-_-_-    . .|.           
.....-_-_-_-_-_-_-_...... .    .
   _-_-_-_-_-_-_-#%     \.   
   gv-_-_-_-_-_%#%#    . \.         
   ggv-_-_-_-#%##%#      .\..   .   
   ggggv_-_#%%#%#%%       .\..     
   ggggggg%%#%##%##,..     .\ .       
   ggggggg%#%##%#;,.....  . .\...
  ...ggggg#####;,,,......   . \.
......,ggg###;,,,........    ..\..
.......,,g#;,,,..........    .. \.
........,,,,,...........   .  ...\.

But realistically I would imagine that ships would rotate 90* at a time (despite the actual angle they were moving at.
Logged
I ended up finding out you can speed up pregnancies by changing the mother to a cat to knock them up and changing back before labor

Yanlin

  • Bay Watcher
  • Legendary comedian.
    • View Profile
Re: Sci fi ascii game brainstorming.
« Reply #4 on: February 26, 2009, 01:58:04 pm »

It's not that hard to just add a diagonal version. Then the motion is smooth enough. As long as cannons can fire in any direction.
Logged
WE NEED A SLOGAN!

Duke 2.0

  • Bay Watcher
  • [CONQUISTADOR:BIRD]
    • View Profile
Re: Sci fi ascii game brainstorming.
« Reply #5 on: February 26, 2009, 02:09:51 pm »


 Of course, if ships move in only four directions that moving in an unsupported direction would result in a horrendous flicker, with shots having a random chance of hitting drastically different parts of the ship.

 I would say just don't base the ASCII characters on whatever grid you will be using. That or have a really small grid and ASCII characters exist on multiple tiles.
Logged
Buck up friendo, we're all on the level here.
I would bet money Andrew has edited things retroactively, except I can't prove anything because it was edited retroactively.
MIERDO MILLAS DE VIBORAS FURIOSAS PARA ESTRANGULARTE MUERTO

jplur

  • Bay Watcher
    • View Profile
    • http://www.parker-portfolio.com
Re: Sci fi ascii game brainstorming.
« Reply #6 on: February 26, 2009, 04:15:58 pm »

Code: [Select]
  g
ehhc
  g

 g c
  h
 h g
e

 c
ghg
 h
 e

c g
 h
g h
   e

 g
chhe
 g

letters stand for cockpit, gun, hull, engine

It's not pretty but I imagine the collisions would be handled outside of the grid, so shots didn't pass through the diagonals.
Logged
I ended up finding out you can speed up pregnancies by changing the mother to a cat to knock them up and changing back before labor

Virex

  • Bay Watcher
  • Subjects interest attracted. Annalyses pending...
    • View Profile
Re: Sci fi ascii game brainstorming.
« Reply #7 on: February 26, 2009, 08:07:25 pm »

Well, you're in space. Pretty much all of it's completely empty. There's not realy a reason to stick to a grid, now is there?
Logged

Alexhans

  • Bay Watcher
  • This is toodamn shortto write something meaningful
    • View Profile
    • Osteopatia y Neurotonia
Re: Sci fi ascii game brainstorming.
« Reply #8 on: February 27, 2009, 06:13:28 am »

I can help a bit c++ too, maybe.

you're gonna have a hard time all right with the rotation, I think there shouldn't be diagonal movement at all.  First make those blocks-of-plenty-chars ships move the 4 ways to see if it works.  You will have to device a complicated way to handle the positions of the ships based on theier shape so you can later calculate where they are shot.

Good Luck.
Logged
“Eight years was awesome and I was famous and I was powerful" - George W. Bush.

Boksi

  • Bay Watcher
  • Everyone's dumb in their own special way
    • View Profile
Re: Sci fi ascii game brainstorming.
« Reply #9 on: February 27, 2009, 11:45:04 am »

Technically, ships could be represented as single tiles. Space is, after all, big, and there's no reason for you to have to get within a thousand kilometers of anyone you don't want to dock with.

You could have bigger ASCII representations of the ship as status displays.
Logged
[BODY_DETAIL:NAIL:NAIL:NAIL]
[HAMMER:HAMMER:HAMMER]

[TSU_NOUN:nose]
[SUN_TSU_NOUN:art:war]

Virex

  • Bay Watcher
  • Subjects interest attracted. Annalyses pending...
    • View Profile
Re: Sci fi ascii game brainstorming.
« Reply #10 on: February 27, 2009, 01:16:51 pm »

It's probably not movement itself that would give problems. Harder is the apropriate representation.

A good approximation to the location problem would be to divide the ship in a set of spheres, and give the center of the spheres a location vector relative to the ship's center (or another point of reference if that's easier). Then when the ship turns around a certain pivot point, you'd take the location vector of each of the component spheres relative to that pivot point and multiply it with a rotation matrix (note, this only works if matrix multiplications are supported. I don't know if they are). Then you'd translate all the resulting vectors back to location vectors relative to the ship's center and you're done (this means you can ssing things like speed and acceleration to the ship's center without having to change them whenever the ship turns). Collision checking would be done by checking if one of the spheres of one ship intersects with one of the spheres of another ship, which will be slightly harder. This can however be aproximated by reducing one of the spheres to a polygon, and check if any one of the points of that polygon is or will be inside the other sphere.

The problem will however be representing a rotated ship, since ASCII graphics don't realy like being rotated. Basicly, if you'd try to force the ship unto a large grid, like what happens in Dwarf Fortress, you'll horribly distrot everything. That means you'd need to use a small grid and find some way to get the ASCII characters to work with such a grid. But I assume you chose ASCII graphics to keep things simple, in which case this could be a less then desired option
« Last Edit: February 27, 2009, 02:03:29 pm by Virex »
Logged

Granite26

  • Bay Watcher
    • View Profile
Re: Sci fi ascii game brainstorming.
« Reply #11 on: February 27, 2009, 01:20:07 pm »

Technically, ships could be represented as single tiles. Space is, after all, big, and there's no reason for you to have to get within a thousand kilometers of anyone you don't want to dock with.

True but not cool

jplur

  • Bay Watcher
    • View Profile
    • http://www.parker-portfolio.com
Re: Sci fi ascii game brainstorming.
« Reply #12 on: February 27, 2009, 01:56:27 pm »

Thanks for all the good input guys.

As for programming I've really only messed with python.  The NumericalPython library is a pretty fast implementation of multi dimensional arrays though.

Most my game work is actually 3D, where the physics library handles all the collision detection.

I'd like to imagine a hypothetical game where the ascii graphics were more of an independent represetation of the game entities.  So maybe the collision bodies are polygons running in the background and the display tries to represent what happens in ascii.
Logged
I ended up finding out you can speed up pregnancies by changing the mother to a cat to knock them up and changing back before labor

Alexhans

  • Bay Watcher
  • This is toodamn shortto write something meaningful
    • View Profile
    • Osteopatia y Neurotonia
Re: Sci fi ascii game brainstorming.
« Reply #13 on: February 27, 2009, 05:50:03 pm »

I'd like to imagine a hypothetical game where the ascii graphics were more of an independent represetation of the game entities.  So maybe the collision bodies are polygons running in the background and the display tries to represent what happens in ascii.

Yeah well.  I believe That's how a game must be... calculated in a processing void and then outputted how you want (Game cycle: Init, Input, Process, Output).  The hard thing is finding a way to correctly represent that output with whatever data you process.
Logged
“Eight years was awesome and I was famous and I was powerful" - George W. Bush.

Sean Mirrsen

  • Bay Watcher
  • Resident GM
    • View Profile
Re: Sci fi ascii game brainstorming.
« Reply #14 on: February 28, 2009, 02:37:54 pm »

Why not have just that though? A game can be ASCII and something entirely different at the same time. Imagine a 2D polygon shape. Mapped onto the polygon shape are hardpoints for tiles. Each tile is a circle, in the center or which is an ASCII symbol. The tiles rotate to keep in line with the screen, while the craft rotates all it wants and moves along a grid. This way you keep the ASCII look and have freely turning stuff. Sure, it won't match tiles except in four main directions, but it'll work for collisions and combat.