Altcoins

Nov. 5th, 2020 06:17 pm
Wanna help with Astorum development? Set up a few altcoin wallets for donation:

BitCoin    15QVPVaVW6Md43SeH1eG8BosEZEwbhWXvi
LiteCoin   MA84uREmzX1p1RnXKwiRUTAmb4hdyRTbiA
XRP         rw2ciyaNshpHe7bCHo4bRWq6pqqynnWKQg

Some other altcoin you'd rather give? Let's talk.
contact@orionsoftworks.com
Research tree and technologies are *mostly* implemented. Some refinement remains and will integrate technology effects as I move on to other portions of the game. Integrating technologies required more time than I originally thought.

Returning to planet management for a while. On the docket are population growth, planetary AI, and other pieces.
Spent the last few weeks roughing in ship design and planetary specials generation. If I come up with an idea for a video to highlight the work, I’ll post one. Being pre-alpha, there’s not a lot of eye-candy or graphical awesome to really showcase any of it atm.

After some refinement and testing of those pieces, I plan to shift focus to roughing in some research and colonization mechanics over the next two weeks. Hopefully that will go as smoothly as some of the other pieces have so far.

First forays into some idea generation for species art. They’re not to the full extent of concept art but design studies to explore different directions. I have some *vaguely* definite (lol) ideas of direction but sometimes throwing ideas against the wall and engaging other people’s creativity yields more intriguing designs than trying to do that all in one’s head. I’ll post a study or two in a later update.
Proof-of-concept preview for stars in Astorum



Have a ways to go before anything is implemented in Astorum beyond a proof-of-concept. I like how they are turning out. I dig the prominences and the how the core looks like it has churning sunspots.
I have some basics of starship interstellar travel implemented. You can click on a ship (just a small icon currently) and hover over another star system to see if the travel is possible.

I assigned neutron stars to block travel but, ultimately, it will be another type of astronomical object (neutron stars are just for testing).

It is far from done. Here is a little animation...

travel indicators
While I started blogging about my game recently, I began coding months ago. Recently I moved into coding colony buildings... or, at least, the framework for them and came up to a usual ‘feature’ (haha!) of GameMaker.

GameMaker has no support for objects (those unfamiliar with programming concepts, objects are just a conventional way to neatly organize and write code). This means that all the logic needs to be accomplished in a fairly old-school way with arrays. Ah, memories of my earliest days programming lol :D

I was able to create a structure, almost like a primitive database, to organize all the colony building data. It turned out simple enough that I don’t think I will have problems extending and integrating it further into the game. I was even able to create a basic tool around it for later testing! :: happy dance::

I’m used to things becoming more complicated than they look at the beginning but this went pretty smoothly. This makes me very happy :)

Astrum

Jul. 7th, 2020 01:26 pm
Started a new game project some months back that is provisionally called Astrum. It's a space strategy game done in the "4x" style (I'm trying to step away from some 4x conventions) with a focus on civilization customization and creation.

The only 4x elements I intend to keep are the exploration, expand, and exploit ideas. I'm stepping away from the 4th element, Exterminate/conquest, and seeking to implement other possibilities. Can we call it 3x? :) But, hey, if you DO want to conquer another civilization in a war, there's nothing stopping you from that!

Currently, it's a one person effort with some help from my fiance with testing. I'm notorious for misjudging project scope for personal projects than I can reasonably finish and so I hope this time I get the scope correct :) ::fingers crossed::

I'm using this blog as the formal blogging HQ of the project.

Screenshots
Click here to download the source for Middlecrest.

Feel free to e-mail comments and suggestions to Mallachin at hotmail dot com. Constructive criticism, please! Keep the nay-saying to yourself. Any bugs found can be reported on the SourceForge page for now. I will create a better system at a later date.

Enjoy!
So, those following the progress of Middlecrest have probably noticed I haven't updated the source recently. Actually, that's an understatement since my last update was... November (had to go back and look).

Most of the reason is due to contract work I picked up. I underestimated the lack of time I have to devote to projects outside of my day job, which technically is also another project I work on :) I get paid at my day job. I don't get paid to develop Middlecrest.

The other part of it is that the Middlecrest source code hit a brick wall.

I haven't been the architect of a large and complicated project before. I'm used to taking code written by others, sussing out how another organization's codebase works to do whatever update I am assigned to do, and getting it done. There is a world of difference between doing that and architecting the codebase yourself.

