The Art - text game -

lyteside
15 Mar 2007, 19:23
Hey, I just wanted to give you guys a headsup on the text game that i was working on a year or more ago. I had to work on my album, so i took a bit of time away from it, but I am just about ready to wrap it up and wanted you guys to know! I'm really excited about it, and hope that some of you will play test it for me when it's completed. There will probably be tons of things to fix.

One thing i'm definitely looking for help with are all those random actions and terms for objects that you guys can come up with, so i can increase my alt statement base and command actions. here are a few screen shots of how the game looks.






davidw
16 Mar 2007, 12:36
All that coloured text is making my eyes bleed.

lyteside
16 Mar 2007, 15:04
haha. yeah, it's a bit overkill.

so far the consensus is that in the beginning of the game, the color scheme is distracting and overwhelming, and by mid game, the consensus is that it that the colour scheme is essential and helpful for visual memory. there are over 1000 rooms in the game, RPG real time fighting schemes, and many timer based events, so the colour scheme is designed to tell you exactly where you are without having to re-read what's happening before you... well... die.

sort of for these kind of situations.



for instance, whenever red appears, it should denote that damage is occuring, or at the very least something very immediate and important.

on the creation side, we would like to tone it down a bit ourselves, but we want to test it with others who have never played to get a priori of information... sort of like A list B list and C list what is necessary for a colour system.

paul_one
16 Mar 2007, 19:25
Yeah - the colours have meaning so that you can skip through alot of the text in battles and see what happens quickly and easily.

lyteside
16 Mar 2007, 19:39
totally. that's why i think most of the colours utilized in the battle sequences probably won't go away. i may reduce inventory and similar commands to all white. but even then... when i'm well into the game and i want to find my "Fighting Skills" right away, knowing to look for the right colour for reference helps. So some situations like that i feel a little torn about.

This game will definitely play more like a single user dungeon [ like a M.U.D. ] than an interactive book adventure.

007bond
16 Mar 2007, 20:32
I love the look of it! Congrats on taking the time to make such a complex game!
I noticed in one screenshot that it said "downloading star chart" or something similar. Is that from the internet?
If so, you must tell the player at the start of the game that some things will require an internet connection to use. People don't like it when a program uses the internet and they're not aware that it does.
It's also for the people that only have a 500 MB Download limit :D

But yeah, looks like it has tonnes of potential, can't wait to see it!

lyteside
16 Mar 2007, 22:31
dude, thanks so much bond. yeah, i'm really excited about it, because its a very dear story that a friend of mine and i wrote... a sci fi adventure of sorts, with a mythology feel behind it. sort of like how star wars feels in the middle of sci fi and fantasy.

the star chart is not from the internet. its a complicated function we built to make our planet objects orbit the sun in a timer based system and the star chart detects their exact location when you look at it so that you know what to enter in your ship before you engage to go to mars, or alpha centauri, or something like that.

i feel very encouraged by your curiosity. thank you!

GameBoy
18 Mar 2007, 04:02
I'm inspired. Let me know when it's ready for play.

Elexxorine
19 Mar 2007, 11:13
Ah, cool... I lost my old copy of the game you gave me Lyte, btw... I'm really looking forward to this!!! The colours are helpful in the end though...

007bond
20 Mar 2007, 06:32
Oh ok, so when it says "Downloading...", it's actually just calculating the values?

lyteside
20 Mar 2007, 16:22
yeah, totally.

it does this ridiculously long stuff and then outputs the data. i'm glad i never have to do it again, cause it sucked. the idea of the star chart was 2 fold. the first was you had to look at the star chart to see where the planets currently were in the solar system [ coordinate wise ]. The next was to be able to see how long it would take for your ship to get to the various planets based on their current orbit and your current location in space. mars, jupiter, and earth are working. still working on the others.

' ********************************* SPACE TRAVEL PROCEDURE/TIMER ****************************
' ********************************* SPACE TRAVEL PROCEDURE/TIMER ****************************
' ********************************* SPACE TRAVEL PROCEDURE/TIMER ****************************
' ********************************* SPACE TRAVEL PROCEDURE/TIMER ****************************

define procedure <gettraveltime>
set numeric <x1; %currentx%>
set numeric <y1; %currenty%>
set numeric <z1; %currentz%>
if flag <distzero> then flag off <distzero>

' get single distances

if (%x1% <> %x2%) then {
if (%x1% < %x2%) then set numeric <x3; %x2% - %x1%>
else set numeric <x3; %x1% - %x2%>
}
else set numeric <x3; 0>

