GDR Forum Index
Podcast Podcast
Dev Dev Logs
Search Search
RSS RSS
Register Register
Log in Log in
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Planet Wars
View previous topic :: View next topic  
Author Message
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Wed Jul 27, 2011 6:02 am    Post subject: Development Log - Planet Wars Reply with quote

Huzzah!

My motivation to continue working on Retrospect have pretty much faded for the moment. The main reason is the amount of art required. I'm not a very good artist, so many graphics I create I have to throw away not much later. That's ok from a learning perspective as "the way is the goal" in this case. But I don't want to learn, I want to create! Which is just not the case right now, as my skills are not where they should be. When I'm coding (productively), the things I do tend to stay. Every new graphic asset I try to create I approach with the thought "I'll probably need to sack this soon anyway". Huge motivation killer!
/stoprant

In the meantime, I decided to start on something I wanted to do since a long time (on various platforms). A huge reason for why this project should run better is the available graphics, provided by famous Danc of www.lostgarden.com . I combined 3 of his free graphic sets and use them for my game.
To the game itself: remember Eufloria ( http://www.eufloria-game.com/ )? I really like this game, but I admit it has it's shortcomings. The biggest complaint players had is that in Eufloria, waiting is many times the best tactic to win. Many reviewers seem to agree on this ( http://www.destructoid.com/review-eufloria-152969.phtml ). Especially for a game on a mobile platform with more casual gamers this is really bad. With Planet Cute, I try to capture the rough gameplay, but weeding out the shortcomings of Eufloria, essentially making it more dynamic and action-oriented.

I'm already at the point in development where I have a working prototype. Yesterday, I published it onto the Android Market. Let's see how it goes...

Some screenshots:
https://ssl.gstatic.com/android/market/planetcute.app/ss-800-0-0
https://ssl.gstatic.com/android/market/planetcute.app/ss-800-1-0


Edited by IMakeGames on Tue Aug 16, 2011 12:54 am; edited 1 time
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4977
Location: Silicon Valley!
PostPosted: Wed Jul 27, 2011 6:41 am    Post subject: Reply with quote

Nice. I haven't heard of this game, so now I'm going to have to check it out. Using free art-assets will definitely make your life a little better. Unfortunately, I don't have an android phone so I can't help test out. :]
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9412
Location: Not Finland
PostPosted: Wed Jul 27, 2011 6:18 pm    Post subject: Reply with quote

I freely admit I know nothing about Eufloria aside from the press stuff on the website. Care to give us the rundown on what your take on the idea will play like?
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Mon Aug 01, 2011 5:12 am    Post subject: Reply with quote

Eufloria is essentially an RTS in it's purest form. There are planets interconnected by travel routes. The player commands swarms of flower seedlings which are the only unit (there are single Hero-like units present in the main campaign, but they are mostly unimportant). They are either orbiting around a planet or traveling between planets. You can build seedling-producing trees on planets and attack enemy trees on other planets. Both these things cost seedlings, which is the only resource in the game. You could also build defensive trees but it was pretty much pointless to build them as building a unit-producing tree was way more effective. Your seedlings normally do a fine job at defending own planets. One major part of Eufloria was that different planets had different characteristics. Different size (affecting the number of possible buildings) and different seedling parameters which affected the strength, durability and speed of seedlings produced on trees on this planet.

No supply cap existed in Eufloria, so a viable tactic was just to wait until you have a gazillion units, group them all together and finish off the enemy one planet at a time. In Planet Cute, I introduce a global supply cap that can be raised by building houses on planets. I still have the unit-producing structures (I call them towers), but got rid of the defensive buildings (for now). More houses means less towers and vice-versa so the player has to choose between rapid building of units and a possibly large fleet of units (or something in between). I'm still balancing out game parameters like how much supply a new house gets you or how much the structures cost. But the levels I've created so far seem to be rather enjoyable and fast paced enough to keep players interested. I'll try to be more active with this development log in the future... :-)
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Mon Aug 08, 2011 5:20 am    Post subject: Reply with quote

I've worked very hard on improving various areas of the gameplay. Pretty much all mechanics are in. At least the ones I wanted at all costs. What's left before I can move from the Prototype stage to the full version is some AI work. The AI is already able to expand, build structures, place it's ships strategically, ... it just messes up in some rare circumstances. Once I've finished that, I'm pretty much set and can start pumping out new maps/levels. I've also been thinking about a Skirmish mode besides the main campaign where the player can choose a map and some AI parameters to compete against.

I also did some work on the menus and added ingame-instructions:


Also been thinking about how and if I want to sell or give it away for free with ad-support. Possibly a combination of the two... gotta earn some money somehow... ;-)

I set up an AI test-map with 3 computer players and watched them duking it out on 7 planets... It's really cool to watch! :-D
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9412
Location: Not Finland
PostPosted: Wed Aug 10, 2011 4:24 pm    Post subject: Reply with quote

