- Input (Basic)
q = up-left
w = up
e = up-right
a = left
z = down-left
x = down
c = down-right
d = right
g = pick up item on ground
* To open the inventory just click on Finns image on the right.
Changes:
- UI
- Slight modifications nothing much changed here
- Dungeon
- Added doors
- Did some work on the dungeon generation
- Vision blocked by doors
- Stairs will appear in the dungeon now but for whatever reason they aren't accessible
There's a piece of code somewhere that's preventing them from being walked on
and I'm not really sure what's keeping them off-limits lol. As soon as I have time
I"ll find it and make them accessible.
- Other Stuff
- It may not seem like much has changed but the game is much more stable
- I changed a lot of the code as it was fairly spheghettified due to having only recently
picked up Lua.
- Added a state manager
- Enemies
- Added a new enemy to test the enemy generation and make sure it can spawn
a semi-random pattern of enemies
- Items
- Theres a sword I added for similar reasons to the new enemy, making sure items
can be spawned randomly from a pool
Known Issues:
- Room.lua:117
- This relates to the door placing algorithm. It seems to be a problem when the tile
the algorithm chooses to test as a possible location for a door doesn't exist or
possibly it's coordinates are not even integers as this would cause it to return nil
- That's it! I only see one crash these days!
Update:
- Well it's been a while because school's been taking up almost all my time but I'm glad to
say that I haven't lost the determination to complete this game.
Updates may be farther apart but I AM actively developing it. Things are slowly starting
to come together and it's starting to feel more like a roguelike than a piece of software imitating a roguelike lol.
I think my next focus will be on adding status messages so the player has some feedback as well as visible stats. They're already implemented under the hood somewhat but no where are they visible
Code: Select all
[b]###########################################################################################
AdventureBand v 0.0.7
Changes:
- UI[/b]
-Status Panel added
-Health display changed as well as added Finn portrait which changes based on the amount of
health the player has left
-Equipment panel added
-Inventory implemented
- Dungeon
-Dungeon code reworked to allieviate some nasty bugs causing crashes, shouldn't be any crashes
from the map generation now
-Lots of code reworking here, much more stable
-Items
-Items randomly spawned during map generation
-Test item added (IceCrown)
-Items can be picked up and are added to inventory
-Enemies
-Lots of internal reworking of the enemy objects making things much more stable
[b]To Do:[/b]
- Implement item stats(attack, armor, the normal equipment roguelike item stats and more ;) )
- Timing/Turn system
- Everything else!
Known Issues/Bugs:
- Thankfully with the code reworking (hooray for OOP!) there doesn't seem to be any egregious bugs causing
any sudden crashes. There is one issue I am aware of that causes a crash and it relates to the FOV algorithm
but I encounter it very rarely and only during the loading phase. If the game starts then you're golden but
9 times out of 10 it will start fine.
- There are many features that just aren't implemented yet, they aren't bugs just haven't gotten to it just yet.
What's Working:
- Dungeon generation
- Input (Basic)
q = up-left
w = up
e = up-right
a = left
z = down-left
x = down
c = down-right
d = right
g = get item off ground
- Player FOV (Fog/concealed distinguishing isn't fully implemented yet)
- Enemy and very basic AI (Idle movements, recognizes, chases, and attacks the player, enemies can be destroyed)
- Player Health (currently no consequence to dying, you're health will go negative), Attacking, Movement
- Probably some other simple/basic stuff I'm not remembering ATM
- Ability to pick up items off the ground
- Picked up items are placed into inventory
- Operational(but not FULLY functional) inventory system
Update:
- For anyone who cares sorry this has taken a while. I kinda undersold how long it would take to get this all done. To
my credit I've also had to deal with spring semester starting up and school has to come first. I love making games
and I have to be careful to remember that I won't be able to keep making them if I screw up school. I'm almost done
so focus is key.
As far as progress is concerned, oh man did I put my brain through the ringer for this phase of development. Getting
the UI working actually wasn't all that difficult and probably the smoothest cycle so far. I credit that to the wonderful
UI library I'm utilizing, loveframes. I can not overstate how useful this library has been and how well it works. Also,
the library developer answers questions in the library thread which is really, truly, helpful and appreciated.
So I've added some cool stuff that I'll explain here in detail:
- I created a status panel that shows the player name and current/max health.
- The status panel contains a portrait of Finn and as his health goes down, his portrait
changes to reflect the amount of damage he's experienced. Love it. Doom homage anyone? lol
- There's now an equipment panel under the status panel. Clicking on the respective piece of Finn's wardrobe
will open the appropriate inventory screen. Only the armor screen is populated with picked up items at the
moment but I'll get the others workings VERY soon. I don't actually have to write more code to get this working
just create new objects and some referencing/function calling (OOP ftw).
- I went back and restructured a lot of the prototyping code that was used to get the foundation of the game in place.
The result being that there are essentially 0 random crashes during game play. There is still 1 bug somewhere that
can cause a crash but it only happens during the initial load and is fairly rare.
My next target is to flesh out the items and make them actually do something when the player equips them. I'm excited
to get to the end of the concrete development and to enter a sort of content development stage where I'm more focused
on how the systems work together rather than trying to decide how to store item definitions and implement an OOP based
infrastructure.
One thing I've been thinking about is when does a game start to feel like a game? Or rather when does a roguelike feel like a
roguelike? I seemingly have many of the basics implemented already, random dungeon, player character, enemies, items,
exploration of said dungeon. However, it still seems to not be shaping into a game yet. I wonder if it's because I'm so close to
the actual nuts and bolts that all I can see are the features yet to be implemented and have become insensitive to what is
already there.... whoa lol. Anyway, hope some people try it out. If you do, please leave a comment, seeing people's thoughts
really helps inspire me to continue...
############################################################################################################
AdventureBand v 0.0.5
Fixes:
- Implemented rmcode's FOV algorithm, thank you so much for your help
- Added some helper functions to the tile_map container to make changing visibility a bit more simple
To Do:
- Get the fog/concealed overlay system working the way it's supposed to
- Everything else!
Known Issues/Bugs:
- Player update crashes happen because I need to add a check somewhere to ensure that a tile position passed to update
actually exists before trying to draw an image to the tile position. You can avoid the bug I believe by not moving Finn's
FOV to the edge of the screen.
- I believe someone posted a comment about sizing or resizing the window, it's not supposed to be possible so I'll have to
figure out why it's even a possibility and correct that.
- Enemy idle movement bug may cause crash. The idle movement is based on RNG so I'm going to have to check it out but
I'm almost certain that the enemy is trying to move onto a tile that is either not traversable or doesn't exist. It's not super
common but something I'll have to check out.
- Map generation bug can cause crash before the game even starts. The dungeon is procedurally generated and this bug
seemed to appear out of nowhere recently. There's a conflict somewhere that causes the game to crash and it happens
early. The map is generated during loading so once you get into the game it shouldn't be an issue. If you crash before
you get to the actual game just try running the game again.
- I'm new to Love so I also may have screwed up the distribution package. I'm not even sure how that would present itself
though. If someone more knowledgable notices something that might indicate a packaging problem please let me know.
What's Working:
- Dungeon generation
- Input (Basic)
q = up-left
w = up
e = up-right
a = left
z = down-left
x = down
c = down-right
d = right
- Player FOV (Fog/concealed distinguishing isn't fully implemented yet)
- Enemy and very basic AI (Idle movements, recognizes,chases,attacks the player, enemies can be destroyed)
- Player Health (currently no consequence to dieing, you're health will go negative), Attacking, Movement
- Probably some other simple/basic stuff I'm not remembering ATM
Update:
I took a break during the holidays mostly because the FOV was being a real pain in the *** but first day back on the saddle and I got it working right out the gate so needless to say I'm feeling inspired to continue at this point.
My immediate concern is finishing the FOV and getting the fog/concealed tiles to display the correct overlay tile. Currently something isn't working right which causes all the tiles to display as if they are discovered but not lit.
Once I get that figured out I'll probably focus on the player character a bit more which needs to be worked on quite a bit before I can start working on the more elaborate enemy AI and the new combat system I've designed. For fear of being discouraged by comments I'll keep it to myself as to what that will look like but I'm confident I'll have it prototyped in the next week or so.
Oh, also, right now my girlfriend is playing pixel artist but she has zero experience and not an artist to begin with so if any one feels like they might be interested in helping out in the art department I'd be super appreciative. I also wouldn't mind having another designer/developer to bounce ideas off of. Cheers.
############################################################################################################
AdventureBand v 0.0.6
Fixes:
- Made some changes to address the FOV bug that was causing game to crash
- Solved the fog/concealed tile overlay issues, FOV is now 100% implemented
- The position that the player last saw a visible enemy will now remain as the enemys player perceived position until the
enemy comes back into the players view
- Changed the loading of tile base and overlay images to the tile map instead of each individual tile having it's own image
which got rid of the long load time at start
Priority:
- Player entity implementation to include but not limited to: inventory, various control options, UI integration...
- Everything else!
Known Issues/Bugs:
- The FOV bug that was causing a crash when the player moved near the edge of the screen may be fixed but I won't know
until I test it out some more or here from someone here.
- The window resizing is probably still a issue, it shouldn't be possible to resize it. Haven't tackled this yet.
- Enemy idle bug causing a crash is still a major issue and probably the most common cause of crashes.
- During load it seems that the RNG can set the player's initial starting point to coordinates that do not exist which will
cause the game to crash on load. This is tied to some RNG so it does not happen every time the game is started. If it
does crash on you then try restarting. It's rare that it does it more than once in a row.
- Map generation bug can cause crash before the game even starts. The dungeon is procedurally generated and this bug
seemed to appear out of nowhere recently. There's a conflict somewhere that causes the game to crash and it happens
early. The map is generated during loading so once you get into the game it shouldn't be an issue. If you crash before
you get to the actual game just try running the game again.
- I'm new to Love so I also may have screwed up the distribution package. I'm not even sure how that would present itself
though. If someone more knowledgeable notices something that might indicate a packaging problem please let me know.
What's Working:
- Dungeon generation
- Input (Basic)
q = up-left
w = up
e = up-right
a = left
z = down-left
x = down
c = down-right
d = right
- Player FOV fully implemented including fog and last known enemy positions
- Enemy and very basic AI (Idle movements, recognizes,chases,attacks the player, enemies can be destroyed)
- Player Health (currently no consequence to dieing, you're health will go negative), Attacking, Movement
- Probably some other simple/basic stuff I'm not remembering ATM
Update:
So today was amazingly productive. Not only did I get FOV working, but I managed to get the fog/concealed system up and running as intended.
I was even able to implement enemys being drawn at the positions last seen by the player. So if the player sees an enemy and then moves somewhere that obscures the enemy from the player, instead of the enemy becoming invisible it will be drawn at the last position the player saw the enemy. The enemy doesn't just sit there, it continues to do it's very simple AI business and is drawn at its actual location upon coming into the players view once more.
Now that the core systems are in place it's time to start making this roguelike feel more like a game so expect new features and mechanics to be added soon. My plan is to shift focus to the player entity since a game usually revolves around said entity. Cheers!
Announcement:
If anyone feels like doing some easy/simple pixel art for the project I would be absolutely grateful to them.