Release 0.0.8C

Got a quick chunk of time to play around with this again.  The minimap is now working properly, and that memory fix I talked about is now in.  The tileset may also have been tweaked, I’m not sure on that one.  Grab it here!


Release here!

This’ll probably be the last update for a few weeks. Trying to go back to Python after spending a few weeks of working with C++ feels so..different. I might switch this project over to C++ if I get equated well enough with it, or maybe I’ll just start working on a C++ project instead and keep this around too. Busy busy busy. Either way, more activity will come in December or so.

The only glitch I’ve noticed with this release is the minimap is a little screwy. I know why it doesn’t work, but if I hold off on this until I fix it, it’ll be even longer before this post comes up.

   Added a (barebones) title screen.
   Custom keybindings via title screen.
   Added “Key” py file and an ini file for manual editing if need be.
   Digging function cleaned up somewhat.
   Integrated new map generator.
      A fully glitch-free version is finished, I just need to update it.
   Changed scrolling/grass behaviors for more natural movement.
   Automatic screenshots placed in the Screenshots directory. Use the SCROLL LOCK key.

Additionally on that page under Misc, I’ve added in a / dialog.txt file to show how my dialogue system will hopefully work. Run it through the terminal


Release 0.0.7

Release 0.0.7


Added in a custom building to the town
There is a healing item in the center of that building
Combat formulas have been changed and somewhat randomized
Entity definitions have been reworked into a separate file and streamlined
Monster statistics have been reworked to adjust by level
Multiple monsters have been added
—Some creatures are slower and hit harder, etc
Turn system is now in place to give creatures different speeds
Stairs take you to and from the caves
—Topleft of the town is the entry point to the caves
—Bottomright of the caves is the exit point
The town is now persistent until the game quits; caves are still random
Health and mana are now displayed on the GUI
—Health changes to red as you lose it; mana currently does nothing
File structure has been cleaned up: all code files now reside in the “code” folder
Graff’s display icon is the gelatinous cube until something more appropriate is found

Link is here.

Decided to hold off on an inventory and release what I’ve got so far.


EDIT: Ooh shiny, a featured page under WP’s roguelike tag. Well I’ve got a newer post up here that’s got some changes from this one, if you’re interested.

Next release is up.

Combat is extremely basic at the moment, and not at all where I’d like it, but I have a change of plans. My code has gotten to the point where, although it makes sense from a “I can follow the dots down the line from player input -> game draws to screen” perspective, it seems like each time I make a minor change, the AI’s following behaivor reverts back to doing something odd that I thought I already fixed. Currently here’s the basic game logic loop:

player presses a key (say, a movement key)

Scene.filterkeys() is called

that calls Player.move():
..player.x,player.y, and world coords are set
..generateview() is called -> screen re-establishes what tiles are where and what they look like

enter Scene.update() loop:
player.update() called:
..nothing relevant happens, oddly

tiles update:
..nothing important, just sets up which tiles are dirty for dirty rectangle updates

checkentityvisible() called:
..if entity in list is within bounds of the screen, add to livingspritegroup

set a matrix according to each tile's blocking status within the viewable screen

updateScentMaps(playercoords): a floodfill of "scent" for collab diffusion followers to hone in on

update livingspriteGroup:
..move according to scentmap/generateview() changes

draw everything

exit update, await next input

Its mainly the latter half of the set, where the miscellaneous functions (scent map, etc) are called is where things get messy. At this point I’m going to get down to finding out how to simplify and unify (and probably rewrite) everything, particularly in terms of collision. “When is collision handled?” is not a very easy question to answer at this point in time.

0.0.5 Release

Minimaps and AI.

Minimaps and AI.

My small attention span just kicked in.

This isn’t as significant of a difference compared to release .4, but adding in wandering monsters made me feel all happy inside. Rudimentary combat is there, meaning I have something that kind of sort of not really resembles gameplay! Collision detection isn’t all there just yet–creatures seem to ignore doors and will land on the player tile without doing anything, and their movement state is processed only when on-screen, and if they go offscreen sometimes they enter a black void area off the map, but that’s because I dont have full collisions implemented yet. I also have not yet implemented that collaborative diffusion/scentmap pathfinding yet, but I soon will.

Oh and I have a working and speedy minimap now.