Quote:

I set up an AI test-map with 3 computer players and watched them duking it out on 7 planets... It's really cool to watch! :-D


Indeed; I've noticed there's just something immensely cool about watching your own bots play a game all by itself. It's like you've broken some sort of universal law or something ;)
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Sun Aug 14, 2011 2:05 am    Post subject: Reply with quote

I've established the habit of managing a simple textfile with TODOs where I place new ideas, bug-reports, important things to do, ...
Here's what I did lately (a star (*) means done):
* Level finished/Level failed mechanics
* Unlocking of levels/saving of beaten levels
* Buildings regenerate health.
* Visible health on buildings
* Visible destroy-effects (explosions, debris) of buildings
* Finish AI (overtake rating, expand rating, ...)
* Tutorial/Instruction screens
* Better "Call to arms" visualization
* Proper first levels
* Savegames: store camera position, call-flag, elapsed time(!)
* AI - suggestion: always check for possible moves after expanding has happened
* AI: move-rating (distribute equally/distribute amongst dangerous outskirts)
* Switch hull and pilot images to better visualize ship attributes
* AI - bug: maxattacktime/attackcooldown not working?
* AI: difficulties (over response-time?)
* Ask for saving on level-exit
* Level finished/Level failed screens
* Cute main-screen and level-select screen
* AI: pause checking for building candidates when ships have been sent (for ~20 seconds) / same for expand rating
* Proper icon(s)
* Better target-choosing for spaceships
* Savegames - bug: store building-hitpoints
* Add google analytics integration
* Proper start-attack-rating (time-based, not too random, normal-distributed)
* Pause game on hibernate, open ingame-menu on re-awakening
* AI: color AI-players according to AI-"strength"
* AI: make better decisions for expanding and attacking (which planet?)
* Website draft
* 11 finished levels
Savegames: store camera zoom-factor
Limit traveling (no traveling between enemy planets)
Other buildings can be attacked (and destroyed) as well(???)
Add Openfeint integration
18 finished levels
Skirmish mode
- Level generator(?)
Back-story(???)

I've recently become pretty motivated and I also found more time, a rare combination! :-D
I'm also thinking about submitting to game-contests, a country-local contest and maybe even IGF?!? But the IGF requirements really throw me off... I still have time to decide though, I just have to see how the game develops until October, which is the IGF deadline...
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9412
Location: Not Finland
PostPosted: Sun Aug 14, 2011 6:21 am    Post subject: Reply with quote

My experience with game contests is that they can be a great source of raw motivation. Having a deadline makes all the difference :)

I also do the textfile thing. I also keep a permanent change log so I can get a better idea of where I might have made a mistake should an unusual bug occur; i.e. feature breaking.
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Wed Aug 17, 2011 5:32 am    Post subject: Reply with quote

Another set of finished TODOs. New things tend to pop up everytime I finish something...
* Savegames: store camera zoom-factor
* Add google analytics integration
* Fix build-menu slowness
* Bug: games show wrong (4-digit minutes) time
* Music!
* AI colors more distiguishable
* work on low-memory device support
* level 11: move to match camera starting position
* level 11: way too hard!!
* Show "send # spaceships to..."
* ingame icons with background and numbers
* Bug: planets not visible when only visitable by one-direction travelroute
* Bug: planets still selectable even when not visible
* Compile-flag to distinguish between full and lite version
* Recreate some instruction-images
* Call-to-arms: Better traveling of ships when call changes
* Bug - Level 6: planet not connected well
* Bug - Level 9: too hard
* Bug - AI.call() seems to call the away ships
* Bug with supply-cap/destroying of ships
* Add "10" to main-building button
* Buildings slowly fade in
* Show tower progress when producing ship
* Show timer on survival levels
1. survival level: too easy?
Music shouldn't stop after level-end
Restart level button (in the ingame menu and after losing level)
Bug - Not pausing game after hibernation (when ingame menu opens)
Google Analytics: distinguish between full and lite
proper TravelManager (paths, links, planet-visibility, queries, ...)
Add Openfeint integration
Create 6 levels to get 18 fully finished levels
Skirmish mode
Limit traveling (no traveling between enemy planets)
show possible travel routes
"Living" planets (trees and vegetation, possibly visible effects of fights)

Two things kept me pretty busy in the last time:
1. Androids Application Lifecycle, which is a big clusterfuck. Involving threads which produce race-conditions, draw-surfaces which get invalidated and need to be recreated, input-listeners that don't work anymore after the phone goes into hibernate, needing to store the whole(!) application state to disk and retrieving it afterwards as if nothing had happened, Android apps being closed and recreated 3(!) times when a simple phone-call comes in, ... all that with a not really complete documentation and people spreading wrong informations in forums (even on Stack Overflow!) about what really happens... fun stuff!
2. AI-bugs: man those are hard to track down! And sometimes fixing a bug opens up a new one or even breaks already finished levels because the computer players now behave differently and the level gets too easy or too hard... But things seem to stabilize, albeit slowly.
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9412
Location: Not Finland
PostPosted: Wed Aug 17, 2011 7:32 pm    Post subject: Reply with quote

