• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

JetCraft

Status
Not open for further replies.
2092757_orig.png

Summary:
JetCraft is a 2D platform sidescroller game and level editor for StarCraft 2.
The game's objective is to leave the level through the exit door which will only open once the player has collected all the keys scattered around.
The player will also be able to collect various treasures to increase the end score, but only the keys are mandatory to complete the level.
The map comes with its own in-game level editor which allows players to create their own JetCraft levels and share with other people online.
JetCraft has been under development since October 2012.

More information can be found at my website:
http://www.cgsource.net/jetcraft.html
and official forum:
http://jetcraft.sc2modding.info/community/

Key Features:
• Play through an extensive list of challenge maps to get the highest scores possible.
• Play with up to three other players in the online cooperation mode.
• Create and save up to 32 custom levels using the easy-to-use in-game level editor.
• Share your creations with other players.
• Downloadable local copy allows players to play the map without input delays.
• Rebind-able controls allows you to play with whatever key setup you find comfortable.

Screenshots:
Preview_01.jpg


Preview_02.jpg


Preview_03.jpg


Preview_04.jpg


Preview_05.jpg


Preview_06.jpg


Preview_07.jpg


preview080_01.jpg


Preview_090_02.jpg


Preview_090_03.jpg


Editor Features:
• 32x32 map size
• 32 save slots
• Intuitive and fast tile selection system
• Copy, paste, undo and redo systems
• Hundreds of different items
• Item selection by category and search-by-name dialog
• Tile chain triggering system
• Custom C-based scripting language - JetScript
• Map and script debugging tools


Left Mouse Button: Select single tile
Right Mouse Button (click): Clear selection
Right Mouse Button (hold): Drag-select tiles
Shift (hold, while selecting): Add to selection
Alt (hold, while selecting): Remove from selection
Ctrl+A: Select all tiles
Ctrl+I: Invert selection

Spacebar: Insert the currently selected item into the selected tiles
Delete: Clears the selected tiles for items and connections
Shift+Delete: Delete the currently selected item's layer from selection
Alt+Delete: Remove the currently selected item type from selection
Ctrl+C (single tile selected): Clone the content of the selected tile
Ctrl+V (single tile copied): Fills the selected tiles with the content of the cloned tile
Ctrl+C (multiple tiles selected): Copy selected tiles
Ctrl+V (multiple tiles copied): Paste copied tiles
Ctrl+Z: Undo changes
Shift+Z: Redo changes

C: Connect/linking mode
D: Disconnect/unlink selected tiles
X: Open item search menu
S: Retrieve item type from selected tile
G: Toggle grid on/off
Q: Toggle layer coloring on/off
T: Start/stop test play
R (during test play): Reset game
Tab: Minimize/maximize interface

Arrow Keys: Move selection
Shift+Arrow Keys: Move selected tiles
Arrow Keys (game camera): Move camera
Shift+Arrow Keys (game camera): Move camera faster
Ctrl+Numpad #: Save current selection to slot #
Numpad #: Load selection from slot #
Alt+Numpad #: Remove slot # from the current selection
Ctrl+Alt+Numpad #: Add slot # to the current selection


Editor Screenshots:
Preview_08.jpg


Preview_09.jpg


Preview_10.jpg


Preview_11.jpg


Preview_12.jpg


Preview_13.jpg


preview080_02.jpg


preview080_03.jpg



Download:
JetCraft can be downloaded from the official download page.
You'll have the choice to download the launcher (windows only) or the files needed for manual extraction.
 
Last edited:
EDIT: How did you create JetScript?
I wrote my own lightweight lexer in galaxy which converts the raw script into a list of tokens.
From there, the JetScript engine reads through the tokens and performs the appropriate actions.

Say I have the line:
"if (!false)"

JetScript would run it through the lexer and get itself a nice list of tokens:
'if statement', 'left parenthesis', 'not', 'literal boolean' (false), 'right parenthesis'

When the JetScript engine execute the script, it immediately see that the first token is an if statement, therefore it's expecting a parenthesis block next. It then check everything between the parentheses and evaluates the value. If the value turns out to be true, it jumps to the next line, if not, it skips to the line containing the 'elseif', 'else' or 'endif' token.

If it stumbles across a problem during all this, it throws an error at you.

It's quite a complex process.
 

Deleted member 219079

D

Deleted member 219079

I guess you must love coding :D

The map looks amazing, I think this is the intention but the handling of jetpack is pretty hard.
 
You secretly work for blizzard don't you
How'd you know!?

This is just an awesome idea, and the execution is of incredibly quality. :) Nice job!
Thank you. :)

I guess you must love coding :D

