GithubHelp home page GithubHelp logo

leveleditor / camm-crystal-alien-map-maker Goto Github PK

View Code? Open in Web Editor NEW
41.0 15.0 5.0 3.55 MB

CAMM (Crystal Alien Map Maker) open source level/map editor for CrystAlien Conflict.

Home Page: https://crystalien-redux.com/camm.php

License: GNU General Public License v2.0

Visual Basic .NET 100.00%
crystalien-conflict level-editor map-editor visual-basic modding crystalien-redux

camm-crystal-alien-map-maker's Introduction

CAMM (Crystal Alien Map Maker)

Build status

CAMM (Crystal Alien Map Maker) is an open source level/map editor for the Lego Mars Mission CrystAlien Conflict Game.

Currently it lacks the ability to load the maps into the game, but we're working on a solution for that with the development of a Flash wrapper for CrystAlien Conflict.

CAMM is part of the CrystAlien Redux project which aims to extend the CrystAlien Conflict game.

Early test builds for CAMM can be found on the AppVeyor build system and mirrored to crystalien-redux.com.

More Information

For more information about the project visit the project's page on the Lego Mars Mission Fan-Made Wiki.

camm-crystal-alien-map-maker's People

Contributors

brian151 avatar leveleditor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

camm-crystal-alien-map-maker's Issues

Advanced editing features for object properties

