LD27 August 23–26, 2013

Strategy vs. Tactics

In researching this compo the criticism of RTS’ is that they are more like Real Time Tactics — a faster mouse-clicker and better micro-manager wins the prize. There’s merit to that, but real-life involves strategizing over the long-term, not seeing immediate results, making very few simple commands in response to changing conditions.

Strategy involves long-term planning and a divorcing of oneself from the various tactical outcomes. In business and the military, a chain of command is established so the top-level General or CEO can implement their strategy through use of simplistic commands to complicated people. George W. Bush said “let’s go get Iraq!” and the generals said to their sub-commanders: “ok, mobilize our infantry and artillery to the southern regions”, and so on, all the way down to the soldiers who need to pack their toothbrush.

This is more the scale I’m interested in, and what becomes apparent is how much I don’t want to click on things. “Guh, just go get Iraq!” I want to say.

actual_framerate

I’d make it a .gif but this is the actual framerate

 

My goal is to free the player from micro-managing units and simply get on with the strategy of winning. I love in Majesty how you have indirect control by planting Quest Flags with reward money, which is collected by any units that feel it’s worth the money to take up the task.

But there’s downsides to all-strategy-plus-autonomous-AI: I remember a big criticism of Dungeon Siege was that the game pretty much plays itself. With a handful of characters that’s not really fun…you want to feel challenged. But with 80 units? That’s more Homeworld territory, and ideally I’d judge my success on how few mouse-clicks and keystrokes you need to win.

Current progress on “Counterstrike RTS” milestone:

  • AI decision tree on all units: Idle vs. Hunt states, all units attack closest on sight
  • LOS for AI based on world collision, enter Hunt state on acquiring target
  • Fog of War LOS: Can only see enemies on screen that 1 or more friendlies can see
  • Order issuing: “Go go go” and “Hold this position” — individual or group

 

 