The map looks amazing, I think this is the intention but the handling of jetpack is pretty hard.
I guess I do. At least when everything goes as planned.
Wouldn't want to make things too easy now, would we? :)

JetCraft 0.7.x has been released!


Code:
0.7.2:
• Game:
    - Interface models will now display even with 3D portraits turned off.
    - Fixed lighting flickering.
• Editor:
    • JetScript:
        - Doubled maximum array lengths.
        • New Functions:
            - void GameSetLighting(int level)

Code:
0.7.1:
• Game:
    - Fixed a thread crash caused by the missile system.
    - Updated some of the older maps.
    • New challenge maps:
        - It's a Trap!? (Medium)
        - Treasure Island (Hard)
• Editor:
    - Fixed a bug in the undo/redo system history management.
    - Fixed a bug with the level delete/overwrite function.
    - Fixed a bug with redoing selection changes.
    • JetScript:
        • New Functions:
            - object ItemFromId(int itemId)
• New Items:
    - Lava
    - Lava Surface
    - Wooden Sign (Question Mark)
    - Wooden Sign (Arrow Up)

Code:
0.7.0:
• Game:
    - Reduced drowning sequence duration.
• Editor:
    - Added a new pop-up help interface (WIP).
    - Improved interface graphics.
    - Added a new background model.
    - Spike tiles can now turn into projectiles when activated by a trigger.
    - Highlighted tiles will now be selected after pasting.
    - Undo and redo is now a lot faster.
    - Added selection changes to the undo history.
    - Increased maximum undo history length to 512.
    - Entity tiles can no longer repeat outside map bounds.
    • JetScript:
        - Updated to JetScript 2.0 →
            - Improved engine speed and efficiency.
            - Scripts can now be compiled inside the editor to check for errors.
            - New and better scripting tools and user interface.
            - Added syntax highlighting.
            - Increased maximum script lines from 32 to 99.
            - Arrays are now dynamic.
            - Added support for array initialization.
            - Added 'until', 'do while', 'do until', 'repeat' and 'for' loops.
            - Added a 'for x in y' loop for arrays.
            - Added a 'do' block for generic code grouping.
            - Added a new 'object' type (object pointer).
            - Added multi-line comments.
            - Added a native JetScript missile system.
            - \n and \" can now be used in strings.
            - Added and reworked tons of functions.
            - Undo/redo functions now work inside the JetScript Editor.
            - Script debugging is now on by default.
• New Items:
    - Trigger Relay Random
    - Metal Lamp
    - Wall Lever Red
    - Wall Lever Green
    - Wall Lever Blue
    - Bat
 
A new major version has been released!

What's new in JetCraft 0.8.0:
Code:
• Game:
    - Further reduced drowning sequence duration.
    - Fixed an issue with the Invisible Teleporter teleporting dead players.
    - Fixed an issue with swapped tiles loading wrong items across levels.
    - Fixed an issue with the Invincibility item not loading its textures.
    - Fixed an issue where the player could drown after being killed above water.
    - Optimized tile-related code.
    - Added more sound effects.
    - Added more music.
    - Normalized music volumes.
    • New challenge maps:
        - JetCraft (Easy)
        - Welcome to the Dungeon (Easy)
        - HeatCraft (Medium)
        - Forward! (Medium)
        - Thread the Needle (Insane)
        - Volcanic Activities (Insane)
• Editor:
    - Iterated on the editor help dialog.
    - Added painting functionality to the middle mouse button.
    - Added a volcano background model.
• New Items:
    - Force Barrier Red Horizontal
    - Force Barrier Red Vertical
    - Force Barrier Green Horizontal
    - Force Barrier Green Vertical
    - Force Barrier Blue Horizontal
    - Force Barrier Blue Vertical
    - Dark Stone
    - Dark Stone (Ice)
    - Dark Stone (Snow)
    - Red Bricks
    - Red Bricks (Ice)
    - Red Bricks (Snow)

I have not tested it, but since Blizzard opened up the arcade not that long ago, I believe you can now play JetCraft completely for free with the StarCraft II Starter Edition.
 

Attachments

  • preview080_01.jpg
    preview080_01.jpg
    608.3 KB · Views: 204
  • preview080_02.jpg
    preview080_02.jpg
    579.7 KB · Views: 143
  • preview080_03.jpg
    preview080_03.jpg
    676.3 KB · Views: 130
Last edited:

Deleted member 219079

D

Deleted member 219079

Hey I know, what if you could change the controllability of the jet pack in the editor?
 
Another major JetCraft update has been released!