if (%y1% <> %y2%) then {
if (%y1% < %y2%) then set numeric <y3; %y2% - %y1%>
else set numeric <y3; %y1% - %y2%>
}
else set numeric <y3; 0>

if (%z1% <> %z2%) then {
if (%z1% < %z2%) then set numeric <z3; %z2% - %z1%>
else set numeric <z3; %z1% - %z2%>
}
else set numeric <z3; 0>

' get total distance

if (%x3% = 0) or (%y3% = 0) or (%z3% = 0) then {

if (%x3% > 0) and (%y3% > 0) and (%z3% = 0) then {
set numeric <x3; %x3% * %x3%>
set numeric <y3; %y3% * %y3%>
set numeric <distance; %x3% + %y3%>
}
if (%x3% = 0) and (%y3% > 0) and (%z3% > 0) then {
set numeric <y3; %y3% * %y3%>
set numeric <z3; %z3% * %z3%>
set numeric <distance; %y3% + %z3%>
}
if (%x3% > 0) and (%y3% = 0) and (%z3% > 0) then {
set numeric <x3; %x3% * %x3%>
set numeric <z3; %z3% * %z3%>
set numeric <distance; %x3% + %z3%>
}
if (%x3% > 0) and (%y3% = 0) and (%z3% = 0) then set numeric <distance = %x3%>
if (%x3% = 0) and (%y3% > 0) and (%z3% = 0) then set numeric <distance = %y3%>
if (%x3% = 0) and (%y3% = 0) and (%z3% > 0) then set numeric <distance = %z3%>
if (%x3% = 0) and (%y3% = 0) and (%z3% = 0) then flag on <distzero>

}
else {
set numeric <x3; %x3% * %x3%>
set numeric <y3; %y3% * %y3%>
set numeric <z3; %z3% * %z3%>
set numeric <distance; %x3% + %y3%>
set numeric <distance; %distance% + %z3%>
}

'---------------------------- this will get your distance

if not flag <distzero> then {

for <distancedone; 1; 500; 1> {
set numeric <distancechecker; %distancedone% * %distancedone%>
if (%distancechecker% >= %distance%) then {
dec <distancedone>
set numeric <duration; %distancedone%>
set numeric <distancedone; 501>
}


}
}
else set numeric <duration; 0>
flag off <distzero>

end define



define procedure <reachdestinationproc>
msg <You have arrived at the specified coordinates.>
flag off <destination_engaged>
if (#destinationP# = Mars) then {
msg <You have reached the Mars planet. Your ship is pulled into orbit around the red planet.>
set string <currentplanet; Mars>
timeroff <spacetraveltimer>
flag on <orbit>
}
if (#destinationP# = Earth) then {
msg <You have reached Earth. Your ship slides into orbit around the large and colorful planet.>
set string <currentplanet; Earth>
timeroff <spacetraveltimer>
flag on <orbit>
}
timeroff <spacetraveltimer>
end define

' ******************************* SPACESHIP PROCEDURES ***********************************
' ******************************* SPACESHIP PROCEDURES ***********************************
' ******************************* SPACESHIP PROCEDURES ***********************************
' ******************************* SPACESHIP PROCEDURES ***********************************
' ******************************* SPACESHIP PROCEDURES ***********************************



define procedure <spaceship_stats_proc>
foreground <&HAF8E00>
set string <Computer_Text; system.analysis>
do <Computer_Text_Proc>
set string <Computer_Text; current location_%currentx%.%currenty%.%currentz%>
do <Computer_Text_Proc>
do <destinationQproc>
set string <Computer_Text; current quadrant_#currentQ#>
do <Computer_Text_Proc>
set string <Computer_Text; destination_%xx%.%yy%.%zz%>
do <Computer_Text_Proc>
set string <Computer_Text; missiles_#(currentship):mammo#>
do <Computer_Text_Proc>
set string <Computer_Text; gun turret ammo_#(currentship):gammo#>
do <Computer_Text_Proc>
foreground <white>
end define



define procedure <spaceship_power_proc>
msg <The computer boots up and greets you.>
foreground <&HAF8E00>
flag on <spaceship_power>
set string <Computer_Text; system.on>
do <Computer_Text_Proc>
if (%TLNplayerSex% = 1) then {
set string <Computer_Text; deference sir_>
do <Computer_Text_Proc>
}
else {
set string <Computer_Text; deference maam_>
do <Computer_Text_Proc>
}
foreground <white>
end define

