Author Topic: Cataclysm of Chaos, Remade (ASCII) - Alpha V12  (Read 5194 times)

Offline Vagabond

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 684
Re: Chaotic Planar Prison - Alpha V2
« Reply #50 on: May 16, 2018, 11:35:15 PM »
I'm generally interested in the game but am waiting for you to progress further as it is still very early in development. If you have specific need for testing, I would be happy to help.

-Brett

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Chaotic Planar Prison - Alpha V2
« Reply #51 on: May 17, 2018, 08:42:31 AM »
Alright.

Then, I'll see about trying to prioritize learning how to build a binary, and look into determining when I desperately need playtesting; likely mid-alpha, perhaps?

Thanks for the feedback.
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Chaotic Planar Prison (Game Renamed) - Alpha V3
« Reply #52 on: May 20, 2018, 02:47:08 PM »
Alpha V3 is released! New changes are = Separate technique menus (Shift Z, Shift M, Shift T), Disintegration now works, Two new Utility spells, Did a lot of work under the hood, rebranded the game as Cataclysm of Chaos, A lot of interface improvements, Heavily modified game balancing, Fixed a bunch of bugs, Added Resource Nodes and On the Move Crafting, Monster Updating is now active, Primal Updating is now active, implemented random monster names, and you now spawn randomly in the map rather than in a corner. Most of the stuff on my weekly task list turned out to be far more complicated than I originally thought and thus only a few things actually got solved.

If I can figure out how to use PyInstaller in a timely manner, then I'll release the binaries for Alpha 3.

===========================

EDIT: PyInstaller isn't working or I didn't install it properly. Either way, it is going to take me a while to figure out what is going wrong, so unfortunately, it doesn't look like I'll be able to bundle binaries with this release, but I'll try to have it in for Alpha V4.

EDIT2: For some reason my OS is not recognizing my Python 2.7 install. Pip, a program used to install Python modules, couldn't detect it, yet it is installed on my C:/. I also tried another program, py2exe to try and make an executable, but it failed to work because the command-prompt keyword/command python isn't recognized. So... I think I'm going to have to figure out how to fix my python install or something. Regardless, I doubt I'm going to figure it out anytime soon, so no binaries for Alpha V3. Sorry.

EDIT3: It is unlikely that I'll have binaries for next release either. I've tried several fixes online to try and get the system to recognize the Python2.7 install, but none of them have worked. I tried adding it to the environment variables into Path, but cmd.exe still doesn't find python; if I go manually to C:\python27, it will load up Python properly. I tried to add it to the registry and that didn't work. I'm at wits end, so until I figure out how to either register python27 or how to get the OS to accept the path to the python interpreter, the creation of a binary is not available.
« Last Edit: May 20, 2018, 10:30:40 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4396
Re: Chaotic Planar Prison (Game Renamed) - Alpha V3
« Reply #53 on: May 21, 2018, 02:05:44 AM »
Perhaps you already know, but just in case, if you update environment variables through a settings GUI, you generally have to restart any open command prompts for the new settings to take effect.


I'm curious about the cross platform build potential, and what steps I might do to replicate your efforts. I assume this program is to package Python code with a Python interpreter. That might not be quite enough though, since the code relies on the libtcod native extension. That's not quite so easy to package or build cross platform. The packager might not be smart enough to account for this dependency, or might need extra configuration to account for it.

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Chaotic Planar Prison (Game Renamed) - Alpha V3
« Reply #54 on: May 21, 2018, 09:42:35 AM »
Well, apparently reinstalling python 2.7, and making sure that the checkbox for installing in Path, was checked, now properly allows me to use the command python in cmd.exe, without getting an error. Haven't tried the other stuff like pyinstaller yet though.

Actually, I did restart it, before reinstalling python 2.7, and it didn't work. Only by reinstalling python 2.7, did it work. Maybe it required both a proper registering in regedit AND assignment to path to get it to work.

----