While the codebase is great at generating locations (caves, landscapes, etc.), it is horrendous at generating areas (provinces, which are groups of locations). The codebase wasn't nearly as extensible as I thought it was. I've devoted time to correcting the deficiencies in my object model and it has forced me to re-vamp the code considerably.

I will have a fix for the province issue soon. However, since the re-engineering was so extensive, the roadmap has changed. I will release the province generation code in a bug release (a stripped down version featuring just the province code) and add the old functionality and features incrementally, in future updates.

Hopefully, that explains a few things. Middlecrest is still in development, even though it is in fits and starts :)
Middlecrest update to version 0.2.23

Additions:
*Deities
*Character statuses
*Calendar
*Item Quality
*Item generation based on level
*More weapons
*More armor
*More monsters

...and others!

Bug Fixes:
*Bug fix: Fixed item names that weren't displaying correctly.
*Bug fix: Races now display correctly when using look command.
*Bug fix: Added better seed on name generation so that name sequences aren't repeated every game.
*Added edge case checks when determining armor and weapon damage values.

Updates:
*Updated to SQLite v3.7.9
*Transitioned to C++ Boost RNG.
*Legacy code updates to avoid possible weird behavior and inefficiencies.
*Locations now only populate when entered by player.
*Significantly refactored display, weapon, and spell code.

There are a lot of updates in this release. People who haven't looked at it since v0.1.87.1 will notice many changes. Most of these additions are from the iPAD/iPhone updates I've been working on and I thought I would release those updates for people to see and bash on. Although there is new content, I spent a lot of time doing some internal rewrites of code to accommodate the other added functionality and to move the code into its final form.

Thanks and enjoy!
Continuation of an earlier post, detailing the races of Middlecrest in the latest release.


Lytans - Once possessing the largest empire in Mitrayan history, it stretched across the lands of The Levat, Ispanda, and Zakra. It lapped the shores of Nordlund and claimed portions of both modern Brytholm and the Southern Desert. Ingenious tactics and an open mind to technology and learning allowed them to conquer and lay the groundwork for much of Mistrayan civilization. Most Lytans are educated to a basic level and they were the first civilization to urbanize to a massive degree. They delight in public works and oratory. Their houses of debate served as the seed of the modern Ispandan political system. Their civilization is proud, laying to the east of Ispanda. Ongoing skirmishes with the Levatians have caused bad blood between the two peoples for centuries.

The Lytans are a combination of Ancient Rome, Byzantium, and the Qin dynasty. I wanted an imperial civilization, like Rome, that had once controlled the continent and passed down a legacy of cultural innovations. I also have a fascination with ancient empire cultures that are pre-scientific but still technology-centric.

Abilities and Bonuses: They are one of the only widely literate cultures in the continent. They are bureaucratic and imperial and so many of their other affinities are political or weapon/legion based.

Levatians and Amoricans )
Middlecrest update to version 0.1.87.1

Additions:
*Two new races
*Content additions

Bug Fixes:
*Many! (mostly due to library updates)

Updates:
*SQLite to v3.7.7.1
*Lua to v5.1.4
*C++ Boost to v1.47
*Code re-factoring and database overhaul.

Normally I wouldn't update so soon after a previous release but this version is mostly bug fixes.

Additionally, I received interest in doing a mobile version of Middlecrest for the iPAD/iPhone. This is good, considering my financial woes, and could generate a little flow my way. I will switch gears for the next few months as I work to get it ready (not much porting required, as the source is standardized code, but will require content additions and some tweaks). So, I wanted to get some last updates out before I switched my focus temporarily.

Thanks and enjoy!
Middlecrest update to version 0.1.87

Additions:
*Rudimentary quest system
*Character disposition
*Basic guild support
*Look command
*Ranged weapon targeting
*Basic talk menu

Bug Fixes:
*Many!

Updates:
*SQLite to v3.7.6.2
*Significant code overhauls and miscellaneous updates.

This will be it for a while. If anyone wants to contribute to keep the ball rolling, feel free to contact me. Information is in-game and in included readmes. As soon as I'm back on my feet, development will continue.

Thanks and enjoy!
The Middlecrest project isn't finished - it's just been put on hiatus for a bit.

To explain the situation I have to go back a few years. Don't worry, I don't plan on boring you with TOO many details :)