define procedure <lift off>
foreground <&HAF8E00>
if not flag <spaceship_power> then do <spaceship_power_proc>

if (%mcoordinates% = 0 ) then {
set string <Computer_Text; you have not entered coordinates yet_>
do <Computer_Text_Proc>
set string <Computer_Text; i will send you into orbit and await your commands there_>
do <Computer_Text_Proc>
}
set string <Computer_Text; prepare for lift off_>
do <Computer_Text_Proc>
pause <200>
end define


' ******************************* START UNIVERSE ******************************
' ******************************* START UNIVERSE ******************************
' ******************************* START UNIVERSE ******************************
' ******************************* START UNIVERSE ******************************

define procedure <startuniverseproc>
flag on <transport_shuttle>
set string <currentQ; XI>
set string <SunQ; XI>
set string <MercuryQ; XI>
set string <VenusQ; XI>
set string <EarthQ; XI>
set string <MoonQ; XI>
set string <MarsQ; OMICRON>
set string <JupiterQ; BETA>
set string <SaturnQ; ZETA>
set string <UranusQ; IOTA>
set string <NeptuneQ; NU>
set string <PlutoQ; CHI>
set string <currentplanet; Earth>
' ************** BEGINNING COORDINATES *************
set numeric <xx; 0>
set numeric <yy; 0>
set numeric <zz; 0>
set numeric <currentx; 62>
set numeric <currenty; 53>
set numeric <currentz; 68>
' *************** SET PLANET COORDINATES ******************
set numeric <MercuryOrbit; 1>
set numeric <Mex; 54>
set numeric <Mey; 55>
set numeric <Mez; 56>

set numeric <VenusOrbit; 1>
set numeric <Vx; 41>
set numeric <Vy; 51>
set numeric <Vz; 50>

set numeric <EarthOrbit; 1>
set numeric <Ex; 62>
set numeric <Ey; 53>
set numeric <Ez; 68>

set string <MarsQ; OMICRON>
set numeric <Mx; 68>
set numeric <My; 50>
set numeric <Mz; 52>

set string <JupiterQ; BETA>
set numeric <Jx; 51>
set numeric <Jy; 82>
set numeric <Jz; 87>

set string <SaturnQ; ZETA>
set numeric <Sx; 51>
set numeric <Sy; 82>
set numeric <Sz; 87>

set string <UranusQ; IOTA>
set numeric <Ux; 51>
set numeric <Uy; 82>
set numeric <Uz; 87>

set string <NeptuneQ; NU>
set numeric <Nx; 51>
set numeric <Ny; 82>
set numeric <Nz; 87>

set string <PlutoQ; CHI>
set numeric <Px; 51>
set numeric <Py; 82>
set numeric <Pz; 87>


end define

' ******************************* ORBITS ******************************
' ******************************* ORBITS ******************************
' ******************************* ORBITS ******************************
' ******************************* ORBITS ******************************