Well, pyinstaller is more advanced than py2exe, and thus I'd probably go with it. It is robust enough to detect other libraries, by scanning all of the import keywords and building the appropriate libraries into the executable OR having them as dlls. Py2exe should work as well, as the actual roguelike tutorial suggests it for making binaries. However, py2exe only works on windows and only makes windows binaries. Unfortunately, to get pyinstaller to create a binary for Linux / mac, you have to run pyinstaller on those systems; ie I can only build windows binaries as I only have access to a windows OS, so if someone wanted a Linux binary, I'd need access to a Linux to create it OR explain how the end user can create a binary on their machine.
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4396
Re: Chaotic Planar Prison (Game Renamed) - Alpha V3
« Reply #55 on: May 21, 2018, 11:14:53 PM »
I suppose that's good reason to document the process then, so people can help out with the other platforms. If you have good instructions for Windows, that can help people figure out how to do it on Linux or Mac. Once a solution is found, it might be possible to setup Docker to compile and package things for other platforms using virtual machines running on Windows.

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V3
« Reply #56 on: May 23, 2018, 10:42:18 PM »
Good to know!

Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V3
« Reply #57 on: May 27, 2018, 12:59:00 PM »
Alpha 4 is proceeding along smoothly, and will be released later today. I accomplished a lot this week, in terms of modularization and code refactoring, and still have a few more features to complete before I release Alpha V4. I'll update this post when I've released Alpha V4.

EDIT: Alpha 4 is now released! Got a lot done this week, but now I'm quite exhausted after doing about 3 days straight of heavy coding, refactoring, and designing, and I'm going to take a break now and recuperate. Next week will be focused on learning the interface, libtcodpy library console-modification commands, and look into implemented a lot of my ideas for improving the interface (I have a long list of ideas). Still haven't fully resolved my issues with PyInstaller or Py2exe, so no Binary this week yet.

Regardless, hope you all enjoy!
« Last Edit: May 27, 2018, 02:41:58 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V5
« Reply #58 on: June 02, 2018, 06:10:29 PM »
Alpha V5 is released.

Biggest noticeable change is that I've managed to get pyinstaller to work, and I now have a compiled binary version available (for windows). I also have binary compiling instructions in the loose-files version, which is the one that is attached to the first post, in case anyone on Linux/mac wants to give it a go at trying to make the game run on their native OSs (I don't have access to Linux or mac machines).

I struggled this week, partly due to exhaustion and partly due to the interface code being a royal tool. I didn't get any of the interface related tasks done this week, but I better understand the problems with the interface, so at least that is a thing. However, I still accomplished a lot of gameplay related stuff this week and of course the aforementioned binary is now a thing, for future builds.
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Vagabond

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 684
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V5
« Reply #59 on: June 02, 2018, 08:10:45 PM »
Lord Palandus,

I downloaded the new binary release and checked it out briefly. Is there a way to adjust the resolution to match my monitor? The text spills off the right and bottom of the screen making it tough to play.

Check out the screenshot for what I mean. This is from a Windows 10 1080P laptop for reference.

-Brett

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V5
« Reply #60 on: June 02, 2018, 09:09:34 PM »
That is an odd occurrence.

I'm running a monitor with 1920x1080p myself, windows 8.1. Though mine is a desktop, which may make some kind of difference.

Does fullscreen mode do anything (ALT+ENTER) to alleviate the issue?
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4396
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V5
« Reply #61 on: June 03, 2018, 10:50:23 AM »
Just a note, users DPI settings can affect display size.

Offline Vagabond

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 684
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V5
« Reply #62 on: June 03, 2018, 05:04:45 PM »
Yeah, selecting full screen fixed it. After initially setting fullscreen, everything fit properly even after cycling out of fullscreen, or closing and reopening the app. So it is only a problem on the very first open of the app.

-Brett

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V5
« Reply #63 on: June 03, 2018, 07:34:20 PM »
Good to know. I'll mention that in the Readme file to use Fullscreen at least once, to fix screen resolution issues.
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V6
« Reply #64 on: June 10, 2018, 01:34:22 PM »
I'm hard at work with Alpha V6, and plan to have it out later today, with a fresh binary.

EDIT:

Alpha V6 is released, with an accompanying Binary for those that prefer it.
« Last Edit: June 10, 2018, 03:10:51 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4396
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V6
« Reply #65 on: June 11, 2018, 11:42:43 AM »
Good to hear about the progress.

Would you consider posting any screenshots?