Editing some properties on units/buildings would be easier if the UI could visualize it.

  • Damage = Visual health bar
  • Angle = Compass to select angle
  • Monolithic property of things (tracked on separate issue #11)

Miscellaneous

Noticed a few things that could improve the game; no bugs really, just things to consider:
-Music should have all the different tracks
-Unit positions in the editor should change (they do change in game but their visuals don’t change in the editor which can be confusing)
-Crates and collectibles should be able to contain units (resolved)
-Flavor text and screen jumps at the beginning of the level (start up the real game and go to conflict mode and you'll see what I mean)
-something I just remembered, at the top left of every map, a cycle of every unit in the game is playing and I was just wondering if that was to store the animations?

I don't know a lot about code so I don't know what of this is impossible, but, as I said, none of it is required
I love this game

Resize map in any direction

Add the ability to decide which direction to extend or remove the map when resizing it.

Also related to this, shifting the whole contents of the map in a direction, optionally removing the parts that are now off the screen.

Off-screen buildings...?

I'm pretty sure this isn't a bug, but on some levels, there are hints of buildings that are outside the map. It is possible to do this yourself in the editor (make the border bigger, put a building out there, then shrink it back), but if you try and find a building that's already been placed by the template, it's nowhere to be found.
Theory 1 (unlikely): it's in the top left corner somewhere, because resizing the map is currently only adding tiles down or adding tiles to the right. (#14 ) I doubt it’s this, but who knows
Theory 2 (likely): The code for certain levels has the attributes for the invisible building but it’s not actually there

Buggy Images In CAMM on Mac OS

works fine
buggy camm
The top image is the png export. It works fine.
But the bottom image shows in-app displaying some building shadows correctly, while some others and all units shadows don't appear correctly at all. Tiles work fine.

Generally improve the UI and make it look better

There have been a few different suggestions and proposals in the past to improve the UI (dark mode/theme, button/tab/scrollbar graphics).
Below is the most achievable and most complete example to date (by Mr.Mars.Mission on the wiki).

image

I still have a couple assets that were sent to me for the above design lying around, although there are many gradients that can be reproduced.

Add shroud editing (manual clearing)

Add editing features to manually select tiles on the map where the shroud of the map (aka fog of war) should be cleared.

This could potentially be done as either a brush selecting the tiles that should be clear (performing multiple 1x1 clears), or by adding a parameter to each clear point for how many tiles around it should be cleared (0 = the tile itself, 1 = expand in all directions by 1 tile, 2 = by two tiles, etc.)

Add ability to set auto repair on buildings

Auto repair is what causes the buildings (normally controlled by the AI) to start repairing themselves when damaged, as long as there is sufficient funds for the repair.

Add editing for level win/lose conditions

There could be some pre-defined level win/lose conditions that are the most common.
Advanced win/lose conditions would require custom scripting and is out of scope for this issue (future todo).

Win:

  • Destroy all enemy units (and/or buildings)
  • Destroy or capture enemy base
  • Destroy or capture a specific building
  • Capture (do not destroy) or build a specific building
  • Get a unit to a specific tile (maze level, escort mission)
  • Collect a specific amount of credits

Lose:

  • Specific unit destroyed (lone saboteur, escort mission)
  • Specific building captured or destroyed
  • Base destroyed or captured

Additionally the base needs to be "optional" for missions like santa, maze, etc.

Unit positions in the editor need to be the same as the game

For example, flying units appear vertically offset from their actual position in the game.
Additional drawing code and unit definition parameters are needed to account for these offsets.
Positions in editor vs. in game need to be verified for accuracy, but this will likely have to wait until we try loading a map into the game via the flash wrapper.

randomized pickups

new map property : loot tables, an array with format :

[
    {
        "id" : "table",
        "table" : [1000,"UF_evil","powerup"],
        "mode" : "exhaustive"
    }
]

or similarly, an object with named properties of a similar structure, minus ID since the per-table property ID would then serve this function.

the target parameter would now have a "loot" option, and obj would specify the ID of the table to use

in exhaustive mode, every successive draw removes an entry from the table.
this could be used for astro ops 3, where one crate always has the alien commander, and the other has 10000 cash

another mode, "select" or "raffle" will just draw a random entry from the table and leave its original contents unmodified.

and this would then eliminate the following hack:

if (random(2) == 1) // sick
				{
				this.units.push(new Unit(this, "UO_evil", 3, 27, null, null, null, null, "UQ_evil_oppo"));
				this.units.push(new Unit(this, "UO_evil", 20, 27, null, null, null, null, 10000));
				}
			else
				{
				this.units.push(new Unit(this, "UO_evil", 3, 27, null, null, null, null, 10000));
				this.units.push(new Unit(this, "UO_evil", 20, 27, null, null, null, null, "UQ_evil_oppo"));
				}

CAMM Cannot Find CAC Player In "/Applications" Folder using 'Wine'

CAMM Cannot find the CAC Player in the "/Applications" folder when using 'Wine'.
Even if you have put the player in the right area.

The Following Screenshot shows where everything is currently:

[The Blue Boxes Hide personal apps and data]

Screen Shot 2019-04-25 at 4 32 17 PM

Is this a bug? Or did I do something wrong here that's not obvious.

Add an options / settings menu

Some options that would be added:

  • Rectangle brush blank tile overwrite mode.
  • Restrict unit/building placement (no placing on certain tiles).
  • Remember View settings across program restarts.
  • Auto-save (interval in seconds, temp file options or save over original).

Improve "Monolithic property of things" field on units

This field controls the AI behaviour of units and is interrelated to the AI mode field.
Currently this field is vaguely defined and the options are not all presented in the UI.

Need to clarify in the editor UI what the AI modes and the "monolithic property of things" (AI mode parameters) actually are: they are interrelated and need to be presented as such, with clearly defined possible choices, and better wording and explanations of what each option actually does.

Previous notes about this:

Some possible values for the "monolithic property" based on a quick look at the code:
If AI mode is "roam": number represents how far the unit can roam (tile distance)
If AI mode is "guard": this would specify which unit to guard - currently not possible to specify in CAMM, not sure if this AI mode actually works anyway
If AI mode is "still": number represents how many game ticks to stand still before switching to "seek"
If AI mode is "seek": most likely has no effect on this mode.

Add editing for camera focus (basic)

In some levels the camera starts out focused on a specific tile, building, or unit.

(Note: this is closely related to indicators, however this issue is only for a basic one-time focus at level startup. Advanced focus like lock/follow would require indicator editing (future todo)).

This is going to require giving each unit/building a unique ID for targeting purposes (a string ID/name would work: only letters/numbers/underscores, no spaces, no duplicates).

Tiles are already unique and can be targeted by their x/y position.

Miscellaneous #2

So I've been messing around with the level for awhile now (and due to the coronavirus I'll be home for three weeks with nothing to do) and I've put together a list of things that would be really good to add
Note: Some of this overlaps with my first post

  • Music should have all the tracks, but could prove to be very difficult to implement because CAMM does this bizarrely
  • The AI modes "seek" and "guard" I can't figure out how to work. There's likely something that you type in the "monothilic property of things" box but I'm not sure what
  • The AI modes "still" and "roam" have a combination with numbers.
    - In "still" if you input a number in the "monothilic property of things" it will remain still for
    that amount of time (20 = 1 second)
    - In "roam" if you input a number in the "monothilic property of things" it will allow that unit
    to move that number of tiles (if you put in 2, it will roam a maximum of 2 tiles in any
    direction)
  • There should be a way to "limit" the build chain. For example, in some levels, they don't let you build past a certain structure/unit. I think a possible way of implementing this could be in the map settings, because it would never change in the middle of a level

Ex: In Astro level 3 you can't build past defense stations.
Astro lvl 3 build limit

  • There should be a way to have certain areas of fog be visible without one of your own units there

Ex: In the Astros' Conflict Mode it shows you the alien mothership through the fog even though you don't have a unit there
Conflict Mode - Astros - Special Fog

  • Screen jumps/starting screen: this was mentioned before and just adds a nice aesthetic to the game. (If you go to conflict mode, you'll see why the screen jumps can be really useful)

Ex: In Astro Level 4 the screen starts on the trike, where in CAMM the level starts at the base, because it defaults to the home base.
Astro Lvl 4 screen

Also shown in the last screen shot are the "indicators" (AKA the "teach you how to play the game arrows") which are another really small thing that could improve the game

The last and probably most important issue: special win/lose conditions. I know this is probably pretty hard to implement, but certain levels have special condtions to beat them or certain conditions that if met will cause you to lose.
For example,

  • Astro Level 1 requires you to get credits to win.
  • Astro Level 9 requires you to capture the Experiment Lab to win.
  • Alien Level 5 causes you to lose if you lose the speeder.
  • Astro Special Ops 1 requires you build a driller to win.
  • Astro Special Ops 2 causes you to lose if the driller is destroyed.
  • Astro Bonus 3 requires you to build 4 Satellite Uplinks to win.
    I think these win conditions would be a very good addition, but I have no idea if they are even possible.

One last thing: I have constructed harder versions of all 10 Astro levels. They're posted later in this thread
Thanks for making CAMM; there is no greater LEGO web game in my opinion!

(Unrelated?) Add contact author button.

Just in case for later things, could this be a new feature? Because if things like 503 errors on wikifoundry not working then that means we need a new contact button on CAMM for issue tracking and stuff like that. Could be a feature, and noticed it was missing from credits. This is an error with WIkifoundry in general. We need a more reliable source of contact.
screen shot 2018-08-08 at 10 48 53 am

  • [ Add new contact button ]

Cannot run on Mac: Mono does not support System.Windows.Forms in 64-bit

Got these errors a lot. A Long Log full of this error many times over:
Here is a shorter version of the log:

64-Bit Mode Errors:
"The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all"

"System.InvalidOperationException: WinForms_SeeInnerException ---> System.NotSupportedException: Specified method is not supported
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: WinForms_SeeInnerException ---> System.NotSupportedException: Specified method is not supported"

Startup never happened. When running the 32-bit architecture mono mode, no errors ever display but CAMM does not start, and just uses ~96% of my CPU power until I force quit Mono.

So neither 64-Bit mode or 32-Bit mode CAMM work on Macs. Not good.
Anything that would fix this? Or is this just on my end?

BTW: I am on MacOS High Sierra 10.13.6, and tried using Mono 5.18.1 (V.S.) and 5.20.1 (Stable) with CAMM, with no success.

Here is the code making this bug happen as well:
Screen Shot 2019-04-27 at 6 59 29 PM
Screen Shot 2019-04-27 at 6 59 42 PM

Add editing for indicators, dialogue, adv. camera focus

Add support for editing indicators (arrows pointing to a tile, building, unit, or construction; waiting for certain conditions like click/select/repair/build before moving to next indicator/dialogue), the dialogue text itself, advanced camera focusing (lock/follow, inter-related to indicators).

This is currently on the back burner as there are more important things that should be done first.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.