A remake of the classic Wizardry video games

Copyright Eric Pietrocupo


E-Mail: ericp@lariennalibrary.com


Wizardry Legacy

WL Adventures

News: Changing the direction of the project

Filed in: News.News202104100258AM · Modified on : April 10, 2021, at 03:01 AM - Visits 777

There has been a lot of thinking lately, and if you are reading this I would like to have your comments. You can e-mail me, else I am thinking in doing a survey, it would appear on the main page when ready. Still your emails can help me build the questionnary.

I think it could be a good thing to finish what I started, and I think there could be still a demand for such game. But it would still require a few years to bring the project to term which makes me wonder if it's worth putting all that time into it. This is when the idea of commercialising the product came to my mind.

Since the game could be rethemed and because many new mechanics has been introduced in the game (and new ideas are to come) the game could be different enough to be published on its own. Now there are many interrogations on how excatly it could be done, will I use open source assets in a commercial game. Can I use a publisher to fill in the missing assets. There is also a cmomplex is around the source code.

Since I am the only author of the source code, I can change at any time the license on the code. So if I go commercial, I would need to close the source or change it's license. Now I asked myself what is the goal behind open source. Well there is generally 2 purpose: A) allow contribution from others B) allow other to use my work. First, I don't like when people play with my code, so I am not sure if I really want contribution in my code. Second, others could benefit from some portion of my code, but its applications are relatively limited.

So the strategy I intend to use is "divide and conquer" by splitting the project into various sub-projects. That could make the development of the game look less overwhelming and some portion of the project would remain open source. The first goal is to extract the portions that could be used in other projects including non-gaming software. I found 2 parts so far worth extracting:

  1. The maze engine: This includes the 3D maze engine and the editor to make those mazes. I am going to make several improvements to the maze engine, and new improvements are going to be made in time. I could release a game even all the maze features are not implemented. So it could be worth exporting on it's own. I intend to upgrade the maze engine to support movement animations, chasm, sky, etc. It will not be a powerful 3D engine, for example I will not use 3D models as objects. Also, I cannot have a real 3D engine else I would lose certain maze "features" like one way walls. There will also be a line maze for non-textured drawing. There could be multiple backends allowing support for other libraries than allegro, like SDL. But SDL has no support for 3D textured polygons and 3D matrix multiplication, I would need to extract it from Allegro somehow.
  2. The menu user interface: The user interface could be reused. It's character based, but operates in video mode. Allowing drawing pictures on the back with the interface on top. The interface will also easily operate with SQL databases, so there could be some non-gamming applications that could benefit from it. Again, this module would be developped independently adding features when required. New compatible fonts could be added as it requires custom fonts since the window frames are made of characters. It will of course use allegro and sqlite, but it could probably easily have an SDL backend since it's only about drawing glyphs on the screen that SDL can do pretty well, the only issue could be the font format that could require some code export from allegro.

Once those modules are extracted, that means that they could be reused easily in different project. That would also simplify development as both modules will have it's own git repository and will be compiled as external libraries. So when I compile a game, I don't need to compile the content of those libraries. Which could save some compilation time in the end. There are a few projects idea that I have in mind, one thing I could do is create 3 different game with the modules above:

  1. Wizardry Legacy: Convert the current game projet as a game much closer to the original video game in matter of game mechanics. The game would also have less option and be simpler like the classic wizardry games from 1 to 5. This project would be free but maybe not open, or at least not all portions of it. Maybe just the game mechanics would be open. This is because a lot of code can still be shared with the commercial sotware.
  2. The Order of Wizardry (working title): This will be a commercial version of the game with new mechanics and 2 game mode: the adventure and guild management mode. This project would be closed source. It will also be designed to support multiple adventures like Wizardry Legacy, that concept remains. Users will be able to design and distribute their own adventures.
  3. Sci-fi game: If the game above is a success, I could make a sci-fi themed version of the game like Phantasy star.

Now there is a portion of the code between the commercial and the open version that could be shared. If I can extract it as a reusable side module, I'll do it, else it might just end up as common code shared by both projects. Not sure how I will handle that portion of the code. Will I put it open under Apache license so that people could assemble the whole game, or will it be closed source. One thing for sure, there will be little reusability elsewhere than in the games listed above.

So this is what I am working with right now. Stay tuned for an upcomming survey about the commercial project. If you want to "backup" the source code in case some portion gets closed, go ahead, be my guess. A lot of code will change, some will be sompletely replaced.

Powered by PmWiki and the Green skin