My first Jam – Next Ludum Dare (#27)

Hi guys !

I’m Lo-X, I’m a french programmer that try to make some small video games on my free time.

For the first time, I decided to try the next Ludum Dare (#27). The challenge for me is to have something playable within the 48hours.

For the next jam I’ll use C++ and SFML, wich is a great library built on top of OpenGL. You can find more information about it on SFML website.

I’ll also use my own “framework”, just a bunch of tools using SFML in C++. It’s not complete yet but not far from being it. Anyone who wants to use it is welcome to do so. Here is the GitHub link. I’ll update it in some days.

 

I’ll perhaps make a livestream too, but I never did that so I don’t even know if I have a right internet connection, plus I don’t speak english very well, but I still would like to do it…

 

If you want, you can find more information about me on my website (french), or on my GitHub account.

 

See you !

Tags: #27, C++, french, Ludum Dare, sfml

3

This entry was posted on Wednesday, July 24th, 2013 at 12:40 pm and is filed under LD #27. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

My No-Progress Progress post

This whole physics thing is harder than I thought it was going to be, at the moment the green player box can float around with the force of gravity pulling it down, and the platforms stopping it.

I’m hoping to finish movement soon, so I can actually add in RTS elements.

progress2

Day 3: Multiplayer!

mpc

Multiplayer is now working! You can host a game and connect to somebody over the internet, as confirmed just now on IRC. Hooray!

As for the game itself, it’s still really basic. You can wander about, and you have one item: an inexhaustible fireball scroll. In the actual game you’ll have to find and construct your own weapons (hence the whole strategy part) but for now, have fun shooting each other.

If you’ve got Firefox 23 you can play it at http://foon.co.uk/forest-feud

I’m scared about the upcoming Ludum Dare, and don’t really know where to start

It’s upcoming only in a month’s time, and I’m shaking even now. I don’t know where to start! I’d love to prepare by using sfxr and making spritesheets in Paint.NET, but the rules say I can’t until the 48 hours start. I understand Game Maker. I know how it’s just like coding but put in a simpler way. But I’d like to challenge myself, and go more versatile with using C# or Java. I’d use ActionScript with flash, but flash’s amtlib.dll isn’t working, and I understand Java and C# better. Programming would be a LOT easier if it was put in a simpler way. It’s like learning a new language, you know the translation but you have to learn the language. I’ve dreamed of doing something like the Ludum Dare, but I need more training! Can anyone bring me to something that’ll help me prepare?

Ontop of all that, what should I use to program it? I have Netbeans, Eclipse, Microsoft Visual Express, Gamemaker 8 Pro, and (I haven’t used this in a LOONG time) Unity.

Thank you.

Comments

24. Jul 2013 · 14:56 UTC
You can technically use anything that you have created before AND have made publicly available. So anyone could grab the resources you’ve released in the wild. They accept posts in here with links to what you’ve made as ‘released publicly’.
24. Jul 2013 · 14:57 UTC
Ah, and I have slightly the same problem that you do. I understand Unity “well enough” but don’t know whether I should use that or something actionscript-based. I like C#, but I have a slightly hard time with 2D in Unity. Whatever you use, I highly recommend that it be playable on the web.
24. Jul 2013 · 16:38 UTC
Unless you really know what you are doing or want to take crazy risks, always do a compo or jam in the language/libraries you know best. There’s enough challenge in bringing a game to completion in a compo without throwing a new technology on top of that.
vgcharlienash
24. Jul 2013 · 18:29 UTC
Don’t be scared! Its good fun, the last Ludum Dare was my first one. There’s nothing to worry about, just enjoy it when it starts. As for language, Batch is a nice and easy one to use for game jams as it sets yourself a challenge on what you can make using it. :)
dalbinblue
24. Jul 2013 · 19:02 UTC
Before the first time I entered Ludum Dare I wanted to do some preparation as well. What I ended up doing (and what helped me a lot) was to actually port an old Nintendo Entertainment System from scratch using my language and tools of choice. Specifically I ported over Dragon Warrior, or at least partially (you could play thought the first hour or so). What was nice about doing this was the graphics and sound can be easily downloaded, and there are tons of documentation out there on how these games work under the covers. Given this I was able to concentrate on getting used to the tools I was going to use and solve much of the basic game issues I would need to solve like loading level data, drawing sprites, etc.

MountainKing day 3

Networking is functioning pretty well.  Implemented most of the game rules.  Finished all of the tile art.  Why is this going so smoothly?  Could it be that after 30-odd failed games it starts to get easier?

Ready for a castle assault.

Still to come…  Public demo.  Ability to regain lost units.  Sounds and maybe music?  Lots of bug fixing.

Comments

24. Jul 2013 · 16:00 UTC
Looks awesome. Nice job, Sanojian.
stenol
24. Jul 2013 · 17:03 UTC
Nice job Sanojian. Continue on that way :)
vincepascoe
25. Jul 2013 · 02:42 UTC
great job… very inspiring about this being over your 30th project…

My first dare, wish me luck! :D

I enjoy RTS games so i thought this would be a fun first mini dare to do. The concept is the whole traditional RTS idea remade to this theme of cherry warfare. The resources are obtained before battle [Figure 1] and things are more simplified to attempt to reach a more broad audience into the RTS community.

cherrys rts

Attrition Day 3

We can build bases!  Hoorah!  So – to go along with that, the game now manages what buildings you are able to build and presents a correct menu when you select a worker (that drone looking guy you see there).  Buildings rise out of the ground Command and Conquer: Generals style for the duration of their designated build time and update our graphs so that units can path find around them correctly.  Todd and Ryan continue their tradition of doing awesome art things.

Attrition Base Day 3

 

The goal for tomorrow is to hook up production buildings so they can make units and then getting some resource gathering together.

Team Tartan Paint Day 3 Repost

For some reason the last post was blank sorry for the repost

Hi guys Faisal(Team Leader/Designer) here again to show you our progress for day 3 bit of a slow day for some os us but getting there.

Character Art

so far Jurgita has been working hard and managed to create our enemy units and is currently working on animating all the units.

Hydra_01 Minotaur_01 Arachne_01 Chimera_01 Cerberus_01
Environment Art

Stu has been Stu and whipped up the last of the tile assets so now we have almost all the environment done, hes now moving on to finishing up objects around the edges and the User Interface

woods midbot to topleft var woods midbot to topright var woods midtop to botright woods topleft to botright woods botleft to topright woods botleft to botright woods topleft to topright woods vert trees1 trees3    instructions1instructions2
UI

