Short update for this. In my last post I mentioned the problem I had with Legends preliminary generation. Now that problem is gone, small little bug as I expected and should have avoided but how it goes. So now that that's solved I have to figure out how to translate the layout into the actual room data which will be interesting.
In other news I'm reading through a copy of Programing AI by Example by Mat Buckland. It's getting me some AI techniques and such though I'm having to look into dreaded math. We'll see how this pans out. I've been playing with a more old style roguelike set up just to cut teeth that won't have any impact on Legend but it helps get the bad practice out.
A blog about things. How novel. Talk about games of the console, computer, and table top kind. Add some programing nonsense and some drawing nonsense. Then season with some random stuff not covered, like how I stretched a buck by eating fried flour that day.
Friday, March 2, 2012
Monday, February 27, 2012
Hydra
More work done, mostly in other roguelike things as I thought it would be good practice. I got old style Rogue like dungeon rooms (based off some reading) and a bit of line of sight work. Not directly related to project but gets me in the mind set.
What I do have is in the image. A huge mess that I call a hydra ,it's made of necks and heads that shouldn't' be there. To keep this somewhat short I'll breeze over the idea of how dungeons will be generated. a hallway is placed down connecting to it, then one or more hallways are connected to it until finished for the length. This allows hallways to have an order which require puzzles, room cleared of enemies, keys to open the door to go onto the next hallway and so forth until the dungeon is finished.
Problem up there is that should be 3 hallways of 4 rooms. There is a lot more than that in some order I barly understand what it's doing. Probably a simple bug, but would take a long time to find. Lunch breaks don't offer all that time and my weekends are sorta dominated. Though I keep cracking.
What I do have is in the image. A huge mess that I call a hydra ,it's made of necks and heads that shouldn't' be there. To keep this somewhat short I'll breeze over the idea of how dungeons will be generated. a hallway is placed down connecting to it, then one or more hallways are connected to it until finished for the length. This allows hallways to have an order which require puzzles, room cleared of enemies, keys to open the door to go onto the next hallway and so forth until the dungeon is finished.
Problem up there is that should be 3 hallways of 4 rooms. There is a lot more than that in some order I barly understand what it's doing. Probably a simple bug, but would take a long time to find. Lunch breaks don't offer all that time and my weekends are sorta dominated. Though I keep cracking.
Saturday, February 18, 2012
updates event handler edition
![]() |
| Do gibs even belong in this game? |
The philosophy behind the event handler is that it gets passed to every instance that uses it so that they can take care of themselves. So you get hit and the character object that defines you does calculations, sees that it has an event handler and uses the event handlers add function to put another line on there. This is also used for the doors, the item pick ups, everything. It keeps the main loop from having to know what every single entity does under the hood to properly display the text which I find to be quite useful.
Now I'm not sure wha tthe next step shoudl be. I may play with giving the enemy mobs some attack code and properly patching them up so they don't "eat" each other by destroying their fellow moblin/goblin/mogoblin id at locations or walk through "doors" and cause all sorts of trouble.
Wednesday, February 8, 2012
Late night quick post
A little more gets added each day. Most important was actually last week but mock up a proper "scene" just didn't seem to get my programing spirits up as tacking on more stuff. So no ascii in game image.
What we do have now is saving through good old fashioned not really efficient pickling. Took a few days to uncouple TKinter from the data structures and getting methods all to the top most module for remembering functions and it was golden. Size was a little big so I subclassed some dictionaries to act as 2d lists, which I could further optimize by making it just a single dictionary with some more trickery and math in it, but I don't do math well. The save right now is about 16 KB which through zipping can get down to 10 KB, not bad for out of the box saving.
I can improve this through some better class sub classing and getting rid of irrelevant data to be saved (like stats in a wall or objects). Though the real size change would come from me writing my own save output. For now though pickling is the way to go and lets me examine a world to a degree and modify it on the fly without recoding in the middle of it.
So saves and loads done. Next I overhauled the display system getting it more towards useable. I have event text coming out at the bottom that is triggered through various things. Only holds 5 of the past events and no logs at the moment so a bit limited but workable. After that I set up somewhat of an internal scripting system to allow events such as stepping on to give commands to the engine without a whole bunch of function nonsense (as there is enough of that) so stepping on an item can tell the DM to remove it from teh room. Somewhat proper object orientated design as the item never needs to know the room it's in or how to interact with it. Last I got done was the beginning of puzzles. I can get objects to disappear and be placed by stepping on them. So things such as switches are now possible. Next I'll see about getting damage back into the game and smack a few mobli-goblins around in the test dungeon. I've already had them spawned just to see if they'd persist room transition but had no interaction with them beyond trying to get past them as they move about randomly.
What we do have now is saving through good old fashioned not really efficient pickling. Took a few days to uncouple TKinter from the data structures and getting methods all to the top most module for remembering functions and it was golden. Size was a little big so I subclassed some dictionaries to act as 2d lists, which I could further optimize by making it just a single dictionary with some more trickery and math in it, but I don't do math well. The save right now is about 16 KB which through zipping can get down to 10 KB, not bad for out of the box saving.
I can improve this through some better class sub classing and getting rid of irrelevant data to be saved (like stats in a wall or objects). Though the real size change would come from me writing my own save output. For now though pickling is the way to go and lets me examine a world to a degree and modify it on the fly without recoding in the middle of it.
So saves and loads done. Next I overhauled the display system getting it more towards useable. I have event text coming out at the bottom that is triggered through various things. Only holds 5 of the past events and no logs at the moment so a bit limited but workable. After that I set up somewhat of an internal scripting system to allow events such as stepping on to give commands to the engine without a whole bunch of function nonsense (as there is enough of that) so stepping on an item can tell the DM to remove it from teh room. Somewhat proper object orientated design as the item never needs to know the room it's in or how to interact with it. Last I got done was the beginning of puzzles. I can get objects to disappear and be placed by stepping on them. So things such as switches are now possible. Next I'll see about getting damage back into the game and smack a few mobli-goblins around in the test dungeon. I've already had them spawned just to see if they'd persist room transition but had no interaction with them beyond trying to get past them as they move about randomly.
Monday, January 30, 2012
Super Alpha release?
![]() |
| Blame friends for bad jokes, and me for actually putting them in. |
I almost deiced to not release it but this actualy makes me excited. I finally got something that halfway looks like a game, this never happens with my little projects. There isn't much to it and bad jokes abound but it is a piece of software with a start, a middle, and an end (that hangs forever). So I decided to put it up. Next steps will be making more monsters, item pick up, and figuring out how to save this.
Simple run of the engine, not even properly re-sized for the GUI. You walk around with arrow keys and proceed through a whole 9 to a treasure. Though there is a trick to it.
Get it here . Should run on cPython 2.6 though made with 2.7. Read me should be iside if I didn't mix up files. Run the Dungeon_Master.pyw to get the game to work.
Tuesday, January 24, 2012
Break time is fun time
![]() |
| Family friendly entertainment |
Doesn't do anything but it's possibly going to come up more later. Enemies that drop bombs on death for instance or maybe just good old fashioned key dropping. The random gib tile is a thing given by the on death variable I put in the character so it really could be anything. Function passing in python (with default value editing) is quickly becoming my favorite way to make objects. Next up I'll try going about some actual attack and defense things and get towards the final screen sizes. After that tackle dungeon screens with a hard coded maze.
Thursday, January 19, 2012
it begins
| <link to music with copy rights here> |
So I've revamped the simple rogue like system and spread it over a few files. Easier for me to chew when working on it though a little confusing with all the windows. Right now no movement and such but my tests show it still works for that. Either way progress.
So for this quick blog on break I'm going to go on about my goals for this Zelda Like Rogue Like which really is only taking inspiration from those games. Probably far too much of it considering the format for my goals. The basic goals that are needed aren't even given any tags. The ones that are have special importance. Milestones are goals that I see as doable and would greatly improve the game so I am going for them. Power Goals are goals that I think are great but would require a lot of work and may be more trouble than they are worth, though I think they're worth a lot.
So first off. Main goal for this game. A package of code that can run with vanilla python 2.7 (which I may even package a striped down version with the game to make sure it runs). Not using the Curses library, while it's a roguelike standard I prefer working on it as a graphical approach even if it is a canvas filled with single character text blocks, it just gives me more options that I may use. Now for the List via special categories.
Zelda List
Screens : Rooms both inside and outside
Screen transition *MILESTONE* : Not just teleportation between doors, screen moves in a zelda like fashion between rooms.
Mobs : Standard
Overworld : The large dungeon between dungeons
Dungeons : The crawl
Tool items : Meat and potato of this game. It revolves more around the "tool items" more than monsters and finding better weapons.
Zelda 2 List
Stats : How large or small I'm not sure
NPCs *POWER GOAL* : And not the vender kind, the ones with random bits of information that could help a player if they get lost, sorta requires towns.
Towns *POWER GOAL* : Where NPCs gather safely and have innae babble
Zelda a link to the past List
Side quests *POWER GOAL* : These technically appear in original Zelda but I remember more little side quests from this game. Get health up and other effects here.
Puzle temples *MILESTONE* : Meat and potatos of game, it'll be hard but it needs to be done. Technically original Zelda had this but in a more prevent you from getting through as you don't have the items that let you move over obstacle way. This is more you need to hit this switch with a boomerang and put a bomb down here and run across room idea.
Own list:
Randomized backstory *POWER GOAL* : I'm not using zelda and I'm not sure where else to get "plot" for. So random list of names and event sequencer could be fun.
"Puzzle" Bosses *POWER GOAL*: I'm not sure where this one started but Bosses being weak to their dungeons item is a common theme.
More to be added at some point or further explained/explored but I think this covers the basics. Only one more thing left
| Please don't sue me Nintendo |
Subscribe to:
Posts (Atom)



