BEFORE! you run your mouse to click the attachment and engulf yourself in the amazement of the new release which offers basically nothing, please either read the whole post or skip to the second part,
Version Notes.
After more hours of code than I can count (and a couple of CPU and RAM failures in my brain) I have successfully managed to implement a couple of really important feature... Wait, I haven't mentioned one very serious matter:
I moved the project to BlitzMax.
If anyone is actually concerned. Having this serious announcement behind me, I would like to commence with a list of stuff done:
# Changelog:
That is stuff that happened since last publication. Current version should be known as Pre-Alpha 0.02. Once we get to V1.00 it will automagically turn to Alpha 0.01 (which will happen most likely around the same time you will be able to walk around with your sword in hand smashing enemies you yourself could modify and running away from them between rooms... Or maybe sooner)
1. First of all I managed to successfully transliterate the whole code and structure (and improve it) to BlitzMax from Flex. Oh, how I just LOVE blitzmax (despite it having no Getters/Setters and private properties). Not to mention it is slick fast, better, handier, prettier, faster, cooler, nicer and faster. So with that I can safely believe that with my mediocre (but fanatical) optimization skills I can manage the whole project successfully.
2. Content is external - well, mostly. Right now Levels, Tiles and Objects are externally definable, but in the future I hope to make loads of stuff external (statuses, elements, effects, items, body parts, AI, scripted monsters and probably some world shaking things) but, though it might ONLY be because I am not that great of a programmer, thinks like that are dang problematic and difficult to make, especially that I still don't know how much cycles I will have left to use. So until some unspecific point in the future I am not promising ANYTHING about it. Unless you can, like, help then that's entirely different matter.
3. You can rotate all the way to the left and right, something which took around 2 minutes to code and yet gives so much fun!
4. Graphic manager which takes care of all the object graphics loaded and cleans them on the fly without any need for special, sort of Garbage Image Collector by Skell Industries to make sure memory is not cluttered with hundreds of sprites. Not to mention that most likely it won't be enough and WILL require some fine tuning, but hey! at least it's there, right?
5. *rummages through the code* Externalized enemies AI (that is, internally externalized, every object is hooked to a singleton TBrain instance which is obviously not singleton enough... not singleton AT ALL to be precise);
6. Strict documentation of every function, method, field, global and constant (but internal workings of functions are not yet commented properly which should change in the future);
7. A nifty (that is, just ONE function called Log) logger with lots of Conditionally Compiled calls in critical places. In the future it will be extended by more Logging options, like LogInitializationMessages, LogBattleMessages, LogStatisticsChanges, LogPlayerActions, LogEnemyActions and so on. Just a good starting point for now;
8. And all that with every property being (fictionally) private
EDIT: 9. And we shouldn't forget that the whole thing consists of roughly... 1714 lines of which 785 are actual code!
# Version Notes:
These are the notes you should know before playing the latest release. Some of the knowledge will pass on to next releases and it will be endlessly repeated until it is no longer needed.
# Controls are extended WSAD, that is QWE-AD-ZXC to move around, and OP to rotate;
# Please, Please PLEASE don't leave the screen. Moving between rooms doesn't yet work and trying to leave room will lead to array out of bound errors, memory overwriting and property of null object errors (all of which will of course NOT display but should crash nonetheless);
# PLEASE don't modify the data files as the only really working thing that you can do is change player graphic name (nothing else will work and any other changes, especially violating syntax, WILL lead to crashes);
# Don't get your hopes up, there is barely anything there;
# Questions:
If I have some questions or pleas to community (or just some general stuff) I will post them here.
1. Anyone interested in looking at the source? I am planning to release it at some later stage, right along the game itself, but if someone breaks the acceptable curiosity level I can save your life by releasing it sooner... but only if someone helps me choose License which is rather problematic stuff for me and I want to skip it for some later date.
2. Of course any bugs should be reported ASAP, please.
3. Feel free to comment.
4. If you can help me with externalizing the content as much as possible then I will be really glad to get some feedback!
# Future:
In other words what I am planning to include in next release.
# Finishing Level Parser;
# Walls and Force Arrows (Har, how can a game which has letters D, R, O and D not have Force Arrows and still be a game with letters D, R, O and D?);
# Moving between rooms;
That would be all for now! Feel free now to download the file if you haven't done so already. The file was scanned for viruses with latest version of AVG Anti Virus Free and probed to be clean
.
____________________________
My website |
Facebook |
Twitter
[Last edited by skell at 04-18-2010 11:06 PM]