I always enjoy looking what fellow game programmers come up with. I have a few tips in case you're interested. Feel free to not follow them at all, it's your game
The game behaves slow overall, which is of course happening because you're using direct console output. If you were to use OpenGL, performance would increase by a factor of hundred, probably a thousand times. I really like the style of this game, but that can be preserved quite easily. I'm pretty sure Dwarf Fortress, for example, uses something like OpenGL to render the game, while preserving the ASCII looks.
Once that's done, I think it's worth it to convert the player coordinate system from integer to double or float, so you can easily implement a bit of physics to allow for more realistic jumping. This requires a higher framerate to be effective.
Try capping the framerate at 60 (or 30 if you like) FPS. A small example in pseudocode:
long Start;
long End;
long Delta;
while(!exitRequested)
{
Start = CurrentTime;
Render();
OtherStuff();
End = CurrentTime;
Delta = End - Start;
if(delta > 1 / 60)
{
Sleep(delta - 1 / 60);
}
}
This probably maps 1:1 to C++, but I'm not sure. It's been a while since the last time I've programmed anything in C++.
I always enjoy looking what fellow game programmers come up with. I have a few tips in case you're interested. Feel free to not follow them at all, it's your game
The game behaves slow overall, which is of course happening because you're using direct console output. If you were to use OpenGL, performance would increase by a factor of hundred, probably a thousand times. I really like the style of this game, but that can be preserved quite easily. I'm pretty sure Dwarf Fortress, for example, uses something like OpenGL to render the game, while preserving the ASCII looks.
Once that's done, I think it's worth it to convert the player coordinate system from integer to double or float, so you can easily implement a bit of physics to allow for more realistic jumping. This requires a higher framerate to be effective.
Try capping the framerate at 60 (or 30 if you like) FPS. A small example in pseudocode:
long Start;
long End;
long Delta;
while(!exitRequested)
{
Start = CurrentTime;
Render();
OtherStuff();
End = CurrentTime;
Delta = End - Start;
if(delta > 1 / 60)
{
Sleep(delta - 1 / 60);
}
}
This probably maps 1:1 to C++, but I'm not sure. It's been a while since the last time I've programmed anything in C++.
Yeah I probably could use opengl or something similar to decrease lag. My current display method is only 60 lines mostly made of a switch statement. So I think I could add it quite nicely.
Yay! OK here's the other 7 plus one game idea(I also included the last 3 I showed you):
Keepers:
Look like: Keys
Where: At entrance to caves
Group: 1 per entrance
Hostile: Yes
Smileys:
Look like: Main character, different colors
Where: Everywhere above ground
Group: Varies
Hostile: If attacked turn into frowns, otherwise no
Frowns:
Look like: A frowny face
Where: No where unless Smileys are attacked
Group: Varies
Hostile: Yes
Orgs
Look like: Orcs (one-eyed giants), but are smaller
Where: Above ground during the day
Group: 1-2
Hostile: Within 5 blocks, this area is conisdered the orgs area
Filth:
Look like: Algae
Where: Water
Group: 2-4
Hostile: Yes
Nomads:
Look like: Weary travelers
Where: Near mountains/hills
Group: 4-6
Hostile: No
Statues:
Look like: Little statues
Where: Hiding in cave dark spots
Group: 1
Hostile: If you jump within 3 blocks of it, it gets scared and attacks, otherwise no
Fish:
Look like: Various fish
Where: water
Group: 2-4
Hostile: No (They'll also eat Filth)
Priest:
Look like: The pope
Where: randomly in game, only 1 of them
Group: 1
Hostile: No, they also give you a powerful weapon if you happen to have the random amount of a certain block they want.
Priest followers:
Look like: A Smiley in a suit or dress (Sunday best!)
Where: Randomly throughout
Group: 2-5
Hostile: No, they also will look towards the priests location every minute for 2 seconds
Other ideas:
Watch:
What: Shows a clock at the top of the screen (For priest follower purposes, and maybe a day/night cycle?)
How: Made using materials
OK here's some more. 4 more mob ideas and 3 more 'Other ideas':
Mobs:
Genie:
Look like: A genie
Where: Only 1, comes out of a random Statue
Group: 1
Hostile: No, but if you wish for more wishes or try to rub the lamp again after it has granted you your 3 it turns into a Denie
Denie:
Look like: A demon mixed with a genie
Where: (See Genie, Hostile for info)
Group: 1
Hostile: Yes, takes away the wishes it granted you then kills you and restarts you in a different world
Timekeeper:
Look like: An old baby
Where: The very center block in the sky
Group: 1
Hostile: No, if captured however will upgrade your watch, but only if you have one, if not he disapears forever and you are stuck at that time of day forever (see: Upgraded Watch)
Gods:
Look like: Holy figures
Where: In their place of rule (i.e. water, sky, ground, etc.)
Group: 1
Hostile: No, they will give you an Element Stone that can be used for special crafting. You can find out their locations in the Priest's Great Book. (see: Element Stone/Priest's Great Book)
Other ideas:
Upgraded Watch:
What: Shows a clock at the top of the screen (For priest follower purposes, and maybe a day night cycle?)
Upgrade is: Allows time change and time stopping
How: (See Timekeeper, Hostile)
Element Stone:
What: A special stone used to craft especially rare items
How: (See Gods, Hostile)
Priest's Great Book:
What: A book written by the priest himself. Contains virtues on life, verse to sing to the Gods, and the Gods locations
How: The first Priest Follower you meet gives it to you
Thank you! Glad your enjoying it!
Edit: Lol the poll is still 50-50, i don't know what to do
Thanks, I am using C++ as Sillen said.
Thank you!
EDIT: Quite addicting! +1
I hope to see this go far!
I always enjoy looking what fellow game programmers come up with. I have a few tips in case you're interested. Feel free to not follow them at all, it's your game
The game behaves slow overall, which is of course happening because you're using direct console output. If you were to use OpenGL, performance would increase by a factor of hundred, probably a thousand times. I really like the style of this game, but that can be preserved quite easily. I'm pretty sure Dwarf Fortress, for example, uses something like OpenGL to render the game, while preserving the ASCII looks.
Once that's done, I think it's worth it to convert the player coordinate system from integer to double or float, so you can easily implement a bit of physics to allow for more realistic jumping. This requires a higher framerate to be effective.
Try capping the framerate at 60 (or 30 if you like) FPS. A small example in pseudocode:
This probably maps 1:1 to C++, but I'm not sure. It's been a while since the last time I've programmed anything in C++.
Monsters will be coming soon!
I hope it will too!
Yeah I probably could use opengl or something similar to decrease lag. My current display method is only 60 lines mostly made of a switch statement. So I think I could add it quite nicely.
Edit: 500th post I'm now a "Restone Miner"
I also have a list going of ideas. Here's 3 of the 10 mob ideas I have:
Smileys:
Look like: Main character, different colors
Where: Everywhere above ground
Group: Varies
Hostile: If attacked turn into frowns, otherwise no
Frowns:
Look like: A frowny face
Where: No where unless Smileys are attacked
Group: Varies
Hostile: Yes
Filth:
Look like: Algae
Where: Water
Group: 2-4
Hostile: Yes
If you like these would you please take me on as an idea worker?
I like it, sure you can be an idea guy
Yay! OK here's the other 7 plus one game idea(I also included the last 3 I showed you):
Keepers:
Look like: Keys
Where: At entrance to caves
Group: 1 per entrance
Hostile: Yes
Smileys:
Look like: Main character, different colors
Where: Everywhere above ground
Group: Varies
Hostile: If attacked turn into frowns, otherwise no
Frowns:
Look like: A frowny face
Where: No where unless Smileys are attacked
Group: Varies
Hostile: Yes
Orgs
Look like: Orcs (one-eyed giants), but are smaller
Where: Above ground during the day
Group: 1-2
Hostile: Within 5 blocks, this area is conisdered the orgs area
Filth:
Look like: Algae
Where: Water
Group: 2-4
Hostile: Yes
Nomads:
Look like: Weary travelers
Where: Near mountains/hills
Group: 4-6
Hostile: No
Statues:
Look like: Little statues
Where: Hiding in cave dark spots
Group: 1
Hostile: If you jump within 3 blocks of it, it gets scared and attacks, otherwise no
Fish:
Look like: Various fish
Where: water
Group: 2-4
Hostile: No (They'll also eat Filth)
Priest:
Look like: The pope
Where: randomly in game, only 1 of them
Group: 1
Hostile: No, they also give you a powerful weapon if you happen to have the random amount of a certain block they want.
Priest followers:
Look like: A Smiley in a suit or dress (Sunday best!)
Where: Randomly throughout
Group: 2-5
Hostile: No, they also will look towards the priests location every minute for 2 seconds
Other ideas:
Watch:
What: Shows a clock at the top of the screen (For priest follower purposes, and maybe a day/night cycle?)
How: Made using materials
Mobs:
Genie:
Look like: A genie
Where: Only 1, comes out of a random Statue
Group: 1
Hostile: No, but if you wish for more wishes or try to rub the lamp again after it has granted you your 3 it turns into a Denie
Denie:
Look like: A demon mixed with a genie
Where: (See Genie, Hostile for info)
Group: 1
Hostile: Yes, takes away the wishes it granted you then kills you and restarts you in a different world
Timekeeper:
Look like: An old baby
Where: The very center block in the sky
Group: 1
Hostile: No, if captured however will upgrade your watch, but only if you have one, if not he disapears forever and you are stuck at that time of day forever (see: Upgraded Watch)
Gods:
Look like: Holy figures
Where: In their place of rule (i.e. water, sky, ground, etc.)
Group: 1
Hostile: No, they will give you an Element Stone that can be used for special crafting. You can find out their locations in the Priest's Great Book. (see: Element Stone/Priest's Great Book)
Other ideas:
Upgraded Watch:
What: Shows a clock at the top of the screen (For priest follower purposes, and maybe a day night cycle?)
Upgrade is: Allows time change and time stopping
How: (See Timekeeper, Hostile)
Element Stone:
What: A special stone used to craft especially rare items
How: (See Gods, Hostile)
Priest's Great Book:
What: A book written by the priest himself. Contains virtues on life, verse to sing to the Gods, and the Gods locations
How: The first Priest Follower you meet gives it to you
Hope you like!
Ok sounds good!