On another note, I should discuss Control-Driven Programming versus Data-Driven Programming with you. People generally start out with Control-Driven Programming, though I believe Data-Driven Programming would be very useful to you on this project. It would allow you to add new game items much quicker, rebalance things easier, and generally just focus more on the core gameplay, rather than spending time fighting with bugs, trying to express needlessly convoluted logic to the computer, or editing/maintaining old code as you add new features.

I haven't really found a good explanatory article on it though.

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V6
« Reply #66 on: June 11, 2018, 02:11:26 PM »
I can look into providing some screenshots, for sure.

What is the major differences between the two coding approaches?

I have been doing large refactors of various parts of the code, and as such, I may be inadvertently already using a Data-Driven Approach. As I'm self-taught, I'm not aware of nomenclature or computer programming jargon, and thus I may be doing things the right way, without knowing what is the right way.

EDIT: Don't have a lot of time today, but here are two screenshots. I'll look into providing more later. These are from starting up the game.

EDIT2: I'm in the process of fixing some bugs, but I'm hoping to get a few more screenshots up!

EDIT3: Got the bugs fixed, and two new screenshots. The two new ones are from playing after about 30 minutes... I recently had died, as I got cocky and dived into the middle of 4 enemies that massacred me.
« Last Edit: June 12, 2018, 04:35:47 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V6
« Reply #67 on: June 14, 2018, 04:29:14 PM »
Here are a few new screenshots, but with the latest Alpha V7 build, that will get released Saturday/Sunday. Some explanations:

Screen1 = On the Run Crafting Menu, with a new item, the Energy Shield.

Screen4 = Ranged Technique Menu, with all Techniques available. The Blue + is a Runic Fountain (for refilling Runic Elixirs) and the Red g is a Goblin Mage.

Screen5 = Melee Technique Menu, with all Techniques available. The Blue g is a Goblin Fighter (of some sort) and the White A is a Crystallized Archer, which is effectively a treasure chest.

Screen6 = Spell Technique Menu, will all Techniques available. The Blue # is a Metallic Scrap Pile and the Green # is an Organic Scrap pile. The other symbols on the map (ie X, ], [, /, etc) are items I decided in not taking with me.