I do a lot of work for other people. I write web applications, I write Middlecrest (well, that's for me, but I do it for you too), and I'm trying to dredge up a job for a mobile web application. Having too much work isn't the problem. I have enough as it is. Finding PAID work is the toughie. All that stuff I just mentioned I do? Yeah, it's pro-bono. I haven't had a paid gig in three years.

I can design and implement a mean web application or I can program a chess game (given enough time) but the economy is so rough out there that it's tough to find work. My area is also overrun with talented software developers so the pickings in jobs are slim and highly, obnoxiously competitive. Portland is a rough market right now and, unfortunately, it's not too much better around the United States and in a lot of the world.

How does this affect Middlecrest? Well, Middlecrest takes time to develop - time better spent looking for a paid gig. I've used up my savings over the past three years and now I need to find money STAT... or risk putting myself out on 82nd for that job that's always hiring. The one where I dress up in heels and purr, "Hey, baby!" at passing cars. No, I kid! Point is: eating is more important than Middlecrest and I need money to eat.

So, I will release an updated version of Middlecrest soonish. It will be chock-full of new features. There are some bugs to work out to get it to that point but they are relatively minor. And then, Middlecrest is officially (formerly, unofficially) on hiatus for a spell. Don't worry. It will be picked up again soon after I have the ducats flowing my way.

And in the meantime, any one know of some work where a slightly hair-brained, wholly inventive, resourceful, and hungry software developer could send his resume? You don't know me from Adam but a tip might be nice :)
Middlecrest update to version 0.1.0

Additions:
*LoS
*Audiere support (no sound yet, just the capability)
*Character name generation

Bug Fixes:
*Bug fix: Fixed the crash that occurred when moving character off the map
*Bug fix: Magic would crash every time a spell was cast

Updates:
*Enhanced help menu
*Updated to-hit/dodge calculation
*Melee weapons now obey character resistances
*Massive internal rewrite and miscellaneous optimizations
and much more!

There is a lot contained within this update, including some prettying of the user interface. I've was trying to release versions as quickly as possible, as soon as I implemented a new feature. I noticed that I was getting less downloads as a result (although I'm sure there were some out there enthused by the development clip). So, I decided to pace the updates so that more features will be available for debugging purposes for each release. Hopefully, this will encourage download and testing! :)

Thanks and enjoy!
Middlecrest update to version 0.0.83

Additions:
*Simple auto-mapping (press 'f' to toggle on/off)
*Support for Lua scripts
*Building data structures (allows things like name of the business/building to be displayed when you walk near it)

Bug Fixes:
*Bug fix: Fixed random movement so not all characters move the same direction

Updates:
*Boost library to v1.46
*Race descriptions (corrected some nits)
*Improved rng and combat damage algorithms so the same number won't be continuously generated in some instances
*Many more internal code improvements

Seems I didn't release v0.0.82 more than 2 weeks ago, but alas it was more like a month ago! :) I've been updating as much as I can, although I spent most of this last month researching Lua and integrating it into the project. Also, spent a ton of time doing many internal updates to the code. Although this release doesn't contain piles of new stuff that the player sees, there are some interesting updates nonetheless.

Thanks and enjoy!
I recently discovered the advantages of Lua while doing research and doing some reading regarding ToME development. I've known about Lua in name only, but hadn't taken a long look at it until I noticed how much ToME relies on it.

It's an interesting approach and I'm excited about the capabilities to embed scripting abilities into Middlecrest. I've always envisioned the core of Middlecrest to be a library (or engine, of sorts) and this seems to be able to push the direction of the project more into that realm. I can also imagine that as Middlecrest grows, the sheer amount of source to compile will become an unwieldy time sink.

I've identified modules to begin scripting. Transitioning the code into a model where Lua becomes the logic of Middlecrest and C/C++ becomes the engine/driver of the lua modules will take some time. And I'm not sure I will be masterful enough with Lua to be able to convert everything over and compartmentalize things the way I want. I'm not sure enough bindings and support are available for Lua and the language itself is a little wonky.