Quote:

2. AI-bugs: man those are hard to track down! And sometimes fixing a bug opens up a new one or even breaks already finished levels because the computer players now behave differently and the level gets too easy or too hard... But things seem to stabilize, albeit slowly.


Yes. Good (and non-buggy) AI is a time-consuming thing to put in a game. I remember testing Inimucus at times by putting two bots going head to head, then setting the game on fast-forward, and waiting for one of them to do something blatantly stupid ^__^ Then I'd pause the game and look at the log file and try to divine why it goofed up.
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Thu Sep 01, 2011 5:32 am    Post subject: Reply with quote

I catched a virus last week, so progress was a bit slow. But I did something at least. I created a small mapeditor! It's a usability nightmare and you almost get cancer from looking at it alone, but it get's the job done. I chose Swing as the UI library, even though I haven't worked with it before. But now I have everything inside my Eclipse workspace and it's cross-platform as well.
Stunning screenshot:
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Fri Sep 16, 2011 3:41 am    Post subject: Reply with quote

Almost complete!

I did some final tweaking of the routes which spaceships can take. That should iron out the last big difficulty-balancing issue I had.
Before the tweak, you could muster up a big enough army and just "sweep" the enemy's planets by attacking a poorly defended planet first and after defeating it moving on to the next. The reason this was possible is how the AI responds to being attacked. It basically sends all ships in the surrounding area to the planet that is attacked, thereby leaving surrounding planets undefended. So if your army was big enough to destroy the first planet before the enemy's arrived, you could repeat the process until the enemy was out of planets.
With the recent change, you can only start an attack from a planet that you have a main building on. And main buildings cost ships! Et voila, "sweeping" is no longer a break-your-neck tactic… :-)

All 18 levels are finished and also play-tested.
The skirmish mode is done as well and should provide enough additional game-play time to warrant charging money for it, IMHO.

The only thing left to do is music. I already contacted some authors of freeware music I like if I could use their creations in my game. Haven't received any confirmation yet…

Screenshots:


If anybody of you wants a free copy of the game, send me your mail address! You'll need a phone or tablet with android >=2.0 :-)
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9412
Location: Not Finland
PostPosted: Fri Sep 16, 2011 2:51 pm    Post subject: Reply with quote

Damn, that was fast! I don't have anything with Android on it, otherwise I'd take you up on that offer.
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Tue Oct 04, 2011 1:53 am    Post subject: Reply with quote

So...

The game is out for three weeks! I wanted to wait until I get some user feedback before I post here. Didn't want to embarrass myself too much...
Reception has been... two-sided. Players either don't understand and/or don't see the fun in it, or they like it a lot! I kinda expected this kind of reaction. Android IS a very casual gaming market after all. And many players want just that! Giving them a game where you make a decision every few seconds seems to throw these types of gamers off.
Overall, it has been a fun experience to create this game and an experiment that payed off, IMHO. If anything, it boosts my CV. And it gets me a small, but noticeable income. Not nearly enough to make a living, but still... First game I make money with!! :-D
In any case, my offer for the free full version still stands. If anybody wants it, just throw a PM at me. :-)
And here are the links to the Lite and Full version in the Android Market:
Planet Wars - Lite Version
Planet Wars - Full Version
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9412
Location: Not Finland
PostPosted: Tue Oct 04, 2011 6:15 am    Post subject: Reply with quote

I might be getting an Android phone soon...
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Fri May 25, 2012 10:20 am    Post subject: Reply with quote

Hey!

I'm not dead, just been very busy with life... lost my job, found my girlfriend, ...

Anyways, Jungle Mayhem was a huge flop, I had no motivation to work on How To Be A Ninja anymore, so... I reworked Planet Wars from the ground up using my trusted libGDX library. That means hardware acceleration, development on my computer (and not on my Android phone) and overall an easier life. :-)

My current plan is to develop Planet Wars further because that's what I am motivated in right now. I already added new levels, eyecandy and might even add multiplayer...
Oh, and I redid the AI! I might also release Planet Wars for the PC at some point!

Anyway, here's a gameplay video:

_________________
My current project: Hook'd
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9412
Location: Not Finland
PostPosted: Sat May 26, 2012 11:43 am    Post subject: Reply with quote

I was on a couple of trans-atlantic flights, and saw a bunch of people with iPads and Android tablets, and most of them were playing games at some point or another. The problem (to me) is that none of them were playing anything even remotely sophisticated -- it was always extremely simple puzzle games: sudoku, crossword puzzles, etc.