Screen7 = A new major system in this next release is applying and taking advantage of Fear or Confuse. Some abilities apply these effects and others take advantage of them to brutal effect. If an ability takes advantage of one, it will provide an automatic critical and then remove the effect. You can also still naturally fear archers by getting too close or attacking mages to cause them to flee, and any abilities that take advantage of fear will take advantage of these situations. Also, the slightly blue [ and \ are magical items, that I didn't want (was playing as a Mage this run and the higher your melee protection the higher the energy cost of your spells).

« Last Edit: June 14, 2018, 04:39:02 PM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V6
« Reply #68 on: June 16, 2018, 08:23:53 AM »
Two New Screenshots.

Screen1 = The Runestone Menu; Has several new options available in Alpha7, such as Attribute Training, Resource Transmutation, and Increasing Global XP rates.
Screen2 = A battle between two Primal Chaos Mages (Purple M), at the Primal Chaos Portal (the black asterisk). Unfortunately for me, they drained too much XP and I lost a level and gained stress.

Would have posted more screenshots, but I found a hard-to-find crash bug and the game crashed. Managed to get to Floor 3 and to level 28, as an Archer.
« Last Edit: June 16, 2018, 08:31:34 AM by lordpalandus »
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V7
« Reply #69 on: June 17, 2018, 11:45:01 AM »
Alpha V7 is released. Main page has a Binary and an uncompiled version as usual. This Alpha I accomplished the most in, and is the longest changelog to date. I've listed the major highlights on the first post's page.
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Vagabond

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 684
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V7
« Reply #70 on: June 18, 2018, 10:00:17 AM »
Lordpalandus,

I've been impressed by the steady progress you have been making. Keep up the good work!

-Brett

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V7
« Reply #71 on: June 18, 2018, 04:09:14 PM »
Thank you.

My "plan" for this week is to now address challenge, AI, and user interface related issues. As most of the progression systems are in, it can lead to a feeling of being able to steamroll your foes with ease, especially if you get lucky and get a few Rares or an Epic at the start of the game.
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4396
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V7
« Reply #72 on: June 19, 2018, 07:57:41 PM »
Huh, this looks much further along than I expected. Looks to be in a decently playable state.

I assume you mean "Rune crafting"?



As for my earlier comment, I noticed you have long sections of control flow code that basically define data. Think of areas of the code that appear to be copy/pasted with a few values updated. This could be cascaded if blocks, switch statements, or a series of similar functions. This would be an example of Control-Driven Programming, as all the data is embedded in coded control structures.

Data-Driven Programming would be more like having a big array of objects, which may be searched or indexed. Changing data is just changing entries in an array. The data could be a hardcoded array in the source file, or perhaps included as a secondary source file separate from the game logic. It could also be loaded from disk as a data file.

If you want to move towards Data-Driven Programming, a general rule of thumb is avoid copy/paste/update of code. That is particularly true when control flow is copied/pasted with it. If you find yourself doing this, see if you can convert the data into an array of structs/objects. It's perfectly fine to copy/paste/update array elements.

As a side note, you can generally tell code/logic apart from data/memory based on how it looks. Code and logic appears chaotic while data and memory appear regular. Take for instance an image of a CPU die. You can physically see where the CPU cores are versus where the cache memory is. Here's an image of a Core i7 die for you:



If you open an executable file with a hex editor, you'll notice the same thing. Scrolling through the code section, it will look like a chaotic mess. Scrolling through the data section will show large chunks of regular data, which often aligns visually into columns and blocks. As an example, here's the start of the code and data sections from Outpost 2:





Your source code will likely be similar. The code will look irregular. Each algorithm solves a new problem. Otherwise, you'd have just reused the old code. The data, particularly any hardcoded arrays, will probably look fairly regular.
« Last Edit: June 19, 2018, 07:59:44 PM by Hooman »

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V7
« Reply #73 on: June 19, 2018, 10:35:39 PM »
Oh, yes, it is very playable. No endgoal or victory condition yet, but can be played as an infinite depth dungeon crawler right now with a fair amount of enjoyment to be had.

I should really get in the habit of choosing a specific jargon and sticking with it, rather than have it mean different things. There are two types of Runes in the game; consumable Runes (Recall, Mapping, and Fabrication) and profile-bound Runes (Equipment Runes, Greater Runes, and eventually Legendary Runes). With high enough Crafting Mastery you can craft the consumable runes... or you can create Enchanting Orbs and upgrade profile-bound Equipment Runes. However, I can chalk up a lot of this confusion to my inexperience at designing games and systems... I'm gotten a lot better, but clearly have a ways to go.

Yes, and that is why I have modularization listed as tasks to complete; take large sections of essentially duplicated code, figure out a way to combine it all (whether with a powerful function or class composition or class inheritance) and then move large sections of that new code to a separate file. Slowly and yet surely I'm getting rid of tons of duplicate code and replacing it with significantly less code that does the original job, but also so much more and is far more flexible and reusable than the old code was.

One of the things I want to do for Alpha V8, is to greatly reduce the redundancy of code with the AI classes by using Class Inheritance, rather than have 6 separate classes that all share a lot of code, but each have their own specific things needed to operate properly; an excellent place where Class Inheritance can work wonders.

I've also tried to figure out how to use lists, list comprehensions, tuples, dictionaries, and list manipulation techniques (ie extend, remove, pop), to try to reduce redundant code, but thus far haven't had a ton of luck with that. As I continue coding, I do find places where these things would greatly help to reduce code redundancy and deter copy/paste code, and have implemented it in the places where I found a purpose for them. However, trying to stay on task, and produce a weekly build discourages me from sitting around rebuilding old code, unless the rebuild allows me to add new code in more easily. As I mentioned above, I intend to redo the AI classes, as I intend to clean up the AI code and try to more easily streamline the AI pathfinding code, as I can see already that it may be quite a bottleneck on gameplay performance once the map gets filled with a lot of enemies.
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html

Offline lordpalandus

  • Hero Member
  • *****
  • Posts: 663
Re: Cataclysm of Chaos, Remade (ASCII) - Alpha V8
« Reply #74 on: June 24, 2018, 05:48:44 PM »
Released Alpha V8. Binary and Uncompiled build on first post.

Enjoy!
Currently working on Cataclysm of Chaos, Remade.
Link to OPU page = http://forum.outpost2.net/index.php/topic,6073.0.html