Currently i have been working on the sound interface, which has been painful but now we have a music slider that will change the volume of the music. The current place holder for the music is the Theme from the  1990 Ducktales game for Nintendo.

pic 1
Code

Currently Zac has managed to finish adding the main environment tiles and program the path-finding along each path though only 1 is currently visible in the prototype.

pic 1.5

Through a combined effort we have also managed to combine the 2 different code together.

pic 2

map routes and UI

 

 

Comments

zzForrest
24. Jul 2013 · 23:30 UTC
Really interesting! It seems, though, that the current pathfinder has a slight y offset landing it at higher than it’s destination. Also there’s a typo in the instructions, saying “dudeuce” instead of “deduce”.

Getting Started for Day 3

I made some quick adjustments to my AI that I thought of during the work day, and the computer is now decently challenging! Especially as you add factions (not really a great idea with such a small play space). Anyway, here’s another screenshot of what 6 factions looks like

screen3

Comments

25. Jul 2013 · 03:42 UTC
This looks a lot more confusing then what you showed yesterday :)
Sgt Squirrelly
25. Jul 2013 · 20:57 UTC
Haha, yeah. Six factions makes things a little unmanageable. Two-Three players seems to be the sweet spot.

Dim Wars – Day #3

I decided I’ll work on the dimension mechanic now I’ve got units floating around the map.

Dim Wars - v0.0.3 - work in progress

So as I explained in my first dev-log, the unit which is located in another dimension will see a different map. So on the screen, you’ll be able to see different tiles around this unit. So I started out with making three different coloured maps representing the dimensions. And then there is the portal which is the cyan-coloured circle. It doesn’t do much at this moment, but it will be a doorway to a certain dimension.

Tomorrow I hope to put a new version online with which you can mess around.

Good night! (to wherever it is nighttime atm)

Tags: Dim Wars

Streaming 7dRTS!

Hey Everyone,

I’ll be streaming 7dRTS stuffs right now, go on over to multitwitch.tv/0creds/gasquake to watch both my stream and my partner’s stream at the same time.

Hope to see you there,

– 0Creds

Strat Souls: WIP 4

After wrestling with Git subtree commands overnight, I’ve integrated my AI system into the game. Not much right now though, just the dummy units following you.

I took this time to add a new unit and re-enable an old one.

The shielder is a tank unit that can’t attack. However, it is the only unit that can push units by just moving through them.

Since the zweihander guy moves so slow, you can actually use shielders to push him and move faster!

The shooter is actually from the old SloweRTS experiment. It will be replaced with the sorcerer: a ranged unit whose projectiles are homing.

I took this time to integrate NGUI into the project as well. The box on the lower right will serve as a context-sensitive quick help. The art assets are a combination of the free Necromancer GUI in the Unity Asset Store, and the Moderna Graphical Interface from OpenGameArt.org.

 

Web Demo WIP

Tags: progress, screenshot, Strat Souls, unity

Slow and Steady — “Frontier: Quebec” Progress Report

Well, progress has definitely been slow on my end. The hardest part of this is to find a game that I can make in this limited amount of time with my limited amount of knowledge. In short, I’m a noob in this type of challenge, especially since this is my first miniLD.

To keep me from being deterred, I press on. For the sake of scope, I decided to do a sort of real time tactics instead of a traditional real time strategy. This should fit the challenge enough to complete a competitive entry, and I should be able to finish as well. So far, the idea for my game revolves around a French trapper who must trap animal s to upgrade his gear. It will have to have the process of building in the game to truly have the element of a real time tactics game. I thought about the name Frontier: Quebec for the name of the entry. I think I’ll stick with this name for now.

I have coded most of my scripts for the Unity engine for the sake of the game, but most of it is on paper at the moment. Hopefully I’ll have time to type it (hilarious, right?). Anywho, the only other thing that I have been doing is listening to “Farewell to Nova Scotia” by Gordon Bok to get me in the mood for the game development that I have later.

I’ll update later, and good luck to my fellow developers.

Tags: javascript, journal, unity3d

Jumpstarter, Day 3