What's new in 0.9.0:
Code:
• Game:
    - Added multiplayer co-op mode.
    - Added multiplayer achievements.
    - Updated game code to support multiple players at once.
    - Snow now reduces the player's movement speed and reduces fall damage as originally intended.
    - Increased jump height slightly.
    - Fixed an issue where the player would spawn at a checkpoint when restarting from the scorescreen.
    - Fixed an issue where the player could retain the properties of the last tile of the previous level.
    - Improved the texttags displayed from items.
    - Built-in levels using JetScript has been updated to use the updated player functions.
    - Touched up old assets.
    - Heavily optimized entity code.
    - General code optimization/maintenance.
    • New Challenge Maps:
        - CGSOURCE (Easy)
        - Rock Avalanche (Medium)
        - Utter Insanity (Insane)
• Editor:
    - Improved level compression algorithm. Custom levels will now be MUCH smaller in filesize.
    - Level loading and saving is now faster.
    - Undoing tile changes is now faster.
    - Implemented a multiplayer emulation option in test games.
    - Interface updates.
    • JetScript:
        - A lot of functions have been changed to support multiple players.
        • New Functions:
            - object EventPlayer()
            - object Player(int index)
            - int PlayerGetIndex(object player)
            - bool PlayerIsPlaying(object player)
            - const int MaxPlayers()
            - void PlayerSetJetpackVelocity(fixed velocity)
            - fixed PlayerGetJetpackVelocity()
            - void PlayerResetJetpackVelocity()
            - void PlayerSetMaxJetpackVelocity(fixed velocity)
            - fixed PlayerGetMaxJetpackVelocity()
            - void PlayerResetMaxJetpackVelocity()
            - void PlayerSetJetpackFuelConsumption(fixed amount)
            - fixed PlayerGetJetpackFuelConsumption()
            - void PlayerResetJetpackFuelConsumption()
• New Items:
    - Red Bricks (Surface)
    - Dark Stone (Surface)
    - Emitter Pad (Left)
    - Emitter Pad (Right)
    - Emitter Pad (Up)
    - Emitter Pad (Down)
    - Emitter Pads (Horizontal)
    - Emitter Pads (Vertical)
    - Boulder

StarCraft links:
US: starcraft://map/1/189654
EU: starcraft://map/2/133681

Single player download:
http://www.cgsource.net/jetcraft

Forum:
http://jetcraft.sc2modding.info
 
@Just_Spectating, KuWe, Dalvengyr: Thank you all! :)


Version 1.0 is finally here. The beta is now officially over.

What's new in 1.0.0:
Code:
• Game:
    - Replay saving has been enabled.
    - Added a checkpoint system to multiplayer games.
    - Added a quick guide to the multiplayer menu.
    - Text tags can no longer display during level initialization.
    - Fixed a minor issue with the tile reset function.
    - A lot of static text fields has been prepared for eventual localization.
    - Checkpoint items will no longer be created in multiplayer games.
    - Player teleport cooldown duration has been increased to 20 seconds.
    • New Challenge Maps:
        - The Cellar (Easy)
        - Detour (Easy)
        - Lift-off (Medium)
        - Classic Four (Hard)
        - No Time To Explain! (Insane)
• Editor:
    - Empty (null) items are now selectable from the item list.
    - Worked some more on the documentation.
    - Fixed an issue where deleting a level could result in several duplicated and empty levels. 
    - Interface has been further improved.
    • JetScript:
        - Fixed an issue with missiles only colliding with player 1.
        - Added a player spawned event for multiplayer games.
        • New functions:
            - void MissileSetCollisionIgnorePlayer(object missile, object player, bool ignore)
            - bool GameIsMultiplayer()
            - void ModelDisplay(object model, bool display)
• New Items:
    - Turret
    - Grass Patch (Decoration)
    - Grass Patch (Background)
    - Grass Surface End (Left)
    - Grass Surface End (Right)
    - Grass Surface End (Both)
    - Ventilation (Horizontal)
    - Ventilation (Vertical)
    - Iron Panel (Dark)
    - Iron Bars (Background)
    - Stone Wall
    - Stone Wall Surface
    - Stone Wall Background
    - Stone Wall Window
    - Stone Wall Top
    - Stone Wall Archway (Top Right)
    - Stone Wall Archway (Top Left)
    - Stone Wall Archway (Right)
    - Stone Wall Archway (Left)
    - Stone Wall Archway (Top)
    - Stone Wall Right
    - Stone Wall Left
    - Stone Wall Door Right
    - Stone Wall Door Left
    - Stone Wall Door Up
    - Level Exit (Stone Wall)
    - Stone Pillar
    - Trigger Initializer

Download links can be found in the previous post.
 
Status
Not open for further replies.
Top