• 1.31144825954515

    posted a message on [Campaign] "Episodes from Brood War II" logs

    Campaign banner

    Log 1

    Hi guys

    Now that I'm over the downheartness caused by my failure to reach the top 10 in the RTC contest with "Losing Memories", and my little editor vacation has ended; I'll return to spend my free time on my campaign.

    I've decided to keep a log of what I'm doing and thinking while developing it. I believe that this will help me to stay focused and motivated, and it might be useful for those who are working on similar projects, to get ideas and learn from my mistakes. I'm also hoping to draw the attention of someone interested in helping me with the crafting.

    My original plan is to bump this post once every one or two weeks, starting right now.

    I'll begin writing about the campaign itself. The ultimate goal for it is to create a reboot of SC2, taking the best of SC1 (the immersive storytelling) and SC2 (the gameplay and the mechanic variation between missions).
    I'm aware that it's too pretentious. That's why I've started with a single mission (Bottleneck, here's the link of its testing thread) to see where it goes. Now that I'm a little more confident, I'm focusing on the first 4 maps with their banking and linking.
    If that's too much work, I'll decide to stop when they're done. If not, I'll continue with other episodes, periodically reevaluating if continuing is worth it or not.

    What do I have so far?


    - Lots of loose ideas,
    - a basic structure of the story (a ~6000 words script),
    - a functional map and two more in early stage of development,
    - an early mod with several useful functions,
    - a task list programmed until the end of june, and
    - Finally, after more than half a year without finding one, a campaign name to replace the placeholder "SC2Bis": "Starcraft: Episodes from Brood War II" (the one you see in the title). I've made the banner you're seeing at the top and an icon for the launcher too:

     

    Icon

    How do I want this to work?


    The player will play an active role as a character of the campaign. He will be a young Dominion Lieutenant in the Terran episodes, a Brood Queen in the Zerg episodes, and Artanis or Zeratul in the Protoss episodes.
    There will be small RPG sections between missions, where the story will develop, and a SC1 style briefing before the start of each mission. I hope to come up with fresh mechanics for most of them.

    Where am I going to start?


    Now that I'm focusing back on this after the RTC contest, I would like to apply some things I've learned recently in the campaign mod. Specifically, I'll focus on two:

    An achievement system: I was handling achievements in a very archaic way, I'll switch to user types. They're way more efficient.

    A budget system: Several achievements will unlock techs. After every mission, there will be an amount of credits as reward. If the tech wasn't unlocked via achievements, it will be available to be purchased in the RPG sections.
    There will be hidden techs too. For example, the secret of the first mission will unlock warpigs.

    Once finishing with those, I'll continue with the introductory map, which is supposed to set the mood before the campaign starts.

    Well, that's all. I hope I didn't bore you... Next logs should come with more eye candy.

    Posted in: Project Workplace
  • 0.962264150943396

    posted a message on [Campaign] "Episodes from Brood War II" logs

    I'm back

    Log 2

    I've been working on banking and user types structures these weeks.

    User Types

    I have defined 7 User types at the moment:

    - Campaigns. Defines the folders where the maps are and stores the campaigns progress.
    - Episodes. Classifies the missions and defines the subfolders where the maps will be.
    - Missions. Stores the map names, paths and arcade links, and keeps track of the stats and rewards achieved in the missions.
    - Stats. It's a sublevel of missions. It contains most the information of the missions that I want to be tracked and retrieved by other missions. Thanks to tya, I could set a variable text describing the stats progress, allowing them to be easily mantained when editing the mod and viewed from any map that uses it.
    - Upgrades. It's a sublevel of campaigns. It's used to know if an upgrade was already unlocked and/or aquired when a mission is being played.
    - Upgrade Groups. It's going to be used to make windows for each upgrade group when purchasing them.
    - Achievements. It's a list of all achievements. Contains their icon and description, and an indicator that shows if they were unlocked or not.

    User types used

    They'll allow me check the campaign status at any moment without filling arrays. I just have to call a function that writes in those tables the player's progress stored in banks.
    I had to make some considerations, like how to handle the saving in replays of missions already played, missions that weren't unlocked yet or missions saved before playing other ones and continued afterwards.
    I've decided to directly ignore saving in missions that weren't unlocked yet, and check before ending the rest of the maps which data from other maps needs to be overwritten, which is new and which is not.

    Tech Tree

    After making these definitions and filling the user types with the data needed by the first missions, I stumbled with my first rock:

    I asked myself "What's the easiest way to restrict and unlock progressively the tech tree?" The answer was "Why don't you just check how Blizzard does it?"
    So there I went. I've found the action "Apply Campaign Tech", which was pretty straightforward. It just disables the abilities and enables them back again if they are unlocked.

    I've created a trigger removing all the unlockable abilities for all the players, and another one that checks for the upgrades that should unlock those and enable them back if it corresponds. The enemies will have their abilities unlocked manually in each map, since I want to manipulate their units and abilities compositions.

    Briefing screen

    I remember that I've made this briefing screen originaly for my failure coop project Exodus and iterated several times over it by adding functionality and new features.
    The outcome of the process is an incomprehensible code that takes hours to debug and update. I've spent 2 days adjusting it to the new initialization triggers.
    I like how it looks after the changes, but I feel pity for the future me that will have to add voice acting, fix it for other races or move it to the UI module.

    As you can see, there's not as much text as before, and it doesn't feel as overwhelming as it did.

    Banks

    As I've said before, I load the banks containing the campaign progress and write their content in the editable fields of the user types when the map inits. Doing it this way, I avoid the potential lag caused by loading a lot of variables when a mission starts.
    There's also much less amount of code in the triggers, and the data is more organized than when I was using records.

    Bank loading trigger

    The structure of the banks is basicaly a shorter version of the user types I've defined. It only contains their ids and the information that needs to be carried over.
    It also has an extra section called "slot", used to start a new campaign without losing the progress of another one.

    I have to copy the load and save functions into every map for arcade compatibility reasons. If I do it that way, I can upload the mod with a different account, saving space for one more map.
    I remember having troubles with preloading if it was done directly from the mod, so I preload the banks in every map instead.

    I've created functions to retrieve the values from these user types. Now I can check with a line of code how many credits the player has at the moment, in which order he completed the missions, when did he unlock a tech, when did he purchased it, what's his record in this or that stat, etcetera.

    Take control from replay

    I've been investigating how this works. It will be pretty useful for the arcade version, but I've found two issues with it: If it's used, the banks can't be saved anymore, and the actor messages sent via triggers aren't issued again.
    I couldn't find a workaround for the first one. I'll have to send the actor messages over and over again in a periodic event for the second.

    I'm almost there. The only thing missing to start working on the actual maps is the launcher. If these implementations work fine, the story and the missions are the only things I'll have to focus in the future.

    Posted in: Project Workplace
  • 0.963128491620112

    posted a message on [Monthly Test - June]Noir Automata 05:Wrath of the Tal'Darim by EDHRIANO

    Allright, I gave the map a try. I Didn't find any gameplay bug, but I did get param/values for every line. I had to remove all the locales that weren't enUS before starting playing. Another small thing is that in the intro cinematic, while the characters are having a chat, you can hear the sound of a doodad, and it breaks a little the immersion.

     

    On my first try, the first Reaver I saw killed Alarak. It happened in the second try, the third try and the forth try too (well, in some of those I might have reached further, but those reavers had something to do in every one).

     

    After more retries that I would like to admit, I could finally beat it. I made only DTs and used them to clear all the sections but the bases, where I focused fire on the cannons with khalani and softened the defenses before sending the DTs to kill the reavers.

     

     

    The difficulty is OK for me. I mean, I like to be challenged, but I don't know how every player would feel about that. If you watch the first try in the video, where I lose like 3 DTs against those purifier ninjas, you can say that it is my fault, and I could've done better.

     

    But the reavers are very unforgiving, and that can become frustrating. As soon as they get in sight, they shoot you, and you can't make anything to minimize the damage you receive if you're not expecting them. They really slow down the pace of the mission too, because you have to be careful to avoid bad engages and hope for their AI to mess up. But, well... I've tested the in the hardest difficulty, so I don't know if that's a good or a bad thing.

     

    The only thing that I have to say about the boss fight is that you could see dirt textures on the highest ground level, they don't look very well.

     

    I liked the mission overall (I wouldn't have played over and over again if not). The terrain is perfectly readable, the distance between enemies is well planned, and the flow doesn't get tedious.

     

    Keep them coming, and good luck.

    Posted in: Map Review
  • 1.32994923857868

    posted a message on "Records" - How do I use them?

    You have to create a variable of the type record. Then you'll be able to reference it

    Posted in: Triggers
  • 0.95774647887324

    posted a message on [Model] m3 to xml - editing hardcoded colors

    EDIT: I'm giving this tutorial some love

     

    This tutorial will show you how to convert a .m3 file exported from SC2Editor to .xml and edit it. Since the reason why I made it is that somebody asked me how to change an effect color, I'm also highlighting the relevant fields for that task used by effect models (particles, materials and lights - And now I've realized that I've missed the ribbons -).

     

    I've splitted it in 17 steps, but the relevants are the last 7. At the end of the post you'll find an image that might help you if you're stuck in a step.

     

    step 1: Get blender (I use 2.69 , but I believe that println's addon works with any version).

    step 2: Get println's addon.

    step 3: Get python.

    step 4: Install blender.

    step 5: Install python.

    step 6: Copy m3addon-master folder from the addon to blender folder under (version)/scripts/addons. Keep another copy of the folder at hand, you'll need it.

    step 7: Open blender and go to file -> user preferences. Write m3 in the search bar, and mark Import-Export: Importer and exporter for Blizzard's Starcraft 2 model files (*.m3).

    step 8: Go to file and click on save startup file (to avoid having to configure the addon every time you open blender).

    step 9: Go to file -> import -> starcraft 2 Model (.m3) and search for your model.

    step 10: Search for the scene icon on the bar at the right. You should find the sections M3 Particle Systems, M3 Materials layers (this one changes when the materials are selected in the M3 Materials section) and M3 lights. Those are the ones that generally have fixed colors.

     

    Well, you thought that you only have to change the materials and export the models back? Well, not. blender messes with the particle systems when reexported. You'll have to edit an xml file.

     

    step 11: Run cmd and enter into the folder you've saved in step 6. The only files needed are the ones in the screenshot. With those you're ok.

    step 12: Run m3toxml.py (name of the model). It will convert it to xml

    step 13: Open the xml and search for the texts:

    For Lights: lightColor

    For particles: InitialColor1 InitialColor2 MiddleColor1 MiddleColor2 FinalColor1 FinalColor2. The particles are in the same order that they appear in blender, so follow it and you'll know what to edit.

    For materials: search for the name of the material with the colored layer, and under it for the corresponding layer.

    step 14: Replace the colors for the ones you like. To find out which is the color code, modify the model with blender, export it with other name, convert it to xml and copy the code that appears where you made the modification.

    step 15: Save.

    step 16: run xmltom3.py (name of the model.xml) over the xml file.

    step 17: profit.

     

     

     

    Posted in: Tutorials
  • 0.957894736842105

    posted a message on [Model] m3 to xml - editing hardcoded colors

    You're both welcome.

     

    I forgot to add the structures.xml file that i've edited. It supports several new models. I'll do it tomorrow.

     

    Also, if the converter throws an error, share it here. It's not very possible, but I might know how to fix it.

     

    Edit: Link to structures.xml

    Posted in: Tutorials
  • 1

    posted a message on [Monthly Test - January] Stranded on Krydon Renewed by R0binicus

    I realized one thing... I suck at giving feedback. Now that I think about the things other users said, I agree with most of them but I haven't noticed them during playthrough.

    I played solo the regular version in the lowest difficulty. I didn't have any lag issues, and I enjoyed myself while playing. After finishing the mission starcraft crashed.

    I did find the amount of options overwhelming, but the objective system is a nice tool to gradually learn what they do. Still, when the game was advanced, I've started missing the objectives and couldn't get the high tech tips.

    I can give you a couple terraining tips since there are none here, and the rest is mostly covered:

    I understand that you can't use many doodads because of the pathing and the lag, so that seems ok. But the texturing has some readability issues, and improving it wouldn't affect performance at all.

    There are a couple places where is hard to distinguish cliffs. I walked with my SCV through enemy bases without noticing it a couple of times because of that.

     

    • In the the river zones, the organic cliff color is very similar to the sand textures.
    • In the rest of the areas, mainly at night (because of the lighting) there are some issues too. Those could be solved by placing a common texture over the cliffs. Check out blizzard maps.

    Another thing to make the terrain easier to read is to paint "paths" on the open areas, like those that are in the center of the base and take to the 4 ramps.

    I'm attaching images of your map and Haven's map from WoL to show what I'm talking about.

    Posted in: Map Review
  • To post a comment, please or register a new account.