So I decided to slightly tweak the theme of my game.  Only slightly.  Now, it’s not just “public approval” you are gunning for; that public approval is reflected in the revenue pulled in by the crowdfunding campaign you are running to fund the rebellion.  Correspondingly, it is no longer called Insurrection, but rather Jumpstarter.

Otherwise, today has been a productive day, but sadly not as productive as I would have hoped.  I managed to get trade routes and resource gathering up and running, tweaked combat code a bit, and I’ve started implementing the interface structure for unit construction, but I haven’t actually started implementing unit construction yet, which is a big deal.  I was hoping to at least get started with that.

Still, there are 4 days left in which to implement production and enemy AI before getting to the more unique stuff, as well as possibly polish (though frankly, I don’t think I’ll have time for much of that).  Tomorrow will be ugly, because I have a really full day of classes, but I’m sure I’ll find a few hours to work on the problem, and starting Friday things are calmer.

Cross-posted on my personal blog.

 

Tags: MiniLD #44, RTS

Out of Sight

Last time I showed off my 162-unit RTS at a stunning 5 seconds per frame. Not FPS, that’s SPF. And that ain’t good.

Clearly it’s not scaling well as I crank up the units. What we’ve got here is your classic O(n^2) problem between entities. There’s a bevy of literature out there regarding space-division in a proper manner for these types of issues, but I had an idea.

The game literature out there deals with LOS for terrain but not for dynamic entities. I decided to roll my own: introducing the Visibility Matrix(tm):

darkness

Anybody there? “None.” Seems legit, Bob you’re on point.

 

You’re blue, the enemy is red but hidden (left the text on to show their position). I turned off the world so it can read better, but remember there’s a slab in the middle of the world blocking each other’s view. Each cell refers to the visibility between the two actors. The “oo”‘s mean “can see”…the “–“‘s mean “can’t see”.

 

during

Good ol’ Bob. Never complained about recon.

 

Visibility between Blue:7 and Red:0-5 has been established in the Visibility Matrix, and the units can query these values rather than generate it on their own expensively.

What makes this faster is these vis checks are time-sliced, i.e. only a few of them are updated every frame instead of the O(n^2) nightmare from the last post. To achieve this we simply walk through the matrix left->right, top->bottom, updating each cell with a fresh LOS.

How many cells do we update each frame? Well if there’s n units, then the Visibility Matrix only needs n * (n – 1) / 2 cells, as visibility is commutative and we assume each actor can see themselves. Best of all we  guarantee that no enemy can see you before you see them, so no ambushes just a little lag.

Finally if we demand a maximum response time for the unit in frames, then the number of checks performed each frame to guarantee an update = max frames / # cells. At 60fps and a 1 second response time your calls are spread out over 60 frames.

 

pincers

Here’s the same 162 units rocking it out at a smoking 9fps. I’m calling it 10fps, that’s a 50x framerate increase.

Where this really takes off is I can store more than just vis data in there — distance calculations, health differential, whose turn it is to do the dishes, whatever I’d normally have to generate at runtime about information for each pair of actors.

Once I move all these calculations to the server I hope to throttle up a gear in terms of units. But maybe I should make a game first…

Comments

MiniBobbo
25. Jul 2013 · 14:06 UTC
It has been interesting seeing how you tackled this problem. It is one I’ve been pondering also. I like your implementation and might have to steal the basics.

I shouldn’t be doing this!!!

Yes.. I have so many pending things to do in real life… but anyway…

This is a very simple game: you are the blue army, your enemy is the red one, neutral cities are white.

Select your city and any other one to send part of  your army.

This is the first early-alpha-don’t-show-it version

 

First screenshot

Comments

vincepascoe
25. Jul 2013 · 06:44 UTC
super smart… it reminds me of that war game thats ftp on android… but I like yours better since the enemies and your troops fight between cities.

Electricity in my trash based city builder!

Got a little bit of work done today, I was able to implement the electricity system. Here you can see an image of a small town

SkyAnd here is that same town but with the power overlay.

power2

 

Any powered building that gets connected to a building without power will then power that building. Or you can connect a generator to a power source and it will power all buildings in a radius.

Ill leave you with this.

The town of Eden, a trade hub for the poor.

The town of Eden, a trade hub for the poor.