define timer <changeorbitstimer>
interval <30>
action {


' *************************** MERCURY ORBIT **************************

if (%MercuryOrbit% = 4) then set numeric <MercuryOrbit; 1>
else {
if (%MercuryOrbit% = 3) then set numeric <MercuryOrbit; 4>
if (%MercuryOrbit% = 2) then set numeric <MercuryOrbit; 3>
if (%MercuryOrbit% = 1) then set numeric <MercuryOrbit; 2>
}

if (%MercuryOrbit% = 1) then {
set numeric <Mex; 54>
set numeric <Mey; 55>
set numeric <Mez; 56>
}
if (%MercuryOrbit% = 2) then {
set numeric <Mex; 46>
set numeric <Mey; 53>
set numeric <Mez; 48>
}
if (%MercuryOrbit% = 3) then {
set numeric <Mex; 48>
set numeric <Mey; 45>
set numeric <Mez; 44>
}
if (%MercuryOrbit% = 4) then {
set numeric <Mex; 52>
set numeric <Mey; 47>
set numeric <Mez; 52>
}
if (#currentplanet# = Mercury) then {
set numeric <currentx; %Mex%>
set numeric <currenty; %Mey%>
set numeric <currentz; %Mez%>
}
' *************************** VENUS ORBIT **************************

if (%VenusOrbit% = 4) then set numeric <VenusOrbit; 1>
else {
if (%VenusOrbit% = 3) then set numeric <VenusOrbit; 4>
if (%VenusOrbit% = 2) then set numeric <VenusOrbit; 3>
if (%VenusOrbit% = 1) then set numeric <VenusOrbit; 2>
}

if (%VenusOrbit% = 1) then {
set numeric <Vx; 41>
set numeric <Vy; 51>
set numeric <Vz; 50>
}
if (%VenusOrbit% = 2) then {
set numeric <Vx; 49>
set numeric <Vy; 41>
set numeric <Vz; 50>
}
if (%VenusOrbit% = 3) then {
set numeric <Vx; 59>
set numeric <Vy; 49>
set numeric <Vz; 50>
}
if (%VenusOrbit% = 4) then {
set numeric <Vx; 51>
set numeric <Vy; 59>
set numeric <Vz; 50>
}
if (#currentplanet# = Venus) then {
set numeric <currentx; %Vx%>
set numeric <currenty; %Vy%>
set numeric <currentz; %Vz%>
}

' *************************** EARTH ORBIT **************************

if (%EarthOrbit% = 4) then set numeric <EarthOrbit; 1>
else {
if (%EarthOrbit% = 3) then set numeric <EarthOrbit; 4>
if (%EarthOrbit% = 2) then set numeric <EarthOrbit; 3>
if (%EarthOrbit% = 1) then set numeric <EarthOrbit; 2>
}

if (%EarthOrbit% = 1) then {
set numeric <Ex; 62>
set numeric <Ey; 53>
set numeric <Ez; 68>
}
if (%EarthOrbit% = 2) then {
set numeric <Ex; 46>
set numeric <Ey; 58>
set numeric <Ez; 47>
}
if (%EarthOrbit% = 3) then {
set numeric <Ex; 38>
set numeric <Ey; 45>
set numeric <Ez; 32>
}
if (%EarthOrbit% = 4) then {
set numeric <Ex; 54>
set numeric <Ey; 42>
set numeric <Ez; 53>
}
if (#currentplanet# = Earth) then {
set numeric <currentx; %Ex%>
set numeric <currenty; %Ey%>
set numeric <currentz; %Ez%>
}

' *************************** MARS ORBIT **************************

if (#MarsQ# = PSI) then set string <MarsQ; OMICRON>
else {
if (#MarsQ# = NU) then set string <MarsQ; PSI>
if (#MarsQ# = EPSILON) then set string <MarsQ; NU>
if (#MarsQ# = OMICRON) then set string <MarsQ; EPSILON>
}

if (#MarsQ# = OMICRON) then {
set numeric <Mx; 68>
set numeric <My; 50>
set numeric <Mz; 52>
}
if (#MarsQ# = EPSILON) then {
set numeric <Mx; 51>
set numeric <My; 63>
set numeric <Mz; 47>
}
if (#MarsQ# = NU) then {
set numeric <Mx; 33>
set numeric <My; 50>
set numeric <Mz; 48>
}
if (#MarsQ# = PSI) then {
set numeric <Mx; 49>
set numeric <My; 38>
set numeric <Mz; 50>
}
if (#currentplanet# = MARS) then {
set numeric <currentx; %Mx%>
set numeric <currenty; %My%>
set numeric <currentz; %Mz%>
}
' *************************** JUPITER ORBIT **************************
if (#JupiterQ# = OMICRON) then set string <JupiterQ; BETA>
else {
if (#JupiterQ# = MUSE) then set string <JupiterQ; OMICRON>
if (#JupiterQ# = NU) then set string <JupiterQ; MUSE>
if (#JupiterQ# = BETA) then set string <JupiterQ; NU>
}

if (#JupiterQ# = BETA) then {
set numeric <Jx; 51>
set numeric <Jy; 82>
set numeric <Jz; 87>
}
if (#JupiterQ# = NU) then {
set numeric <Jx; 20>
set numeric <Jy; 48>
set numeric <Jz; 47>
}
if (#JupiterQ# = MUSE) then {
set numeric <Jx; 47>
set numeric <Jy; 50>
set numeric <Jz; 13>
}
if (#JupiterQ# = OMICRON) then {
set numeric <Jx; 79>
set numeric <Jy; 46>
set numeric <Jz; 51>
}
if (#currentplanet# = Jupiter) then {
set numeric <currentx; %Jx%>
set numeric <currenty; %Jy%>
set numeric <currentz; %Jz%>
}
' *************************** SATURN ORBIT **************************
if (#SaturnsQ# = OMEGA) then set string <SaturnQ; ZETA>
else {
if (#SaturnQ# = CHI) then set string <SaturnQ; OMEGA>
if (#SaturnQ# = DELTA) then set string <SaturnQ; CHI>
if (#SaturnQ# = ZETA) then set string <SaturnQ; DELTA>
}
if (#SaturnQ# = ZETA) then {
set numeric <Sx; 51>
set numeric <Sy; 82>
set numeric <Sz; 87>
}
if (#SaturnQ# = DELTA) then {
set numeric <Sx; 51>
set numeric <Sy; 82>
set numeric <Sz; 87>
}
if (#SaturnQ# = CHI) then {
set numeric <Sx; 51>
set numeric <Sy; 82>
set numeric <Sz; 87>
}
if (#SaturnQ# = OMEGA) then {
set numeric <Sx; 51>
set numeric <Sy; 82>
set numeric <Sz; 87>
}
if (#currentplanet# = Saturn) then {
set numeric <currentx; %Sx%>
set numeric <currenty; %Sy%>
set numeric <currentz; %Sz%>
}
' *************************** URANUS ORBIT **************************
if (#UranusQ# = OMICRON) then set string <UranusQ; IOTA>
else {
if (#UranusQ# = PSI) then set string <UranusQ; OMICRON>
if (#UranusQ# = TAU) then set string <UranusQ; PSI>
if (#UranusQ# = NU) then set string <UranusQ; TAU>
if (#UranusQ# = EPSILON) then set string <UranusQ; NU>
if (#UranusQ# = IOTA) then set string <UranusQ; EPSILON>
}

if (#UranusQ# = IOTA) then {
set numeric <Ux; 51>
set numeric <Uy; 82>
set numeric <Uz; 87>
}
if (#UranusQ# = EPSILON) then {
set numeric <Ux; 20>
set numeric <Uy; 48>
set numeric <Uz; 47>
}
if (#UranusQ# = NU) then {
set numeric <Ux; 47>
set numeric <Uy; 50>
set numeric <Uz; 13>
}
if (#UranusQ# = TAU) then {
set numeric <Ux; 79>
set numeric <Uy; 46>
set numeric <Uz; 51>
}
if (#UranusQ# = PSI) then {
set numeric <Ux; 79>
set numeric <Uy; 46>
set numeric <Uz; 51>
}
if (#UranusQ# = OMICRON) then {
set numeric <Ux; 79>
set numeric <Uy; 46>
set numeric <Uz; 51>
}
if (#currentplanet# = Uranus) then {
set numeric <currentx; %Ux%>
set numeric <currenty; %Uy%>
set numeric <currentz; %Uz%>
}
' *************************** NEPTUNE ORBIT **************************
if (#NeptuneQ# = EPSILON) then set string <NeptuneQ; NU>
else {
if (#NeptuneQ# = OMICRON) then set string <NeptuneQ; EPSILON>
if (#NeptuneQ# = PSI) then set string <NeptuneQ; OMICRON>
if (#NeptuneQ# = NU) then set string <NeptuneQ; PSI>
}
if (#UranusQ# = NU) then {
set numeric <Nx; 51>
set numeric <Ny; 82>
set numeric <Nz; 87>
}
if (#UranusQ# = PSI) then {
set numeric <Nx; 51>
set numeric <Ny; 82>
set numeric <Nz; 87>
}
if (#UranusQ# = OMICRON) then {
set numeric <Nx; 51>
set numeric <Ny; 82>
set numeric <Nz; 87>
}
if (#UranusQ# = EPSILON) then {
set numeric <Nx; 51>
set numeric <Ny; 82>
set numeric <Nz; 87>
}
if (#currentplanet# = Neptune) then {
set numeric <currentx; %Nx%>
set numeric <currenty; %Ny%>
set numeric <currentz; %Nz%>
}
' *************************** PLUTO ORBIT **************************
if (#PlutoQ# = NU) then set string <PlutoQ; CHI>
else {
if (#PlutoQ# = DELTA) then set string <PlutoQ; NU>
if (#PlutoQ# = EPSILON) then set string <PlutoQ; DELTA>
if (#PlutoQ# = ZETA) then set string <PlutoQ; EPSILON>
if (#PlutoQ# = OMICRON) then set string <PlutoQ; ZETA>
if (#PlutoQ# = OMEGA) then set string <PlutoQ; OMICRON>
if (#PlutoQ# = PSI) then set string <PlutoQ; OMEGA>
if (#PlutoQ# = CHI) then set string <PlutoQ; PSI>
}
if (#PlutoQ# = CHI) then {
set numeric <Px; 51>
set numeric <Py; 82>
set numeric <Pz; 87>
}
if (#PlutoQ# = PSI) then {
set numeric <Px; 51>
set numeric <Py; 82>
set numeric <Pz; 87>
}
if (#PlutoQ# = OMEGA) then {
set numeric <Px; 51>
set numeric <Py; 82>
set numeric <Pz; 87>
}
if (#PlutoQ# = OMICRON) then {
set numeric <Px; 51>
set numeric <Py; 82>
set numeric <Pz; 87>
}
if (#PlutoQ# = ZETA) then {
set numeric <Px; 51>
set numeric <Py; 82>
set numeric <Pz; 87>
}
if (#PlutoQ# = ESILON) then {
set numeric <Px; 51>
set numeric <Py; 82>
set numeric <Pz; 87>
}
if (#PlutoQ# = DELTA) then {
set numeric <Px; 51>
set numeric <Py; 82>
set numeric <Pz; 87>
}
if (#PlutoQ# = NU) then {
set numeric <Px; 51>
set numeric <Py; 82>
set numeric <Pz; 87>
}
if (#currentplanet# = Pluto) then {
set numeric <currentx; %Px%>
set numeric <currenty; %Py%>
set numeric <currentz; %Pz%>
}
}
enabled
end define

Freak
20 Mar 2007, 19:42
Ouch.

007bond
21 Mar 2007, 06:23
That must of been so bloody hard to do.
Nice work.

Elexxorine
21 Mar 2007, 11:20
That's nastey. Why would you want to do that though?

lyteside
21 Mar 2007, 15:12
yeah, it was rough. having another team mate help me program it out helps a ton, though. i just thought it would be lame to have planets like jupiter be at the same coordinates all the time. and wanted to add some work for the player, cause i'm mean.

Freak
21 Mar 2007, 16:01
Better program design would have been more useful than a helper. Even in Quest, gettraveltime could have been done in a fraction of the code.

lyteside
21 Mar 2007, 16:10
there are multiple variables needed here. what coordinates is the planet in. what quadrant in space does that place the planet. where are you in space? is it on a planet? etc.

most of the code you're looking at are the orbits functioning and moving. the reason for the more complex code for calculating distance is that we wanted to pseudo represent the pythagorean theorem. if, for instance you are traveling diagonally across quadrants and coordinates, the time should be adjusted accordingly. if you travel from 1.1.1 to 1.2.1 and then to 2.2.1, it will take longer than actually travelling from 1.1.1. to 2.2.1. and that's just with x and y variables. if not for these concerns, i think it could probably be done in about 1 third of the code.

i am certainly not saying we programmed it in the best way and that some shortcuts can be managed. but i am saying there is a method to the madness there.

Freak
21 Mar 2007, 16:32
I understand the Pythagorean Theorem quite well. I'm referring to things like:

if (%x1% <> %x2%) then {
if (%x1% < %x2%) then set numeric <x3; %x2% - %x1%>
else set numeric <x3; %x1% - %x2%>
}
else set numeric <x3; 0>


Why test whether %x1% <> %x2%? What if you had used this code instead:

if (%x1% < %x2%) then set numeric <x3; %x2% - %x1%>
else set numeric <x3; %x1% - %x2%>


Doing it this way, the case "%x1% == %x2%" would be handled by the else statement, which would end up setting x3 to %x1% - %x2% == 0. So what's the point of that test?

Does Quest correctly support negative numbers? If it does, you can simplify the code even further; all you do with |x1-x2| is square it, so it doesn't matter whether the value is positive or negative.

lyteside
21 Mar 2007, 16:35
you know, we had trouble with those lines [ using negatives ]. and the complicated math in quest didn't seem to work at all. maybe it's something we did wrong, or that we were using an older version of quest.

as far as your other code, though... that may work. let me put it in and see if that does the trick! that'd be great. thanks, dude.

*edit*

looking on it now, i see what you mean... i don't know why we added that extra check. either 1) we're setting it apart to test something i can't even remember 2) the simplified test didn't work for some reason or 3) we're smoking crack.

i'm voting for number 3.

Freak
21 Mar 2007, 16:50
You can do something similar with the "get total distance" routine. You don't need to avoid adding zeroes, and you should also be able to get rid of the 'distzero' flag.

In Quest, you probably won't be able to simplify the orbit calculation; you'd be able to clean up that code heavily in a better language.

lyteside
21 Mar 2007, 16:55
totally. yeah, hopefully i'll be able to make those changes. any less code means less load time for the game. thank you. =)

Alex
21 Mar 2007, 17:16
You could tidy up the code a bit with Quest 4 - you could use the new "select case" instead of all those ifs. It also supports negative and non-integer numbers, and you can use mathematical expressions as well.

lyteside
21 Mar 2007, 17:31
dang, that is quite handy.

paul_one
21 Mar 2007, 17:55
That looks like you're inputting data of where the planets are at different points in the orbit (apart from the fact that pluto seems to be constantly in the same place)..
Am I wrong in that assumption?

If so, could you not just create an algorythm which can produce the planets position? Would that not be easier?
Say, give it a distance from the sun at two points in the orbit (obviously with a time) and as such produce the rest of the orbit.

I would then assume you could factor in moons, by giving two points reletive to the planet it goes around (eg "set numeric <MOONx;%planet%+0.5>")?

On a last note, does Quest have troubles multiplying zero or negative numbers? I wouldn't see why;
set numeric <x3; %x1% - %x2%>
set numeric <x3; %x3% * %x3%>
msg <%x3%>
Should produce erroneous results... Even with Quest 3.5, I thought negative numbers were handled correctly.

Freak
21 Mar 2007, 18:04
It could be cleaned up more, and made more resistant to errors, by using better data structures instead of a SELECT CASE.

lyteside
21 Mar 2007, 18:27
Tr0n wrote:That looks like you're inputting data of where the planets are at different points in the orbit (apart from the fact that pluto seems to be constantly in the same place)..
Am I wrong in that assumption?


no, you're not wrong. i haven't set the coordinates to all the planets yet. i'm just checking mars, jupiter, and earth which all appear to be working.

Tr0n wrote:could you not just create an algorythm which can produce the planets position? Would that not be easier?
Say, give it a distance from the sun at two points in the orbit (obviously with a time) and as such produce the rest of the orbit.


yeah, it definitely could be done like that.
yeah, if i had decided to use a large number base for the coordinates, that would be freaking awesome and realistic to have the moons orbiting the planets as well. it won't be necessary to this game and it truly needs to be simplified, but maybe when this ones done we can collaborate on an engine that would work like that. i KNOW there are some others doing some space stories that would love that sort of engine.

Freak
21 Mar 2007, 18:56
Any semblance of astronomical accuracy would be rather silly. Keep in mind that the earth takes a year to make one circuit (compared to the 2 minutes in your sim), and the outer planets take even longer. Unless you have very odd timescales, the movement by the planet is insignificant compared to the distance between planets. Also keep in mind that the outer planets are geometrically farther from the sun.

lyteside
21 Mar 2007, 18:58
Freak wrote:Any semblance of astronomical accuracy would be rather silly. Keep in mind that the earth takes a year to make one circuit (compared to the 2 minutes in your sim), and the outer planets take even longer. Unless you have very odd timescales, the movement by the planet is insignificant compared to the distance between planets. Also keep in mind that the outer planets are geometrically farther from the sun.


exactly.

paul_one
21 Mar 2007, 20:42

Any semblance of astronomical accuracy would be rather silly.

Yes, quite true.
My first instinct was to basically have a rather simple circle, with a constant distance from the sun, and have it rotate in one/some axis (say a property "rota_axis=x" or "rota_axis=x,z").

by using better data structures instead of a SELECT CASE.

I guess you don't mean "data structure" there - but more program flow/control/whatever (I can't seem to grip the word)..
I think a select case would be quite suitable - seeing as there should be only one..
..Although, I guess if you could create an object with properties, you could simplify it even more (ie, a loop going through various positions, and those positions being properties of the object.. I think Freak may understand me slightly there... ie:
planet1 ->
one = x=2,y=5,z=5
two = x=3,y=4,z=5
three = x=4,y=5,z=5
four = x=3,y=4,z=5
planet2 ->
one = x=10,y=10,z=0
two = x=5,y=5,z=0
....
and a loop would just go through, saying (basically) "assign [position of planet] to [planet1].[one]" or "[planet1].[two]" where either the planet or property could be changed.

witch wyzwurd
24 Mar 2007, 02:36
Album?

lyteside
24 Mar 2007, 19:30
yeah, i do industrial/techno/trance type music, the new one has kirsty hawkshaw on it, which i'm really stoked about.

http://www.myspace.com/deltas

http://www.deltasmusic.com

witch wyzwurd
24 Mar 2007, 22:24
Congratulations on the completion of your new project. I got into "Damage Control" right away. Cool tune. Then I got kicked off MySpace. This has been happening lately, where my computer disconnects. I listened to the 2nd track "Erase" and the last one, but not all the way through. I was a bit disappointed that you don't allow a free download at least for one of your tracks, though. My MySpace site is myspace.com/davidmivshek. You can connect to my personal webpage (globallablog.com), hear my song samples, grab 2 free downloads of my songs, read excerpts from my upcoming poetry book "Love's Void," and much more. It's not a Myspace Music page, but I've included my music.

Your game appears intricate and like it'll be fun to play.

Alex
25 Mar 2007, 20:06
Wow, how did you get Kirsty Hawkshaw involved?

lyteside
27 Mar 2007, 15:45
seriously, that was a real blessing. i had done some art for her, and she later contacted me and said she liked my stuff a lot, so i thought, "what the heck, i'll just ask her if she'd like to do a song together", and she said yes! i was pretty stoked about it.

Alex
28 Mar 2007, 17:08
Cool, look forward to hearing it.

I've sent you an add request by the way... I'm on MySpace at http://www.myspace.com/theembryomusic

witch wyzwurd
29 Mar 2007, 11:54
Ok Alex, so is that music you composed? A bit confused, since your image is listed as a friend of The Embryo.

Alex
29 Mar 2007, 12:05
Yes, The Embryo is me.

I just added a separate personal MySpace account which is why I'm also a friend of myself!

witch wyzwurd
29 Mar 2007, 22:07
That's fairly desperate, Alex (re: your own picture). Anyways, I'm not too much into tecno/electronica music, unless a good song of it comes along. I downloaded all three of the songs which can be. I like every one of them. I'm going to include them in a eclectic compilation for self enjoyment.

By the way, have you read my question about animation to you in the Creating Games forum, within the thread... Quest 4.01 disappointments? Please respond, I've given it several weeks.

Alex
29 Mar 2007, 23:05
Thanks :)

Sorry I didn't respond earlier to your animated GIF question - sometimes it's hard to keep track of unanswered questions in the forums. I've replied now.

lyteside
04 Apr 2007, 23:17
just wanted to give you an updated screen shot.


Elexxorine
04 Apr 2007, 23:32
Sweet dude...

007bond
05 Apr 2007, 08:42
that looks bloody awesome

Cryophile
05 Apr 2007, 15:46
As far as Industrial/techno goes, I'm more or less a virgin. I absolutely love Velvet Acid Christ, but I haven't heard much else that is similar. I'm not too fond of the trance or similar (portishead etc.)

lyteside
11 Apr 2007, 17:33
well, i'm still a little ways away from completing chapter 1, but currently we are working on the sounds and pictures. could be another couple of weeks before we release anything playable... but i promise it will be worth the wait!! here's a screen shot of the chapter 1 image.


Elexxorine
11 Apr 2007, 22:50
That's new. Btw, your game is frigging awesome Lyteside!! Can't wait for the next release!

lyteside
13 Mar 2008, 00:02
well, the game again went black for a while, do to work related reasons. anyway, i've hired a colorist to professionally color my pictures for use in the text game, as well as a trading card game i'm making. thought i'd post some up.


lyteside
18 Aug 2009, 16:06
i'm resurrecting the game, yet again. any testers out there that can test for UI and "solvability?"

Freak
18 Aug 2009, 22:29
How much of the game is actually written, and is it clear when the player gets to the stubbed parts?

lyteside
18 Aug 2009, 23:11
the first two puzzles are complete and beta tested. there are minor bugs and fixes needed that don't seem to impede the game play much. I'm adding a tag so the user will temporarily win the game once all the relavent puzzles and/or enemies are defeated.

also, thanks for your last QA session, Freak! it really helped, and we made some adjustments to things like considering (to make it more accurate), made lots of descriptions more brief (a tiny few longer). We've dramatically altered the story so we don't have to keep building more world. Instead, we're using what we have. There may be a day l when we'll have space flight and all that orbiting planets crap come back, but for now, its pretty minimal as well.

Freak
19 Aug 2009, 14:33
Sure, send me a copy.

Elexxorine
12 Sept 2009, 13:26
ME!!!! Send it to me! I've been begging you for updates for ages!