Bindings for Lua and SQLite seem to be only partially implemented for version 3 (the best I've found so far is a project at 0.7) and seems to require a dll (trying to stay away from Windows-only setups for easier porting... I've been successful so far!). Lua is really high-level and so I'm not sure I will have such a fine control over the program as I have with C and C++, which limits me and I've been unsuccessful at being able to call C++ functions from Lua (which you should be able to... but, I'm still learning Lua). Tutorials are sparse, although documentation seems fair but spartan. And Lua has some wonky aspects to it that are interfering with the learning curve, like having to call the rng function twice on Windows machines, else no random number generation. Things like the rng issue aren't properly documented and probably only known to Lua gurus (or hours of googling and a lucky hit).

All these things may mean the ideal set-up of C/C++ (driver/engine), Lua (game logic), SQLite (data) may be more hybridized (C/C++ and Lua as the engine/driver and logic, and SQLite for data).

May have to see if there are other embeddable and interpreted languages out there for C++?
Updated Middlecrest to version 0.0.82

Additions:
*Added FoV (test by pressing 'f' to toggle on/off).
*Triggers for floor tiles and tied it into the message screen. Now player will be updated if the tile they are standing on triggers an event.
*Intro screen before splash screen to alert players of bugs and important information (feature will only stick around for alpha).
*Color support.

Bug Fixes:
*Altered the starting values of buildings in town to prevent crash at beginning of game.
*Safer type conversion and variable initialization to proof against future bugs.

Updates:
*Updated UI so player messages scroll.
*SQLite v3.7.5
*Refined creature/shopkeeper generation code.

Had a relatively free weekend and I took the time to take a break from working on shopkeeper code. I've included a slough of updates and some bug fixes.

I've decided to hold off on buying/selling for a moment. NPC interaction will be a more monumental undertaking than I originally thought it would be (I thought, hey, I can just get some buying/selling done for shopkeepers... but then realized I needed more generalized interaction capabilities first before I even started the buying/selling code) so I'm going to regroup and figure out my next plan of action.

There's honestly a billion new features I could work on next or code that I could re-factor and extend. I hadn't thought much farther ahead than the current state, in terms of project management. The project is at a place where I could re-tool some of the code, add a few more features, some content, (all told, roughly another month or two worth of work) and I basically would have a fully functional roguelike. This is assuming I don't have any more serious bugs.

I'm beginning to delve into areas where I can start to add some actual Middlecrest features, which is very exciting! But, it's also daunting since these features are the more complicated and involved ones.

Alas, this is a good place to be. I feel like I have accomplished a fair amount, a little bit faster than I thought it would take. I'm excited for the next few months of development.
Development on Middlecrest has slowed of late. Unfortunately, time is a valuable commodity at the moment and the lack of it has curtailed the momentum of getting a monthly or twice-monthly release out :(

However, work has been done!

Shopkeepers are coming along pretty well. They are somewhat live, spawning in their respective business (and not allowed to travel too far from them) and they have a sort of random/hovering movement programmed into them, as they wait for customers. What hasn't been implemented yet is any interaction.

Also, I took a divergent route for a week and coded in the field of view. It is testable right now (the 'f' command will toggle it on/off). It isn't integrated into the code yet since it needs some work, but is there for people to play with it and hopefully find any bugs.

Much of the work has been going into proofing the code against future bugs and solving current ones. Some testers experienced some crashes at the beginning of the game and inexplicably during the middle of the game. I tracked some of the issues down and hopefully they are history, but testing is ongoing.

The next release will feature some rudimentary interaction between shopkeepers, such as talking and buying/selling. The shopkeepers will be expanded also, so that there will be more of them, and some other work will happen with the code base so the program can actually distinguish between a shop building and other types of buildings. The groundwork for distinguishing between various buildings has already been laid in previous development work -- it just needs to be expanded.

So, here is to hoping I get a release out soon here... within the next two weeks :)
Updated Middlecrest to version 0.0.81. This release includes several things:

Extensions
* Basic shopkeepers (although buying and selling not enabled yet)
* Rudimentary skills listing

Bug Fixes
* Doors now open correctly
* Solved crash while on wilderness map
* Entrances/Exits between wilderness, towns, and dungeons now connect correctly
* Items are now removed from inventory when dropped
* Minimized (and hopefully solved) crashes shortly after the title screen

Updates
* Updated SQL library to 3.7.4
* Significantly reduced memory footprint (work still in progress)
* Many small, miscellaneous code improvements
Page generated Jul. 2nd, 2025 09:27 pm
Powered by Dreamwidth Studios