Fan made projects related to MLP

Search /collab/ threads

Password  (for post and file deletion)

File 133876254248.jpg - (59.97KB , 640x360 , 2a41fcb3077c5d227e32af973a6e7893[1].jpg )
39201 No. 39201
Let me just start by introducing myself, my ponysona (I just thought of it, lol) is Semicolon Dash, and if you can't guess from that, I'm a Computer Science major. You might know me from the Warcraft 3/ Starcraft 2/ World of Warcraft communities by my handle Valaraukador / TheSecretArts. I'll try to get more active around (which is bound to happen since I'm stuck in the middle of no where on summer break about to gouge my eyes out).

I'm working on a project, by myself at the moment, called PonyCraft. As the name suggests, it is an RPG following in the footsteps of Warcraft and Starcraft. However, it's supposed to be more than that too, otherwise I wouldn't be here asking for your help.

I want to make this a desktop game, standalone, with functioning internet-multiplayer. Right now, I've been designing the code base for Windows in the C# language using XNA Game Studio 4.0. Insofar I've got some basic underlying architectures pretty decently underway (including my own system for scene management and sprite animation, the concept of the unit object and I've been programming the command architecture. IE: I can get units to move, patrol, follow eachother, and queue commands and whatnot) I still have a long way to go, but I need your help.

I'm a pretty meh artist in my opinion, and spriting is certaining not my strong suit. But I'm going to give you the whole idea of what I have going on here.

Plot: The general plot is this. After Chrysalis' failed attempt to take over Canterlot, she is fumingly pissed. She wants revenge, but most of all, she wants more power. She decides that her best plan of action is a bit more insidious than her last one. Rather than just feed on power and try to take over, she wants to turn the ponies against eachother and divide them. And once they are divided, she plans to release Discord from stone oncemore, and seal her victory by destroying the elements of harmony. The ponies have to figure out a way to settle their differences and unite and defeat Discord and Chrysalis before the elements of harmony are lost and all hope is lost with them.

The Factions: (right now I'm thinking four factions, though I'm not sure if this is the best idea because that's a lot of units and sprites, and I don't know how artists would feel about that)
Earth Ponies (led by Applejack and Pinkie Pie)
Pegasi (led by Rainbow Dash and Fluttershy)
Unicorns (led by Twilight Sparkle and Rarity)
Changelings (led by Chrysalis and Discord)

Each faction would have the same number of units (I'm thinking between 8-10) and buildings (somewhere between 5-8 I'd think), and would have units and playstyles which match the feel of the faction (Earth Ponies are more melee and brawly, Unicorns more magic based and technological, Pegasi more speed and raw power, Changelings essentially the Zerg lol)

What I want help with:
So this is the important part I guess guys. I'm only one man and can only do so much. I might be a fairly good programmer as most people seem to like labeling me, but I'm not infallible. I have a penchant for design and programming, and I can write a decent story (but horrible dialog).

So let me get to the point.

My primary need is artists. Primarily spriters. Since I want this game to be 2D (I deemed 3D too intrepid, thats for another day), there is need for a lot of animated sprites. Look at sprite from Warcraft 2 for example. There are 8 different walk animations (one for each compass direction and the halfway points), 4 different death animations, 8 different attack animations, 8 different resource gathering animations, etc. Now not all sprites need all of these, but you get the point. It gets tricky. So I would definitely like your guys help with this. (Though there is nothing to say we cant just make a sprite from an animated 3D model, since that is probably the most efficient way to do this).
My secondary concern is sound. I'm horrible with sound. Absolutely horrible. Horrifying horrible to be precise. So anypony who likes to compose, or just do sound effects (swinging an axe at a log sound like fun to anypony?), would be greatly appreciated.
The final primary concern I have is this: Networking and other programmers.
Now, I'm a good programmer and all of that, but I don't know jack about networking. Ideally this game with have multiplayer (though thats a secondary concern, the primary goal is to get singleplayer working. One step at a time), but if somepony knows how to set up a multiplayer server and can give me a primer, I can probably do the rest.
One final thing: since this is written in native code, if I want people with macs to play it, I'm going to need a programmer who is proficient with Objective-C and Cocoa to help me port this. My specializations are Java and C#, with C# being the better for game design, but this is not portable to Mac OS. So if anypony wants to help me with this, it would be greatly appreciated.

If you want to help in anyway, please let me know, reply here, email me ([email protected]), whatever. I want this project to get completed, so the more people who want to help me, the better. I'm not going to force you guys to do anything, or harass you if you don't want to help. It's all voluntary, and any contribution, big or small, will land you a special place in my heart and the credits (and maybe even easter eggs in the maps!)

If you have any questions, please ask.

(I also plan to start a website for this project soon)

Thanks for your time and sorry for this massive block of text.
I'd attach images of what I've done, but I'm a firm believer in bottom-up design, so it won't look like much for a week or two (but trust me, units moving around and performing commands is a big deal for me haha), and no one wants to see black boxes moving around a screen doing what I tell them to lol. (also I stole that image off of the internet, I'd design an actual logo, but I don't have access to photoshop here.
21 posts omitted. Last 50 shown. Unspoiler all text  • Expand all images  • Reveal spoilers
>> No. 39486
I don't suppose you've ever heard of pathing engines that use a line-object intersection to determine path (my idea is to use line-object intersection, find the closest intersecting obstacle, then find the orthogonal line from the line from start point to end point, and project all points from the obstacle onto this orthagonal and pick the closest of farthest "left" and "right" and keep solving for pathing points until no collisions are found, in which case the last pathing point is the target) Should be efficient enough to run well if I define the algorithm well I speculate.
>> No. 39487
I hate multiple posting, but I've given it a lot of thought and I think you did give me a good wake up call. I'm a very design oriented guy, yet I've been very negligent in my design. I think I might take a week, lock myself in my room (sounds bad but thats how I think through my problems), and just draw out the specifications and design. I think it's probably the next best logical step, because things have felt a little cobbled together and not as efficient as they could be.
>> No. 39499
Cool! Thanks for taking my post so well - I realize that it may have been worded a bit too harsh, I've just seen so many projects fail and didn't want you to repeat the same mistakes.

Best of luck with your project! Keep us updated :)
>> No. 39517
File 133930082645.png - (59.63KB , 287x320 , mlfw1129_small[1].png )
Trust me, I've been on so many failed projects, I've seen all sides of the spectrum. I've had enough experience to realize what does and doesn't work (though not enough experience clearly). The concerns you brought up were things that I've been mulling over in the back of my head since day one really, I just needed somepony to remind that those concerns are real, and they will bite me.
Now that you remind me, I was on a project similar to this... like 4-5 years ago (when I had substantially less programming experience) that completely failed to even begin getting off the ground. I'd really rather not turn out the same way as them.
Now, I'm going to go back to designing this pathing system. I did some fermi problems in my head and estimated the complexity of my system to be around O(n^2) where my djikstra's solution ended up being around O(n^2 log(n^2)), and all optimizations included, should probably run quite efficiently (And accurately, I've done test, it doesn't fail to get to the target, but it's not always the best path (since best path is 2^n if I tried to used my pathing method to explore the best path).

I just realized I'm talking in a lot of computer science and I have no idea how much background in computer science you guys have -_- Sorry about that, I'm really an algorithms guy, so I tend to get gushy about algorithms.
>> No. 39549
So on EQ'D, there is mention of a Ponycraft being developed, and they would appear to be much farther along than my own (and in 3d).

I haven't been feeling very well recently (my depression has been acting up the past few days) and I've pretty much lost all my motivation to do just about anything. I'll probably continue working on this, if only to create a template RTS design, but I wouldn't hold your breath. Like I mentioned earlier, I'm not known to complete my projects unless there is something pushing me. The primary thing that was pushing me was that it had not been done before.

So I'm not going to call this off yet, but given how things have been going, I see no reason to consider this a priority of mine. My apologies to anypony who was interested by this project, and I redirect you to EqD to see the other PonyCraft.

Hopefully their project will turn out well, and I hope that it is in better hands than my own.
>> No. 39558
Despite what has been said, A* is a good solution to your problem.
If you try to make a War/Starcraft kind of game, you can consider it: after all, that's the algorithm they use.

The problems you'll meet come after that : the easier solution to handle an A* in a dynamic world is to seek a path between to point, then check at every move if next movement (or a part of the path) is still available: if not, seek another path.

Starcraft II took a different approach to avoid this, because groups of units will sometime end up looking for totally different paths just because they ran into a slower unit going the same way they are.

Maybe you could first make a "group" pathfinding before making the units try to stay close to the path.
This won't handle pathfinding as well as Starcraft II, but it should still avoid a lot of weird behaviours, and most of all, it will have a more predictable behaviour for the player.

Then again, I'm just throwing ideas: I've never had to solve this kind of problem in RTS games.

I came here right after seeing the video.
Don't give up. Take it as a challenge !

Plus you need to finish this. Not only for us, but for your own videogames development skills !

>> No. 39563
File 133943314725.gif - (98.53KB , 1000x1000 , collision.gif )

I'm pretty sure that Starcraft 2 uses an AI engine to determine pathing. My plan (which I have attached as an image), involves using geometry to calculate the closest path that a unit can fit through (the idea is that is two collidable objects are within one units collision size, I combine them into a larger collidable object so the unit wont try to pass through). I'm worried about it's efficiency, but I can guarantee that it will return a path if it is possible. Units will not conceivably get stuck at all, but there is a potential for backtracking (I've done some tests). And the thing is that because I don't treat units that you own as collidable units, units will tend to group together rather than split up. (what happens if friendly units happen to collide you say? Well then the unit that walks into the other will pause for a moment and wait for the other unit to move out of the way, like in Warcraft 3)
I've spent a lot of time considering the possibilties, I just never know what the computational limits are, and I've never been good at heuristics.

>I came here right after seeing the video.
>Don't give up. Take it as a challenge !
>Plus you need to finish this. Not only for us, but for your own videogames development skills !

You made me smile with this comment. I'm going to try, I was being a bit dramatic last night, I was having a bad day and that was the last thing I wanted to see really. I'm going to keep going, and try not to let my pride get in the way. I may have to abandon some of my things that I want to do (like I might have to abandon my algorithm in favor of A*, no matter how much I don't want to)
>> No. 39564
File 133943431499.png - (119.51KB , 900x828 , hats.png )
>You made me smile with this comment. I'm going to try, I was being a bit dramatic last night, I was having a bad day and that was the last thing I wanted to see really. I'm going to keep going, and try not to let my pride get in the way.

This may sound really really stupid, but...

Why don't you contact the other PonyCraft and join forces with them? Show him what you've worked on and how you can contribute. Rather than having two seperate projects do the same thing, join together (like Voltron)!

In fact, if I'm not wrong about this, I believe that's how PonyKart originated: two teams making Pony racing games joining forces.
>> No. 39567

That is also an option. Probably more productive, but they are also using a completely different framework. I suppose I could get into a chat with the developer and see what happens, no need to close off any options just yet. Thanks for the suggestions people. I really appreciate it.
>> No. 39568
Awww shit dude, this just keeps looking better and better.
>> No. 39574
Hey guys, I just got in contact with the other PonyCraft developer and hopefully we'll start discussing things soon. I'll let you know if we eventually decide to merger or not. In the meantime, just hold on tight and wait to see what happens. Either way, I don't think I'm quite ready to see this project die!
>> No. 39575
>> No. 39576
History has already been wrote. You will either merge and make a freaking awesome game, or not merge and make two awesome games.
Good luck on one or the other choice. I know whatever happens it will be a great promise of awesomeness for the pony gaming community.
>> No. 39588
File 133951881783.png - (115.54KB , 671x751 , mlfw753_derpy_hooves_by_thetooch-d48s5hs[1].png )
So I've been talking with the other PonyCraft developer, and he is skeptical about opening his code base (understandably so, I would be the same way), but he is willing to work with me as an algorithms / ai / design guy. So I'll probably be contributing all the good ideas I had for this, over there, and he'll be the main coder. I'll just be around to make sure everything runs smoothly and there isn't any problems.
So what this means for this is: I'll probably slowly be working on this codebase during my freetime, but this is more turning into my personal RTS project. It may still be pony related, but I'll be trying not to infringe on his game.
Or maybe I'll make a different pony game!
>> No. 39627
(to the pic)
it's about pony time!
>> No. 39674
So, I've made a final decision. I'm going to stay working on this project. I still need artists and sound guys, but that is neither here nor there. All in due time.

In the meantime, have an update on heroes and some tentative abilities:


Rainbow Dash:

20% Coolor - +20% buff to attack speed in units in X radius.

Dash - Rainbow charges forward X meters, dealing Y damage to units caught in her path.

Filly Flash - Rainbow releases a burst of color, blinding all units in X range. Blinded units have reduced accuracy and damage.

Sonic Rainboom - Rainbow dash charges forward X meters, dealing Y damage to all units in the path, then releases a massive explosion dealing Z damage to all units in Y range.


Angel Bunny - Summons a permanent bunny to assist Fluttershy.

Kindness - Inspires a unit with confidence, boosting attack damage by X% (autocast ability)

Gentle Eyes - Units can't bear to follow through with their attacks, reducing damage taken by Flutteryshy by X%.

The Stare - Fluttershy gives "the stare" and all units that are looking at her are petrified for X seconds. Petrified units cannot perform any orders.

Unicorns -

Rarity -

Gem-Studded Fabrics - Reduces damage taken by X.

Fashionista - Improves the armor rating of nearby units by X.

Gem Volley - Throws a handfuls of gems everywhere, dealing X damage to everypony within Y distance from Rarity.

Oh, It's On - Rarity goes into a beserker rage, preventing her from casting spells, increasing damage and health by X%, and reducing damage taken by Y%. (Flavor Text: "What in Celestia's name have you done?")

Twilight Sparkle -

Unicorn Bolt - Twilight hits the enemy with a bolt of magic for X points of damage.

Teleport - Twilight teleports to a point within X distance instantly.

Study - Twilight carefully observes her targets before striking, increasing her chance of dealing a critical hit by X%.

Ultima - Releases a massive burst of magic, dealing X damage to anypony near Twilight. (Flavor Text: "What do you mean this isn't Equestria canon?")

Earth Ponies:


Buck - Turns around and kicks pretty darn hard, hitting a unit for X damage.

Farmer's Endurance - Increase movement speed by X% and life by Y%.

Apples! - Heals a friendly unit for X points of life. (Autocast)

Zap Apple - Summons a zap apple tree with electrocutes nearby enemies with electricity.

Pinkie Pie:

Defy Physics - Leaps up into the air and slams down onto an enemy unit for X damage.

Happiness Aura - Increases life regeneration by X% and attack speed by Y%.

Cheer - Cheers on an allied unit, increasing their damage by X%. (autocast)

Party Cannon - Fires her infamous party cannon at an enemy, hitting all units nearby and in the firing path for X damage.

I have yet to figure out hero abilities for changeling heroes Discord and Chrysalis. They will come next. Right now, while I'm working on my pathing algorithm, I'm solidifying game design details. Feel free to give input / suggestions.
>> No. 39676
That makes me think about pegasi units.

Are you planning on making them flying units, or more like the "jetpacked" units from Starcraft ?
Or maybe give them the ability to fight as a ground unit and fly when they want to ?

You already know how you'll handle these cases with the pathfinding ?
>> No. 39678
Sorry for the double post, but I have new questions in mind ^^ !

How will you handle the different races ? Will it be possible to add your own (for instance, by modifying one that already exist) ?

Will you use scripting ? For the spells for instance ? Or creating your own campaign, and such...
>> No. 39689

>How will you handle the different races ? Will it be possible to add your own (for instance, by modifying one that already exist) ?

Races will be designed in a way that you can add your own, but I will offer no answer as to whether it will be officially supported for you to add your own races. Because the way I'll be designing the races is that I'll basically only set the starter unit (worker) and town hall, and the rest of it is handled by the units themselves. Though no word on whether I'll add support for custom race flags (like this spell only works on your OR (original race))

>Will you use scripting ? For the spells for instance ? Or creating your own campaign, and such...

Spells will use hardcoded templates. I have not decided on whether I will use scripting or now or how I will use scripting. I've considered it, but I'm not sure how I'll go about adding the support in. So I've very hesitant. If anything, expect a limited GUI scripting similar to the GUI script editor in WC3.

>Are you planning on making them flying units, or more like the "jetpacked" units from Starcraft ?
Or maybe give them the ability to fight as a ground unit and fly when they want to ?

I wasn't planning on having jetpacking, because of the limitations of 2D graphics, I don't think it would look very convincing or good. I was considering having ground and flying mixed units for Pegasi.

>You already know how you'll handle these cases with the pathfinding ?

Indeed, pathing cases have already been figured out. There are no air collision pathing requirements to worry about (there are no objects which block air pathing, and air units flow past eachother like in Starcraft). Plus, I think the pathfinding would be more complicated with jetpacking, so until I've really worked it out completely, I'd rather not add special cases yet.

Feel free to ask any other questions you have!
>> No. 39696
I should also say that I'm planning there to be a level editor.

And functionality for custom campaigns, graphics, et cetera. I believe that the users should have similar power to the power that I have to create with.
>> No. 39720
I was thinking more about it, and I think for pegasi, it would be fairly easy and relatively canon to have pegasi fly over ANYTHING that paths in their way (besides other player-owned pegasi) by pathing them like flying units, and when the collide with a unit, having them fly over them.

But I wonder if that would be a tad bit unfair.

I've also been working on the level design and the overarching plot. I'd be tempted to share it, but at the same time I don't want to ruin the story!
>> No. 39745
It's my thread and I'll quadruple post if I want to!

I'm working on designing the architecture for level scripting and I want to know: what events do you want to see? What conditions do you want available? What actions do you want to be able to perform?

I'm doing an implementation similar to the GUI editor in WC3 (but without the leaks!), and I need a list of Events, Conditions, and Actions to implement. The list I have right now is fairly meager, so the more, the merrier. I want this game to be friendly to people who want to customize their pony experience, so go nuts.

Events insofar:
Timer Expires (one-shot, repeating)
Game Time Reached
Game Initialization
Unit dies
Unit is created
Ability is started being cast
Ability is completed being cast
Unit receives damage
Player achieves victory condition
Player is defeated.
Player changes teams.
Player gains resources.
Player sends resources.
Player receives resources.
Player clicks an unit.
Player clicks a point.
Player presses a button.
Player camera enters point.
Cinematic sequence starts.
Cinematic sequence ends.
<more to come>

<ability> is equal to <ability>
<player> is equal to <player>
<unit> is equal to <unit>
<player>'s <resource> is <operator> <value>
Button pressed equals <key>
(lots of similar, I don't want to write them all down)

Kill unit
Remove unit
Freeze unit
Issue command to unit
Add resources to player
Pause game
Remove resources from player
Damage unit
Start cinematic sequence
End cinematic sequence
Broadcast message
Cinematic dialog
Cinematic camera
Player camera
Defeat player
Player victory
Add victory condition
Complete victory condition
Remove victory condition
Add unit
Wait (pauses the execution thread, not the game)
Resume game

Feel free to contribute anything you think is missing.

The more you contribute, the better I can design the system and the better it all will turn out.

Right now I'm planning to stick to a GUI editor, but as I get deeper in the coding, I'm considering a scripting system similar to JASS (but with a better syntax). I'm just unsure on how I'll store locals and globals and all of those things since I'm working in C#. Dynamic memory allocation has never been my forte. Making an instruction set shouldn't be very difficult in C#, I've done similar things before, but if I figure out dynamic allocation, you should expect a scripting language coming your way as well.
>> No. 39780
Youtube embed play button
  After tireless hours and wanting to throw my computer and everything I hold precious out the window, I finally finished a working pathing system prototype, and a hobbled together the cheapest UI I could've mustered in 5 minutes of effort. Though the command card is populated dynamically from the command data stored in a unit object. So it is completely extensible and resembles a prototype of the final implementation.

And I'm going to keep saying this, but if you have ANY SUGGESTIONS, or want to help or do anything really, email me at [email protected], and let me know. I want this game to end up being nice and polished, and I'd like to think I can do that by myself, but I doubt I can. (not gonna stop me from trying though)

So keep directing your questions here, giving feedback, comments, whatever. Any support is welcome, even if it's just cheering me on (trust me, somedays I could use a cheer team haha. This is a surprisingly stressful venture).

Now I'm going to take a break and do websites and catch up on sleep...
>> No. 39823
Prepare for a bunch of questions about the editor.

Is it possible to create the following condition: [unit's properties is exactly/under/above 20% HP] I know SC1 had the ''Set unit properties'' but that was only for the Action, not for the Condition.

Also will the Waits actions, for the same player, stop freezing his triggers? if multiple triggers with Waits are running at the same time?

And can there be an option with ''repeat this trigger x number of times before stopping completely or taking a break for number of seconds/minutes'' ? Way better than a non-ending loop that needs tons of conditions in order to stop.

Also is it possible to manipulate the locations in all sorts of forms, not just rectangles and circles?
And can you link locations to each others like portals, as if it was the same location, but not having them touch?

And can you please add a search function ?
>> No. 39839
File 134012265675.jpg - (39.92KB , 1364x768 , StonyStudiosGame 2012-06-19 01-51-46-87.jpg )
>Is it possible to create the following condition: [unit's properties is exactly/under/above 20% HP]
>I know SC1 had the ''Set unit properties'' but that was only for the Action, not for the Condition.

Yeah, that should be easily doable.
Event would be: Unit's life changes (or something to that extent)
Condition would me: <Unit state> is <boolean comparator> <value> where value is: "Arithmetic: <value> <multiplier> <value>
It all condenses to <Get triggering unit's health is less than or equal to .2 * Get triggering unit's max health>

>Also will the Waits actions, for the same player, stop freezing his triggers? if multiple triggers with Waits are running at the same time?
Each trigger runs independently of eachother. Waits for one trigger doesn't freeze other tirgger.

>And can there be an option with ''repeat this trigger x number of times before stopping completely or taking a break for number of seconds/minutes'' ? Way better than a non-ending loop that needs tons of conditions in order to stop.
Eh, what exactly do you mean? If you mean "call this trigger X times then stop this trigger" that should be possible. Or if you mean "only run this trigger X times total" that should be doable with global variables (which I still need to figure out how to do.

>Also is it possible to manipulate the locations in all sorts of forms, not just rectangles and circles?
>And can you link locations to each others like portals, as if it was the same location, but not having them touch?

Erm, maybe. Shapes aren't simple like that are pretty annoying and there is a distinct lack of basic level support to work on.

And most of the funcitonality that you are asking for can be created onto of the editor and doesn't have to be hardcoded in. Sure it makes it simpler, but the functionality is there. And I suppose there is a way to make disjoint locations, but I won't guarantee it.

>And can you please add a search function ?

Searching for what, exactly? I can program search functions, I've done it before, but I need to know what you want me to search for.

Also, have a screenshot of the new game UI. Looks better, still a rough draft. Also, dat button mouseover effect =P
>> No. 39847
>Searching for what, exactly?
triggers, locations, sprites, units, buildings, doodads, etc.

Adding a word finder would be excellent.
>> No. 39848
Like the Ctrl+F option.
>> No. 39855

Well, I can implement something on each page, at least. I can't guarantee how fine tuned it will be or how expansive, but if you open the unit editor, you could search for a unit by name, and similar.
>> No. 39856

Don't expect the superfinder 3000, but feel free to give me a more detailed list of what exactly you want and I can see about triaging the list and seeing what is possible and ranking priorities and what not.

Like do you want to search through data, do you want to collate across all pages, do you want links to go to the source. Do you want "find and replace"? Etc.
>> No. 39909
File 134021092867.jpg - (38.57KB , 1364x768 , StonyStudiosGame 2012-06-20 12-40-54-76.jpg )
So I've been derping around in photoshop trying to make decent wood textures, and before I waste a few hours doing the entire bottom bar, I wanted to get an opinion on UI design.
I've been giving a lot of thought on what to make the UI look like. I feel like the typical wood/metal combo is a bit out of place for MLP, but I also feel like it is most fitting for the RTS genre.
Any opinions are welcomed, and I'll spend a few days in photoshop and try making things trying things out.
And I figured I would use the horizontal space left and right of the bottom UI bar for a faction sigil, so I'll need to design those aswell, but I have plenty of ideas in my head.
>> No. 40431
Youtube embed play button
  It's been a while, I was taking a break. But I figured I'd post an update to keep you all in the loop.
I'm not dead yet!

It's longer than my previous posts (6minutes) and involves me talking about stuff.
>> No. 40441
Well, the waiting was worth it.
It looks like everything is going pretty well.
>> No. 40446
Well, to be honest, these functions are pretty easy to code. Though I can't really say how much of it is due to my designs or how much is just fundamentally simple. Then again I'm been working with the more basic stuff as well.

I'm redone the animation system a bit, so hopefully that will fix most of the animation glitches I've been dealing with (and extended it to work with 16-angle animations). I'm going to work on a terrain system next I think. I'm probably going to keep it simple as possible without it looking bad. I just need to find a few sample tilesets to experiment with.

Thanks though, it's good to know people are still interested!
>> No. 40449
Looks like an awesome project, keep up the good work. Hopefully some artists will take interest (although honestly if you just used WC2 unit sprite placeholders and changed names, stats and abilities to match MLP I'd still play the heck out of it).

Don't sweat the GUI yet, as long as it's functional it will work for demos and you've already said that art is not your thing (although this is coming from another programmer, so... yea)

Also, quick question: What made you want to write the engine and everything else yourself instead of creating it within the WC3/SC2 editors?
>> No. 40451
Well, I did it this way for several reasons.
The first is that I wanted to spend time on this project. It seems silly, but I don't have much else to do in my time, so I figured a large project would be right up my alley.
The second, is that I didn't want anypony to have to go out and buy a game if they wanted to play. It's not very hard to emulate something that already exists. I play with the user interface and mess around with some theories and I have a good idea on what makes it "tick." I just go from there usually.

If this wasn't so much of a timesink / learning experience for me, I probably would've just used Warcraft 3 (I have a lot of experience with Warcraft 3 scripting and could've really setup all of the stuff with ease, but that ruins half the fun!)

And I can do art, it's just not a specialty of mine. I'm generally to impatient to work do art, but I've seemed to got the knack of drawing vectors of ponies, so who knows. I might just be able to knock something together.

Thanks for the interest!
>> No. 40463
Here are some interesting ones:
* Trigger enable/disable
* Variables and custom expressions
* Eggheadf war control
* Player AI control
** Start/stop attacking (ALL/Player#)
** Expand to point
** Attack and take area
** Attack and convert specific unit(s)
** Attack player now
** Ready special attack
** Send message as
** Send map ping as
** Switch strategy
** Set ally/enemy status
* Teleport unit(s)
* Change unit owner
* Call trigger
* Unit is/isn't in area
* Start/stop/pause/resume/reset timer
* Unlock map region for view
* Reveal existence of player
* Give player tech
* Doodad control
* Map effect control (day/night/weather/whatnot)
* Alter map
* Enable/disable highlight on objective unit(s)
>> No. 40465
Don't mine me trying to get clarification on these things.

>* Trigger enable/disable
>* Variables and custom expressions
trigger enable / disable is a pretty obvious one, derp on my part.
Variables I should be able to do. But what do you mean custom expressions?
>* Eggheadf war control
>* Player AI control
AI controlling the player? Please elaborate.
>** Start/stop attacking (ALL/Player#)
You mean forcing a cancel on an attack and forcing an attack? (which would just be issue command to unit)
>** Expand to point
Again, slightly ambiguous. Do you mean like Pan to point, or zoom out (given the nature of 2d art, I'm not sure if I'll allow zooming out)
>** Attack and take area
>** Attack and convert specific unit(s)
>** Attack player now
These sound like AI commands. Except convert specific units sounds like "change unit ownership"
>** Ready special attack
Reset cooldown, sounds good to me.
>** Send message as
>** Send map ping as
>** Switch strategy
Another AI thing. I haven't really figured out AI yet. Which is ironic, seeing as I'm an aspiring AI theoretician.
>** Set ally/enemy status
>* Teleport unit(s)
>* Change unit owner
>* Call trigger
>* Unit is/isn't in area
>* Start/stop/pause/resume/reset timer
>* Unlock map region for view
So reveal <region> on map, right?
>* Reveal existence of player
What do you mean existence? In my head, I'm see this as "Give <player>, <target player's> sight"
>* Give player tech
Sure, should be easy enough and useful.
>* Doodad control
You mean add/remove doodads?
>* Map effect control (day/night/weather/whatnot)
Sure, though I'm not sure if I will have lighting effects, again a limitation of a 2D environment.
>* Alter map
I can give you "Change terrain tile" (which includes cliff tiles and stuff) probably. Maybe.
>* Enable/disable highlight on objective unit(s)
You mean like a highlight on the minimap, right?
>> No. 40467
Completely unrelated but I feel like from my incessant grammatical and spelling mistakes, I am making myself look mad dumb... If only I could edit my posts and fix this stuff (or start proofreading).

Does anypony know of any good secure archiving methods that I can use to bundle maps and data together with? I know Warcraft 3 uses the MPQ file archive format, but I'd rather use something different. And I'd rather not use ZIP, just a personal preference. (Time to do some research I suppose)
>> No. 40488
Bad wording on my part, I intended to use the heading "AI Player control". All the following entries that starts with two asterixes are for controlling AI players.

Doodad control, changing the state of doodads, like opening doors in SC1.

* Unlock map region for view
* Reveal existence of player
These two would be for a surprise "There is more space in the map? And there was another player there all along!?"

As for the egghead entry, blame that on the wordfilter. It's supposed to be Fog of war.
>> No. 40489
Custom expressions would be actually parsing a mathematical expression and evaluating the result. Things like 4+3*2/VAR and what not. It's a bit challenging to code. I know from personal experience.

As for highlights, it's nothing concrete, but more along the lines of "enable/disable helpful indicators for finding important objects", because all recent games have had such niceties. Be it on screen arrows, glowing outlines that penetrate level geometry or a fricking laser beam to the key object.
>> No. 40494
As for the mathematical expressions, I was thinking about having a fixed version of them controlled by the action "arithmetic" similar to how warcraft 3 does it. It's a bit tedious for the person making the level I suppose, but it gets the job done and is relatively easy to program. I've had to write expression parses before, so it would be nothing new to me regardless.

And about AI players, makes sense, but I need to figure out AI first.

As for highlights, I was assuming having a marker on the minimap. And sure, those should be able to be toggled..
>> No. 40521
So I've been considering the AI side of things. I'm thinking about using a decision tree while maintain queues for build order and having conditional builds for more adaptive builds.

I don't think there will be "strategies" for AI, but that the AI will have to be coded to automatically chose the appropriate strategy. I suppose you could swap build orders, but on a swap, you would have to start at the beginning of the build order. I could add commands to skip units in the queue and what not, but that starts to get messy.

And the same goes for attack patterns. I think rather than ordering an AI to attack an area, you would switch it's attack pattern (the attack pattern should automatically attack the area).

Like for example take this attack pattern:
Attack condition: army has <X> composition
Army: All non-workers units excluding <x>
Pattern: Attack closest known expansion point
Attack enemy home base
End Condition: Enemy army size <X> greater than AI or <x>% of army lost

And you could have other attack patterns for more complex behavior potentially. I'm not sure what commands I'd allow, but I'm imagining it similar to the trigger editor in terms of it's flexibility (like I said, I love AI theory so I like making powerful AI. If the game AI's is too good, you have my passion for AI to blame haha (I also used to play diamond league in SC2 beta, so I have RTS theorycraft experience), but I wouldn't get too far ahead of myself)

Also, that is the weirdest word filter I've ever seen haha. And sure, toggling it is easy enough. That should be there as a baseline feature.
>> No. 40537
Have you seen the Age Of Empires AI script files?
They are plain text, so you should check them out.

Also, this reminds me, the Age Of series have had a rather unique feature in the genre: randomly generated maps. Those were nice, having to genuinely explore the map as opposed to just guessing where the opponent is. AOE2: AOK even came with random map generation scripts (plaintext).
>> No. 40543

I haven't seen them before, I'll give them a look.

And random generation might be doable, but the one thing about randoms is that it might be cool, but it makes the game less balanced usually. When you don't know where your enemy is, it really changes up your playstyle and the playstyle depending on the map really devolves to a fast build. I suppose that's what scouting is for, but it's harder if you take a warcraft 3/2-ish approach, because the resources are only available in certain spots (and would only fit in those certain spots so that the player could be an attached based to the mine).
>> No. 40633
I haven't had much time to work on this recently, I've been working on learning C++ and APL (APL for a competition). I'll probably end jumping back and forth between all of these things.

In the meanwhile, enjoy the horribly abstruse syntax for APL (calculates the next step in conways game of life):
life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
>> No. 40645
That's worse than perl. At least perl can be written with a normal keyboard.
>> No. 40661
Eeyup. and don't get me started on the rules that govern the language. I need to set myself up a feature timeline or something, so that will help me keep up with progress. Or somepony can just keep cracking me with a whip. That works too.
>> No. 40751
Well, a bite-sized update today I suppose.

I've been doing a bit of code cleaning recently. I've found that in the process, I was able to sort out a few bugs and make everything a bit cleaner and much easier to work with (hurray for Lambda expressions).

I'm going to be out of town for a week though, so not much progress will be happening still. However, I'm trying to improve my programming practices and hopefully that will speed things up.
>> No. 40982
Youtube embed play button
  Well now that I'm back in town, have a little update on selection and pathing (mostly pathing though).
>> No. 41075
Progress is still moving along.

Hokeys, tooltips, building notifications (the little shadow of the building that shows you where you are building and if it is valid or not), and a brand-spanking new abstract collision engine that uses box-box collision. I'm still tying up everything so I don't have any loose ends while continuing. There are still a few loose ends I need to deal with since I upgraded to multiple-unit selection.
[Return] [Entire Thread] [Last 50 posts]

Delete post []
Report post