Posts Tagged ‘RTS’
Early this morning I submitted City Fall. It is really not where I would like it to be but after Unity deleted the game scene, I figured it was a good time to call it instead of going back to the backups. I will continue to work on a smoother, optimized version of my game this week.
This was my first Ludum Dare, first game jam, and my second week learning Unity3D. I thought RTS would be too complicated a game so I am happy that I was able to just submit.
I worked on this alone and used allot of third party resources, please see the credits below the web player.
The game features basic RTS mechanics:
- Target selection(Units, multiple units, enemy, building). Occluded/non occluded object selection availible.
- Roaming AI with prioritized targeting(Path finding & collision are slow in the current version sorry)
- Active and passive attacking of enemies.
- Destructible building.
- A handful sound effects and some ambient music.
- Basic UI, selection, mini map, and HP bar GUI.
So here it is, then – Day 7 of the 44th Mini Ludum Dare. As this is a 7 Day RTS compo, that makes this the final day – and about time, too, since I really need a break. I am, therefore, done – here is my first LD submission.
My game, Jumpstarter, is nominally about taking the reigns of a rebellion against an Empire, using crowdfunding (tied to public approval rating) and trade route raiding as a main source of income. In point of fact, the theme is rather thin; most of my work was concentrating on coding a working RTS, and in that respect, I think it’s a moderate success.
There are several issues remaining – not as many selection modes as I’d like; a bug that crashes the game if you exit to the main menu and try to start it again from there; homing missiles are a little wonky; and the balance of the enemy AI is iffy at best, swinging between hilariously incompetent and ruthlessly efficient. I played against the AI’s current design and won a few times, but I am generally terrible at RTS games (despite them being a favorite genre), so I upped the difficulty a little bit above my level before uploading it, and I can’t consistently beat it as it currently stands. Also, ship costs are mostly arbitrary, and are probably not properly balanced.
The game uses fairly standard RTS controls. You drag-left-click to select all units within a box, or single-left-click to select one unit. Mouse wheel zooms in and out, WASD pans the camera around.. Right-clicking issues orders, either to move, attack or invade.
There are three ship types and three station types in the game; the main difference is that ships are mobile and stations are locked to their parent planet. The ships are (in the same order as the build menu)
- The Cruiser, a powerful but expensive ship;
- The Interceptor, a fast and cheaper ship;
- The Dropship, a weak ship that is capable of conquering planets;
- The Shipyard, which is required to build ships;
- The Repair station, which repairs nearby ships and stations fairly quickly; and
- The Turret, which fires homing missiles at nearby targets
To win the game, you must capture all the red Empire’s planets; to lose, you must lose all your planets and ships – that is, you can live on if all you have are ships (but you effectively cannot win if you have neither planets nor Dropships, since you can’t capture any planets).
Tomorrow, I will consider doing a more exhaustive post-mortem on how the development of Jumpstarter went, but for now I need some rest. Good night everyone!
Cross-posted on my personal blog.
So, after a day and a bit, I’ve finished my second ever Ludum Dare game, game jam game, and game full stop, in one fell swoop. BotWars is a real time, tactical local multiplayer tank battler where you hopelessly try and control four tanks at once, while fighting over the space key with your friend. It was also my first time working in 3D, using Unity, and I must say, is it one sexy piece of kit. My game works on Win/Linux/Apple, with absolutely not extra effort required from me. Rather stellar, really.
So, what have I learnt?
Smaller is better. Really. I know I said so last time, but it really came in use this time around, working with software I wasn’t used to and with not as much time as I’d have liked. Power-ups were cut, AI got cut, and I didn’t even try to make network multiplayer. Am I disappointed? A little. Some semblance of AI, even if all it did was randomly wander through the map, would have been good, but hey, baby steps.
Polish is good. And I don’t do any. I really don’t. After a day and a bit of coding, I was so damn knackered, I just wanted to publish and go home. So take breaks, and figure out some time to do stuff like improve your sound and graphics. Oh, and put in an actual end condition. I don’ think I did
Take liberties with the theme. I was never, ever going to finish an actual RTS in 2 or so days. So I made an RTS-lite, and you know what? I think I probably learnt more. This is the whole point of game jams! Proper RTSes are silly anyways.
Play to your strengths. I’m a terrible coder, a terrible artist, and a rather good writer. So why aren’t I including any damn writing? I really need to start thinking ahead, and use what I’m good at, even if it doesn’t feel like a conventional way to approach games.
So that’s it! 7DRTS, done. I’ll see you for the next LD, or possibly for 7DFPS.
EGGZ is a real-time strategy game with eggz in it – click on the EGGZ for a sweet 48-hour
As mentioned in my last post Eggz was essentially finished in 48 hours, though they’ve been a couple of bug-fixes and enhancements since then. I’ve also been very lazy about building a version for distribution, but I’ve finally gotten around to it:
Unfortunately the game has no AI, so if you don’t have a friend to play with you’re not going to get much out of the game
I’ve drawn up a quick state-machine that should play the game adequately but it’s not going to be in the 7dRTS version I’m afraid. Check the game page for any post compo improvements
Looking forward to playing your games guys, I really love RTSs – let’s revive this genre
The penultimate day of the 44th MiniLD compo comes to a close, I’m happy to report that the game is more or less feature-complete. I didn’t get the chance to include all the features I would like to include, but I’ve managed to implement all the core functionality I wanted to include, including:
- Spacecraft and immobile space stations
- Unit selection (single and box-based) and command
- Income according to public approval rating
- Income from raiding trade routes
- Capturing planets
- Enemy AI
- A win and a lose state
- Basic sound and particle effects
This is great. Tomorrow, then, I will focus on solving the game’s remaining problems, including a fixing a few bugs and adding missing features regarding unit selection; softening the extremely difficult enemy AI (the AI doesn’t even cheat! If anything, it is handicapped.); adding more sound and particle effects; balancing unit costs; fixing population limits; and generally fixing bugs and trying to track down and prevent the mysterious random crashes I experienced earlier today.
Good luck to everyone else on the last day!
Cross-posted on my personal website.
Good new everyone
EGGZ is a real-time strategy game with eggz in it…
I was really happy to hear that there’s a 7 Day RTS, because I really love RTS game – it’s a pity more indies don’t make them!
Anyhow, we held this friendly multiplayer oriented game jam called the “Funky Future” last weekend, so I decided to make a single-screen competitive RTS controlled with the keyboard (or a gamepad) and with no elimination. The game was basically finished last weekend, but I’ve been tweaking it and doing bugfixes since then.
Today I managed to get lots of little tweaks done, such as fixing crashes, implementing population limits, fixing bugs, adding the minimap and tooltips, and adding particle effects and more visual feedback, and so on. The game is basically playable, with the glaring exception that the AI is not yet implemented. I’ve started working on the basics, but it’s rather daunting, as I’ve never done anything like this before. The weather was also awful today, sunny the entire time, and as a result I feel like I’ve been beaten up by somebody with a hot iron, so I wasn’t at my most productive.
I’m going to try and get some extra sleep tonight, and hopefully wake up fresher and able to tackle the problem that is AI. I’ve got two days to get it done, really, though I’d like to continue tweaking the game and adding gameplay features as well.
Cross-posted on my personal blog.
I think I’m actually done…
I got everything in my bomberman RTS game I wanted to get in. So I’m… finished? But this can’t be! How could I actually “finish” a Ludum Dare game?
I think I’m going to think on this for a while…
In the meantime, enjoy a screenshot!
Isn’t she a beauty? <3
So today I had very little time to get things done, compared to the rest of the week so far. I managed to get unit production up and running without much trouble, though, and also implemented planet capturing. That means that the fundamental ingredients of the RTS game here – unit command, territory control and economic management – are in! Yay!
Unfortunately, I am going to bed tonight with an unsolved crash related to particle effects. Hopefully my fresher eyes tomorrow morning will help solve that. Afterwards, there is some tweaking to be done, particularly to the interface, but the last major feature to add is enemy AI. I hope to get basic enemy AI implemented tomorrow, as well as interface fixes and improvements; and I hope to get complete AI and basic sound implemented by Saturday night. Sunday, then, will be a day for adding fun extra features, if all goes well.
I’m really enjoying the #7DRTS so far, but it is a definitely a bit exhausting, and I look forward to a code detox once this is over. At that point, I think I’ll sit down and play Shadowrun Returns.
Cross-posted on my personal blog.
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.
So the second day of MiniLD #44 draws to a close, and I have made some good progress today.
First, I added a lot of art to the game, though it is still pretty fugly. I also tested out an equally fugly random music system I had lying around somewhere. We’ll see what comes of that.
On the gameplay side, I implemented combat and an enemy faction, space stations, and the fundamentals for resources (no spending or gathering yet, just numbers, functions for changing those numbers, and interface elements), and the fundamentals for collision detection, though for now the only meaningful uses of that are 1) tracking where shots fall, and 2) scanning for nearby enemies.
Tomorrow, my goals are to get trade routes, production, and resource collection up and running, and maybe implement some rudimentary enemy AI (i.e. enemy player AI, not enemy ship AI, which already exists). If I have the time, implementing placeholder sounds for things like weapons fire and ship explosions might be nice, as well as implementing the graphics for ship explosions.
Good night, and see you all tomorrow!
Cross-posted on my blog.
This is madness!
This is MiniLD #44!
The goal is to make an RTS game in 7 days, and I love RTS games. Not to mention we are allowed to use pre-existing code, and have 7 days, so unlike a normal Ludum Dare I actually have a hope in Hell of getting something done.
Once I get up tomorrow, my 7-Day RTS odyssey will begin! I hope to blog a little about my progress each day, though it’s hard to say whether or not I’ll have the time. I will also be cross-posting on my personal blog.
I will be using some code I wrote previously for handling importing graphical assets and moving sprites around, as well as some code for playing sounds and for generating Voronoi diagrams. My first order of business, tomorrow, will be pulling that code together into a seamless whole for use as the base of my game.
Insurrection, a space-themed RTS game about taking down an Empire while managing public approval of your rebellion.
C++, using the SFML library
Code::Blocks as my IDE
Paint.Net for the game’s art
…LMMS for sound?… we’ll see.
So starting tomorrow morning, it’s full steam ahead! See you on the other side! Good luck everybody, and have fun!
------------------------------------------ --- I - C - E ---- B - R - E - A - K - E - R --- ------------------------------------------------
(When I get up I’ll do a post-sleep post-pre-mortem-post-mortem, some of this will just be taking some of the prolix and manic text out of my submission page – yay sleep dep!)
That was a lot of fun! (but it’s not over yet..) I somehow wrote just shy of 3,000 lines of code in 48hrs. It’s almost certainly 90% ugly horribleness, and I’m not a fan of LOC as a metric of productivity – but it still feels pretty cool. (If I printed it all out it would take about 46 A4 pages).
Unfortunately, quantity of code does not equal a finished game. About halfway in (after some sleep) I lost a lot of time to vascilating between confusion at the code I’d added before passing out (that guy was craaaazy) and feeling generally dumb. But eventually I got it nailed down and was grateful to discover that, whilst I had lost track of what I was doing – the more responsibly-minded part of me had sent me down a tunnel with no wrong turns. Not to say I didn’t bump my head a few times, slip over in miscellany or mistaken inanimate objects for long-lost lovers..
What went wrong / right
that one’s for the morrow I think, sorry – they’re my favourite part too.
- Music made in Renoise
- Sound effects in Renoise + Audacity (and Bfxr at the last minute)
- Graphics in ASEPrite, Blender and the system default editor
- IDE/Editor almost entirely SublimeText2 (unregistered)
- I feel terrible about that, as I finally see how cool it is
- Coded in Haxe with HaxePunk
- I also (eventually) streamed my progress at Twitch.tv
It may not be much right now, but I think after I’ve checked the rules I may enter the Jam so I can see it closer to a working game.
I’ll be uploading post-compo editions to the entry’s page as I go (in about 8 hours or so)
(this is just copied over from the submission page to reduce clutter, tl;dr: rambling…)
circa T+05 mins
began writing submission
circa T+20 mins
I’m having a few unanticipated issues with publishing; the .swf
seems to work fine in the standalone Flash player, but not
even remotely in a browser.
I’ve got 20 minutes or so of submission hour to work it out, but
here’s the swf for the time being (same link under “Windows” unfortunately)
circa T+56 mins
Okay, got it to publish. Seems to have odd framerate issues.
Will use my last 3 mins to see if I can suss it out.
I’ve spent the last 2-3 hours balancing the game, which is actually a lot of fun. It’s actually an reward in itself to get to play and tweak your creation. And I invented a few new game mechanics too while I was at it. The game is more of less done, though I’m considering adding music maybe? We’ll see.
Also, I managed to get both the Java Applet-version and the HTML5-version up and running, so that was nice. I never take for granted that GWT actually works and compiles my stuff into something useful. It’s still black box magic to me.
So, my idea is pretty cool so far, still have some stuff to flesh out. So, you know when you play any classic RPG, and you have to go around the world and eventually you find out the bad guy is the cause of all your frustrations and has been from the beginning? Well, I want to make an RTSque (is that a word??) game, where you build an evil base, recruit minions, have them help create your evil plot, then you figure out who the hero is and send minions to thwart the hero. More than likely the hero will survive your lackeys and eventually come to your evil base to beat you! Making it possible to win, but very difficult!
Should be pretty simple to make (I believe, I’ve been wrong about project sizes before XDD) so I’ll get to making!
Making it in Game Maker using Phoenix Lighting engine and some other tools (will be outlined in the contents). Ohh yea, this is for the longer Jam, not the compo.
Well, yesterday I decided to do post-mortem work on my immune system game RTS game.
Currently, I have only one campaign level – but I did a lot of refactoring in the game logic code.
Let me know what you think about it, any hints appreciated
The first campaign level shows you how to use the immune team and the supporting leucocytes, so it’s more kind of a tutorial:
The concept of the game:
You can either play the virus team or the immune system team. You (currently) have two Computer players taking part in the game. One is neutral and controlled passively by the Immune System. This neutral Computer is the one that controls the leucocytes that are controlled by the interleucines (produced by the immune’s globulines) and will attack the cells that are under control by the virus team. The viruses team advantage is that their spawn rate is higher than the spawn rate of the immune system and that they are much stronger than globulines (but weaker than leucocytes).
The immune system player is the one that is defensive, but he can also attack with “Blitzkrieg” strategy and making the virus team busy whilst using his leucocytes bonus.
The virus player is the one that is aggressive, he is the one that has to infect as much cells as possible. The more time he has, the stronger he gets and the harder it is for the counterpart to eliminate the virus player.
Taking further the concept:
What I wanted to achieve is a more realistic RTS game that is balanced and has a tech tree with different units. So, for example, the cell will have different “buildings” inside:
The nucleolus: This is the one that is producing the DNA, splitting and results in “more units” if upgraded
The cytoplasma: This is the part that is the shield of the nucleolus, it will upgrade the health of the cell so that it can take more damage until being captured.
The ribosomes: The research building. Use it to research DNA upgrades (mutations) for your team. For example, this is the place to equip leucocytes with better amino acids; the place to get T-killer or -helper cells as reinforcements. The counterpart (virus team) can research their own upgrades here. For example a by-strength upgrading until you reach Ebola.
(Doomsday) Super weapons:
The immune system team can have fever as a super weapon. It is limited by time (e.g. every 3 minutes) and has the capabilty of completely killing all cells at the game board (excluding the viruses that are currently produced inside the cells). It will also neutralize the immune’s captured cells and remove the leucocytes on the gameboard.
The virus team has the super weapon of upgrading to the T-virus (haha, resident evil and zombies! :D) which is therefore able to attack t-helper cells (like HIV) AND to attack t-killer cells, which are the ones that can completely destroy cells like a “bomber” in a classic RTS game.
Let me know what you think about this concept… and if you have suggestions: They are very appreciated!
Ok, here is my first screenshot. I have been wrestling a lot with the underlying code, so things have been a bit slow. Plus I have to re-familiarize myself with a number of graphics tools.
The premise of this game is that you have a flying island high above a windswept planet. On your island you must gather the precious gas resource and defeat your rivals for control over it all. You have the choice of whether to build gas gathering buildings, defensive turrets (pictured), offensive missiles, or stability buildings.
The chain reaction is that when your island is hit with missiles neighboring areas begin to weaken. If there is too much weight on a weakened area from your buildings, whole parts of your island may crumble.
Ok, time for some shuteye and then the final push!
Ludum Dare 8 was my second ‘short term’ game programming contest, and my first solo. The theme was ‘swarms.’ I was bound and determined to do an RTS game this time, since my partners in team compos always want to do something actiony. I think I actually wanted robots or magnets or something like that.
I thought it would be nifty if instead of directly building units, you had to attract units with various buildings. So you start with a base and 1 swarm. There are resource buildings (Apple, Flower, and Metal) that you can hover over that will give you various resources. You also have a base. You can build either Apple or Nectar huts in your base. These increase your attraction rates for food or nectar. (It was originally going to be food and sex, if you read the code. I guess bees have sex with flowers or something.) Once bugs are attracted to your base, you can add them to existing swarms, or break them off into new swarms. You can also build Radar to increase your attraction range, or buildings to increase the power or speed of your bugs.
Initially this was going to be swarm vs. swarm warfare, but I ran out of time pretty quickly. (I’ll go into my mistakes below.) So instead the computer just sent a specified number of waves with a specified strength at you at regular periods, and you needed to have swarms built up and ready to fight when they came.
Obviously one of my largest problems was art. As you can tell from my screenshot, It’s ugly. Really really ugly. All the art in the game was ‘placeholder’ art that I was going to go back and fix. That never happened. Secondly, I panicked at about 30 hours. I barely had an engine, and the deadline was closing in. I actually ‘gave up.’ I came back to it, and finished up later. Thirdly I didn’t have a good plan. I know I wanted an RTS, but I didn’t have a good execution plan. I also bit off WAY more then I could chew back then.
My tips for beginners are:
- Make a plan – Seriously, take that first hour, and may out some code to get rid of the urge. THen take the next hour or two, and make a task list. What code does your idea need? Divide it up into tasks. As you go along, check things off that you’ve put in.
- Take breaks – This is always a newbie mistake too, but, make sure you take regular breaks. 48 hours, even with a couple of sleep periods, is plenty of time to get something done.
- Start Small – It’s much easier to add to a simple game then it is to try and cram in everything a more complex game needs.
Battery was my entry to LD9. The theme was “Build the level you play”. Initially, the open voting hinted at a clear winner of the theme “battery”, for which Hamumu found the best explanation: Battery is a place where bats are hatched. Now, when I woke up the morning of the LD, first thing was I checked the theme, and it mysteriously had shifted. So, I decided to make an RTS where you start with nothing, then have to build up the battery you play.
The title screen.
An in-game shot. Basically, you can order bats to dig (build the level you play), and in the new cave room build different structures for hatching worker and soldier bats and providing food to them. At fixed intervals, a wave of most horrific enemies will attack the battery – so you better have enough soldiers by then.