1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  4. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  5. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  6. The results are out! Check them out.
    Dismiss Notice
  7. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  8. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  9. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

[Development] Presenting my project! Engine for making games like WC3 custom maps

Discussion in 'Game Development' started by Ollhax, Oct 22, 2017.

  1. Ollhax

    Ollhax

    Joined:
    Oct 19, 2017
    Messages:
    30
    Resources:
    0
    Resources:
    0
    I'll push something out as soon as I can, but given the scope of this project it's probably gonna take a while. Also, at first it'll probably be more of a "technical demo" than a beta test; i.e. don't expect too much at first :) I'd like at least to have map editing in place (i.e. no units editing, trigger editor, etc) before uploading anything, but before that I need to get some serious groundwork in place.

    Anyway, this will be the place where I'll announce anything, so subscribe to the thread if you want to stay updated! :D
     
  2. Ollhax

    Ollhax

    Joined:
    Oct 19, 2017
    Messages:
    30
    Resources:
    0
    Resources:
    0
    Update 3

    Progress is moving ahead smoothly, and I now have a basic Terrain Editor in place:

    [​IMG]

    You paint tiles with the left mouse button, "pick up" tiles (get their settings) by right clicking them. There are some options to flip/rotate tiles on the top-left side, all available tiles listed to the left, and level settings (currently only the level size) in the bottom-left.

    Here's a little animation of terrain editing in action:

    [​IMG]

    I've also made it possible to run the map directly from the editor (File -> Run, or Ctrl+R), which should be nice for quickly testing the maps.

    The next step is the Entity Editor, which will be used to place and tweak objects on the map.
     
  3. Daffa the Mage

    Daffa the Mage

    Map Moderator

    Joined:
    Jan 30, 2013
    Messages:
    7,732
    Resources:
    28
    Packs:
    1
    Maps:
    8
    Spells:
    17
    Tutorials:
    2
    Resources:
    28
    Very neat. Any plans for early alpha release? Eager to try it out.
     
  4. Napoqe

    Napoqe

    Joined:
    Jul 7, 2011
    Messages:
    236
    Resources:
    0
    Resources:
    0
    At the same time, I like your progress, but I also get lose enthusiasm with the graphics. But in the end, if it's something positive you can count on my support.
     
  5. Ollhax

    Ollhax

    Joined:
    Oct 19, 2017
    Messages:
    30
    Resources:
    0
    Resources:
    0
    Thanks! :D I'd like to add more features before I release anything, but I'm glad you're eager to try it. I'll post more updates here as I go.

    Hehe, programmer art tends to have that effect on people! :eek: I'm hoping to eventually beef up the graphics, at least with some animations, better lighting, particles, SSAO, fog etc. Thanks for your support though, including pointing out what needs to look better :)
     
  6. Napoqe

    Napoqe

    Joined:
    Jul 7, 2011
    Messages:
    236
    Resources:
    0
    Resources:
    0
    What will your software license be?

    I come two thoughts:

    • If what you've done is a structure, and better graphics and 3D are easy to replace and implement.
    • And another is if your engine will have to be redone to implant good 3D graphics, etc.
     
  7. Ollhax

    Ollhax

    Joined:
    Oct 19, 2017
    Messages:
    30
    Resources:
    0
    Resources:
    0
    For the engine you mean, or for the mods and user-released stuff? The engine will be free while in alpha/beta state (i.e. probably a couple of years at least), but I'm considering a commercial release. In the unlikely event that I could make a living out of the project, I'd have a lot more time working on it.

    Mods released by the user will probably be done in some open/permissive license. That makes the most sense to me at least, but I'm open for suggestions. Likewise, the foundations and mods I make will probably be released under the same license.

    About the graphics: I'm intentionally going for voxel art because it has a low bar of entry, meaning even a doofus like myself could make art for the game :D The same goes for anyone wanting to create their own mods and maps. The problem isn't primarily the engine, but the work of making a ton of high-res models. I do think that some better art direction and fancy shaders will make things look prettier, but even so it's going to be a style closer to Minecraft than your average modern shooter.

    Personally, I love the style and there's plenty of work being done in the field, see e.g: Voxelart Styles in Video Games
     
  8. Ollhax

    Ollhax

    Joined:
    Oct 19, 2017
    Messages:
    30
    Resources:
    0
    Resources:
    0
    Update 4

    Done with the entity editor! That was actually quicker than expected :eek:

    [​IMG]

    I think it's pretty much what you would expect; you can place pre-defined entities on the map by selecting them on the list to the left and plopping them down. Box selection is in, and you can ctrl+click to add/remove units to the selection. Properties on the bottom-left, with support for components specifying custom properties. For example, you can make the HeathComponent expose the Health setting, should you want to control the starting health for units. Right side has a minimap (wip), zone selection and a list of units in the map.

    Animated twiddling here:

    [​IMG]
     
  9. Daffa the Mage

    Daffa the Mage

    Map Moderator

    Joined:
    Jan 30, 2013
    Messages:
    7,732
    Resources:
    28
    Packs:
    1
    Maps:
    8
    Spells:
    17
    Tutorials:
    2
    Resources:
    28
  10. Ollhax

    Ollhax

    Joined:
    Oct 19, 2017
    Messages:
    30
    Resources:
    0
    Resources:
    0
    Can't say for sure, depends on how much time I can work on it, how many obstacles I run into on the way, etc. Here's a mini-update though:

    [​IMG]

    This is how the script editor currently looks, WIP but getting there. There's a lot more work under the surface (data format for the scripts + code generation) that's taken the majority of the time since my last update. What I need to do next is to hook up more UI, e.g. allowing you to select between the various triggers/conditions/actions that exists, set parameters, etc.

    It looks like I'll be able to take a few weeks of vacation this summer to work on the editor, but even so it's several months from being anywhere usable. After that, I probably need to work on the game code for a few more months before you can do anything interesting with the editor. That's the best time estimate I can give you right now :)
     
  11. Hanman69

    Hanman69

    Joined:
    Jul 9, 2019
    Messages:
    5
    Resources:
    0
    Resources:
    0
    Damn, I would be willing to pay tons of money if you made it reality. And I'm guessing the graphics is going to/can improve? Also any updates?
     
  12. Ollhax

    Ollhax

    Joined:
    Oct 19, 2017
    Messages:
    30
    Resources:
    0
    Resources:
    0
    Haha, that's what I like to hear! :grin:

    Graphics will be improved. I'm hoping to add better materials, ambient occlusion, particle effects, post processing (bloom/glow), etc. All of that is definitely possible for a solo dev/small team, but it'll be a while until I can do more focused work on graphics.

    And good timing, an update is coming in just a bit!
     
  13. Ollhax

    Ollhax

    Joined:
    Oct 19, 2017
    Messages:
    30
    Resources:
    0
    Resources:
    0
    Update 5

    The script editor is DONE! This time around, I decided to make a video update:



    I hope that makes sense. I think I'm done with editors for now, and from here on I'll be working more on gameplay-oriented stuff. There'll probably be stops here and there for more engine work (e.g. particle effects, audio and such). I'll try to keep updates coming more frequently.

    As a bonus, I wrote a wall of text well structured document with details about the script editor if you're curious:

    Variables
    • Support for local & global variables.
    • Variables can be single items or lists.
    • You can set initial values for each entry of a list.
    • You can easily iterate over a list with the "Foreach" action. It goes over each entry in the list in turn, placing it in another variable, and executes a set of actions. This is what I use to move the bats in the video.
    Events
    • The current system supports only one event per script. The upside of this is that the system will know which event arguments are relevant for the script, rather than prompting you in the comments to use "Triggering Unit" or such. Context sensitivity ftw.
    • There is support for event arguments, e.g. the "Unit Enters Region" event lets you know which unit entered.
    Conditions
    • Conditions are supported. They work pretty much exactly like in SC2, e.g. all conditions must evaluate to "True" for a script instance to run.
    • There is support for And/Or/Not logical operators.
    • Comparisons: Compare two arbitrary arguments. Can use e.g. functions and context info for this, for comparisons like HeathOf(TriggeringUnit) < 10.
    Map markers
    • The editor supports simple regions (for now, only rectangular boxes) and points.
    Expressions
    • This was so much fun to work with :) Any numeric argument can be an expression, e.g. "x + y * 2". You can then go ahead and set X and Y to whatever you want it to be by just clicking the arguments.
    • Current supported operators are: +, -, /, *, and exponents (^).
    • I hope to add functions here later, e.g. square root. I might also add constants like Pi, Tau, etc.
    Quality of Life
    • Smart (?) default values: The system tries to assign values to arguments when types match. For example, in the video, when I create the "Move Units" action within the foreach loop, the editor guesses that you want to use the "Item" variable as the argument deciding which unit to move.
    • All actions, functions, events and their arguments have descriptions.
    • You can create folders and comments in the script list in order to organize things neatly.
    • Run the game directly from the editor by pressing Ctrl + R.
    Code Generation
    • The editor outputs all scripts to a single C# code file.
    • The code is compiled along with all the other mod code, and will be compiled to machine code by the Just-In-Time compiler. In other words, scripts should run very fast.
    • The compiled code should generate little or no garbage, so you probably don't have to worry about garbage collector pauses or memory leaks from your scripts.
    • Coroutines are supported, i.e. you can pause a script in mid-sequence by inserting e.g. a Wait() action.
    • If/Then/Else actions are supported, letting you do conditional branching within a script.
    • Calling other scripts is supported.
    • I've tried to make the generated code as legible as possible so you can debug it easily.