Video looks nice n' smooth, though. I think the only way to garner real gaming success on those platforms is to aim for ultra-simplistic things that mirror real-world activities people are familiar with. You can capture segments of the 'gamer' mobile market with popular cross-over titles.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Sat May 26, 2012 2:12 pm    Post subject: Reply with quote

Sirocco wrote:
I was on a couple of trans-atlantic flights, and saw a bunch of people with iPads and Android tablets, and most of them were playing games at some point or another. The problem (to me) is that none of them were playing anything even remotely sophisticated -- it was always extremely simple puzzle games: sudoku, crossword puzzles, etc.

True, I get that feeling as well... :-/ But that's part of the reason I redid the game with libGDX. I can now deploy a desktop version very easily. Only have to do a couple of UI changes and I'm good (mostly). If it doesn't take off on Android, I might start to focus on PC games anyway.
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Tue Dec 18, 2012 6:35 am    Post subject: Reply with quote

I'm officially reviving this project! :)

While the game was mostly finished and IS published on Android for over a year now, I want to tackle something new: Multiplayer!!! :D
I think the game fits very well as a multiplayer game. Besides, I've received many comments that people would love multiplayer support. My long-term vision would be that people across the planet play (dum dum dish!) Planet Wars against each other. In the first iteration I plan on doing local multiplayer (over LAN) only though.

I've already started implementing it and as I suspected, it's kicking my butt! I've never done anything multiplayer before AND the game's current code was never developed with multiplayer in mind. I'm using the KyroNet library and I implement the lockstep approach, which is very common in RTS games from what I've gathered. Step one is making the game completely deterministic, which in itself is quite a task, given the current state.
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9412
Location: Not Finland
PostPosted: Tue Dec 18, 2012 6:51 am    Post subject: Reply with quote

Quote:

Step one is making the game completely deterministic, which in itself is quite a task, given the current state.


I ran into that when I was experimenting with making Inimicus multi-player. The first thing I had to do was set up a Mersenne twister to generate random numbers deterministically. Seems like that defeats the point :) I think what I did was generate ~1000 numbers per round, and pull from that list whenever I needed a random number. Those could be sent to the client (or the seed to gen from) so you could get both to synchronize without having to lock-step. I think. My memory is hazy.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Tue Dec 18, 2012 7:05 am    Post subject: Reply with quote

Sirocco wrote:
Quote:

Step one is making the game completely deterministic, which in itself is quite a task, given the current state.


I ran into that when I was experimenting with making Inimicus multi-player. The first thing I had to do was set up a Mersenne twister to generate random numbers deterministically. Seems like that defeats the point :) I think what I did was generate ~1000 numbers per round, and pull from that list whenever I needed a random number. Those could be sent to the client (or the seed to gen from) so you could get both to synchronize without having to lock-step. I think. My memory is hazy.

Yeah, that's what I do! Fortunately, Java's default random number generator supports seeding and is also deterministic. So I only need to send the complete state plus the seed at the start of the game. During the actual game, I only send the delta time and any actions the player's (and the AI) takes. Works fine so far! :)
View user's profile Send private message Visit poster's website
IMakeGames
Contributor

Joined: 13 Apr 2011
Posts: 499
Location: Austria
PostPosted: Fri Mar 15, 2013 11:12 am    Post subject: Reply with quote

Alright! After many many refactorings, rewrites, bugfixes and other not noteworthy stuff, I think I've done it: I've turned the game's inherently single player architecture into a clean client-server architecture with lockstep updates. The KryoNet library is used underneath (http://code.google.com/p/kryonet/), it's really awesome and has taken quite a lot of work off my shoulders! Even when playing in single-player mode, a server is created and a (single) local client connects to it, similar to many multiplayer-focused FPSs.

But MAN, did I have a rough time getting everything in sync on all clients and the server! I've some pseudo random elements in the game and those where a nightmare to debug. It wasn't seldom that it took me days to find out why the heck the game states started to deviate between clients and/or the sever. >:-( But I hope all is good now!

I've just made the LAN multiplayer skirmish mode available. People with Android devices can now play against each other if they are in the same LAN network. I don't have any money for a dedicated server, so internet play is out of reach for now. But I might look into other possibilities, like multiplayer over... bluetooth. And yes, I think I'm crazy as well! :D
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9412
Location: Not Finland
PostPosted: Fri Mar 15, 2013 11:28 am    Post subject: Reply with quote

Good, good. You've been quiet for a while now; I figured it was a combination of real life and hard work.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Planet Wars

Use this link to get a Sign-On Bonus when you get started!

All trademarks and copyrights on this page are owned by their respective owners. All comments owned by their respective posters.
phpBB code © 2001, 2005 phpBB Group. Other message board code © Kevin Reems.