First thing first, the position of the courier is off. Not worried to much about that, getting game play complete. screen resolution can be a challenge to get everything to position correctly for all the different screen sizes. In the game, there is 6 different screen sizes. That is many screens to make sure all of them work correctly.
It has been a while since I”ve update but I’ve been very busy trying to get the City complete. There is a couple of dungeon sequence that I’ve rewritten and completed. Going through the assembly code, there was many things missing that I put into the game. I’ve completed the Elevator, Vault Code, Fountain are all complete now. Digging through the assembly code takes sometime but is going to allow us to be more complete to the original code.
I’ve been working on Guilds and spells and that has taken a long time. To me the guild is the most adverse code in the game. The dungeon allows for only so many spells. Based on the code, there is a minimum number of spells plus so many per level. Arx will match the Dungeon 8-bit on this. If you try to learn a new spell and you are maxed out it will ask you which spell you wish to forget to learn the new spell. Casting will cause you to increase your fatigue. There is now checks in the guild if you are joined that your alignment is still with in their requirements. No more being good and joining a guil and turning evil. They will give you warnings and then kick you out. This matches the Dungeon. If they kick you out, and it is your main guild, you will lose your items in your locker. So please watch out. Spells only have so many uses and will be depleted and will need to be relearned again to use. Learning a spell is not a set percentage increase for each time you practice a spell. Each spell has its own increase rate and will increase each session based on its settings.
The other option is there were no spells in the 8-bit game but was in the 16-bit version. So I combined the dungeon 8-bit and the 16-bit City into one list of spells.
If you become drunk you can now pass out like the city.
Created 16 bit dungeon screens that are missing, many other screens still missing and need to be created. Screens like stairs leading up/down now have a 16 bit version. Also, Ozob screen is also created for 16bit mode.
Update save routine to be more advanced. It will save the entire game in a state. This way, when you restart the weather start up right where it left out. all events that were going continue where they left off. Trying to prevent anything system restarting from scratch. Changed startup routine to handle game loaded from save file vs. starting a new game. Skip routine that initialize different parts of the system. Also, changed all classes talk to each other. I created an event system that class subscribe if they want the update on an event. So, like time update, a class can subscribe and get an update when time changes. This way, classes do not need to know anything about each other.
Added the ability to select 16-bit experience point rewards vs. 8-bit, Added the ability to select 16-bit healer options bs. 8-bit on character creation screen. Once a character is created, then from that point forward, you are force to use that type of game option. No switching back to the other style after creating your character. This menu option is selected when creating a character. This affects normal game and challenge mode.
Changed eating and drinking to match the dungeon. Once your stomach is so full it doesn’t allow you to eat/drink anymore but it wastes the drink/food. Put in the sayings to indicate your to full that matches the dungeon. Also, I added speed penalty for hunger. Found that was an option digging through dungeon items special effect debuging them. I think I got about 90% of all the memory at location 63xx for the 8-bit dungeon. The iternet and many many website got about 20% complete. The code and description of items told me the rest. Like having an item that rests your fatigue. But the code changes 8 variables, you know all those variables are related to fatigue. The would be like in the middle of str value, wisdom value. The game appears that it keeps those values and update the show status based on max and all the penatlies. There are still a few variables I”m not sure what they are used for, can see the code referncing them and altering them throuhout the game. I’m not an assembler coded, who write in assembler anymore. That is a dieing language, we just make computers faster and faster so the worry about speed in software or size is not needed anymore. I love how small old games where and what they did with that space, and now just to run a piece of code that says “hi” to the command line is larger then 64k.
BIG CHANGE —
Game Difficulty has been added to the game. When you start the game, you select which difficulty you wish to play under. There are 3 options. “Easy”,”Normal”,”Hard”. “Normal” is exactly like the 8-bit city/dungeon play. “Easy” and “Hard” mode will modify many areas of the game to make it easier or harder. More/less encounters, damaged, cost of items, guild cost and many more areas are effected. Once a character is created in that difficulty there is no way to alter the difficulty settings. You can’t switch back and forward.
Added a challenge mode to the game. This prevents you from saving the game. You play until you die. See how long you survive. Game difficulty is in this also. See how long you last without saving in Hard mode. Also, during challenge mode, it displays in the lower left corner you are playing challenge mode and displays how long the character has survived in hours, days, months and years. When you die, it save a screen shot of the game, so you have proof how long you played and you can see the stats of your player. Also, it keeps track of many things about the game and has a high score for each difficulty mode. It keeps the top 20 scores. This way you can see what you have done. It keeps track of kills, day survived, charms/tricks and runs/flee, jobs taken, guilds joined and many other items. You can see your results from the main screen and sort them by many different fields. I love this feature, it is pretty challenging.
Challenge Mode has an achievement side scrolling popup window during the play. So each day you survive, then a popup shows how you are during. There are many popups that happen during the play.
Test script —-
I created a test script to create a release copy of the game so it can be released. I’ve getting close to having The City complete and when I do I’m going to release the City version. The dungeon to me is only about 30-40% complete and many of the screens are not fully complete to the original code.
I have to give MANY MANY thanks to acrin for starting the C++ code and Jduerstock on github, who took the time to convert many of the sequences into readable 6502 assembly. There are some pointer issue and missing items that I’ve corrected as I downloaded his code. When doing a dungeon sequence, I go through the assembly code and verify all the aspects that need to be in the game and code them. But in the end this is not an emulation, or copy of the game. This is a COMPLETE NEW rewrite of the game, some aspects are based on game play, some are based on techinical notes of what people have located and some are on disassembly of the original code. But all code is NEW and unique.
- Added – Going through the assembly code, the alignment check per guild is not just main guild. It is any guild you are part of. I originally coded it to check based on the main guild only.
- Added – Speed penalty for hunger. Found that was an option digging through dungeon items special effect debugding them.
- Added – Add changes to fountain. Dungeon wouldn’t let you drink if you are bloated. Put in that check If you drink when you are max out hp, different kind of saying. Also, each type of healing from the 3 different fountains
have a random number for the sayings.
The fountain is complete and should match the dungeon code completely.
- Added – Changed eating and drinking to match the dungeon. Once your stomach is so full it doesn’t allow you to eat/drink anymore but it wastes the drink/food. Put in the sayings to indicate your to full that matches the dungeon.
- Added – Started testing the dungeon item, one by to make sure they work like they are suppose to with full effects, everything appears to be going good.
- Added – Change code so it works outside of the development package. Created a script file to generating the jar files and copying all files over.
Removed sounds and images from the jar file. The data and binaries files load from the jar file, while the images/songs load from a file from a directory
Wanted to limit the size of the jar file.
- Added – Challenge Mode – Has a sliding banner to let you know status as you play.
- Added – Added the ability to select 16-bit experience point rewards vs. 8-bit
- Added the ability to select 16-bit healer options vs. 8-bit
Once a character is created, then from that point forward, you are force to use that type of game option.
No switching back to the other style after creating your character. This menu option is selected when creating a character. This affects normal game and challenge mode.
- Added – Game Difficulty has been added to the game. When you start the game, you select which difficulty you wish to play under. There are 3 options.
“Easy”,”Normal”,”Hard”. “Normal” is exactly like the 8-bit city/dungeon play. “Easy” and “Hard” mode will modify many areas of the game to make it easier or harder. More/less encounters, damaged, cost of items, guild cost and many more areas are effected. Once a character is created in that difficulty there is no way to alter the difficulty settings. You can’t switch back and forward.
- Added – Added a challenge mode to the game. This prevents you have saving the game. You play until you die. See how long you last. Game difficulty is in this also.
See how long you last without saving in Hard mode. Also, during challenge mode, it displays in the lower left corner you are playing challenge mode and displays how long the character has survived in hours, days, months and years. When you die, it save a screen shot of the game, so you have proof how long you played and you can see the stats of your player.
- Added – Changed world time update to be based on events instead of hard coding all the different places that need to know the changes. Now you subscribe to the TimeEvent and every minute, 15 mins, hour or day. All the listeners to this event will be called. This way, The world timer doesn’t need to know everything about all the different events. It can be handled generically. You just subscribe and you will get a call when it happens.
- Added – Update save routine to be more advanced. It will save the entire game in a state. This way, when you restart the weather start up right where it left out. all events that were going continue where they left off. Trying to prevent anything system restarting from scratch. Changed startup routine to handle game loaded from save file vs. starting a new game. Skip routine that initialize different parts of the system.
- Added – Added a Event Manager system. This class handles and controls all events. When an event start, it registers with this system. This manager will update events as needed, like weather, world time and etc.
- Added – Created 1 bit dungeon screens that are missing, many other screens still missing and need to be created. Screens like stairs leading up/down now have a 16ibt version. Also, Ozob screen is also created for 16bit mode.
- Added – Combined the Dungeon spells with the 16-bit City spells. Removed duplicate spells. Since they are two systems, I store the format into a json format that has both combined. The data is still the original 8-bit dungeon and the city is recreated into 8-bit dungeon format.
- Added – If you become very drunk, you can pass out.
- Added – Random turning implement for being drunk. When you become tipsy, the console panel at the bottom of the screen will display random screens.
- Added – All closed stores now say closed and will not let you in them.
- Added – Combined City Spells with the Dungeon spells to be one set of spells.
- Added – Learning a spell is not a set percentage increase for each time you practice a spell. Each spell has its difficulty and will increase each session based on its difficulty.
- Added – Spells only have so many uses and will be depleted and will need to be relearned again to use.
- Added – Warning if you kill members of the same guild, After so many warnings then your membership is revoked. Your ring is lost. Watch out, you will lose everything in your locker.
- Added – Warning if your become to good/evil for the guild, after you become to much of one or the other your membership will be revoked and your ring taken.
Watch out, you will lose everything in your locker.
- Added – Casting Spells will increase your fatigue based on how much the spell takes out of you to cast.
- Added – Change number of spells a player can learn at one time to match the Dungeon, Dungeon was based on a min. but then added more for each level the character is. If you try to learn a new spell and you are at max, it will ask you which spell to get rid of.
- Added – Completed the Vault Code. Changed code entirely. Also, made it reflect the Dungeon code. Time to guard locating you is based on the dungeon time.
Also, if you get dragged out vs. escorted is based on alignment (dungeon code). Also, if caught you go directly into encounter mode with the guards.
- Added – Complete the code for the Elevator in the game.
- Added – Change weapon selection for Monster to be the same as the Dungeon.