Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Battle Chips Beta

edited April 2012 in Beta Posts: 1,255

I don't think I've taken advantage of thing 1 in the beta... But I did take advantage of the export.

http://devilstower.posterous.com/battle-chips-01

Still many, MANY, bugs and the tourney section is missing. So it's less a game than a proof of concept.

Tagged:
«1

Comments

  • SimeonSimeon Admin Mod
    Posts: 5,364

    I was playing this today and it's really good. The programming it a lot more intuitive than I was expecting - and some of your UI ideas are brilliant, like the way you change the instruction parameter on a command.

    Note that the Cargo-Bot sprites are only available in the beta so your graphics might look different to non-beta users. I am thinking of including the game and sprite pack in a future update.

  • Posts: 2,161

    Mark, when you update the code please remember to repost the codea export. It's a really useful shortcut.

  • Posts: 1,255

    @Simeon, I changed the version in general release to use generated backgrounds and dropped the Cargo-Bot sprites. Thanks for alerting me!

  • Posts: 447

    how about teams of bots? Like a red team vs a blue team and you each can code up to five different bots (or for that matter, 100 bots vs 100 bots).

    Would allow for more complexity.

  • Posts: 1,255

    @ruilov, sounds neat... but man, I'm still coming up with the structures to support the tourney page, and that's just a four bot brawl.

    I like the idea of giving the bots a series of challenges. How about this: the bots are probes being landed on a strange planet. You must teach them to navigate, collect minerals, avoid dangers, and search for alien life. (that said, I'll probably clean up the battling bots idea first)

  • SimeonSimeon Admin Mod
    Posts: 5,364

    That sounds really awesome, @Mark. Exploring a strange planet with programmable robots is really appealing. Especially if the planet(s) are procedurally generated (reminding me of your Flight Simulator project).

  • Posts: 384

    I'm having a lot of fun playing this! I noticed a bug where a radar call to shoot the laser is happening too late, after the bit has turned again. See the smart spinning bot - it detects a bot but fires 90 off :) sorry I haven't looked through the code yet, it's so playable.

  • Posts: 159

    @Mark Sounds good - I remember playing Starwars Droidworks back in the day which was kind of similar. You built robots, collected parts, and in each level you sent out one of your robots to complete a mission. The difference there was that you directly controlled your robot, but their mobility / abilities changed depending on the parts you put together.

  • Posts: 1,255

    New version up on posterous.

    o Fixes order of execution issues

    o Adds a "random" chip that fires 50% of the time

    o Four way melee tourney enabled

    o Misc. bug fixes, minor changes and UI polishing

    From here, my major goals are enabling the one on one tourney and refactoring the code. I'm still planning to tone down laser damage, and reversing out of the arena is still possible.

    After this is nailed down, I'll look at applying the same engine to Space Chips.

    http://devilstower.posterous.com/battle-chips-03

  • BortelsBortels Mod
    edited April 2012 Posts: 1,557

    "space chips"?

    I'm already interested.

    Please say its Battle Chips but with spaceships.

    I have ulterior motives. Such a beast might mesh nicely with a project I've been working on...

    http://pic.twitter.com/bkZIo4uO

    This is basically a networked multiplayer space explore/combat game (in progress, very early). One thing missing (as of right now) is ship combat - the idea being ships fight each other based on your preset commands - and your job on a strategic level is to get your ships into combats they'll win based on the orders you've given. I really hadn't decided how to work the combat AI - but battle chips (or a space variant) may be perfect. I love the concept of programming behaviors in based on the role you want the ship to play (unarmed freighter? Run! Fighters? Swarm the capital ship, and so on).

    Edit: ah, I see it above. That sounds fun TOO. :-)

  • Posts: 1,255

    @Bortels, I love space strategy games in the Spaceward Ho! / Master of Orion 4x area. It would be great to find a way to merge that sort of play with simple programming. Maybe replace micromanagement with microcode.

  • Posts: 447

    @Bortels, so you'd program bots ahead of battle and then during battle you choose which bots to use? I don't think I heard anything like that before, sounds very cool

  • Posts: 1,255

    Wonder if you could borrow some of the mechanics of a trading card game? Maybe even get the code elements themselves as resources that would allow you to build better, more complex ships.

  • Posts: 384

    @Mark that would be excellent... If the chips were finite resources that would add to the challenge. I wonder if we run the risk of quickly coming to an optimised set of bots that everyone will use, unless the complexity is broadened with more options or program length.

  • BortelsBortels Mod
    Posts: 1,557

    The game is like an old play-by-mail or bbs game - everyone gives orders using the client: build factories, move this ship there, transfer cargo, and so on. Then, the server-side code resolves the results of all of this simultaneously at some known time - planetary population grows, taxes are collected, factories actually get built, crops grow, ships move, and where hostile forces are in the same area, combat is resolved.

    You don't actually control combat, any more than you control a football game you watch (or, more to the point, battle chips). But you control, or try to, the circumstances of combat - you want to avoid fights you can't win, and engage with inferior forces.

    I was going to give ships a simple "stance" - attack, or escort, or defensive, or flee - but I love the concept of letting you program your own behaviors with a battle chips type of interface. I also dig the concept that you might have to build your own chips - so simple behaviors are cheap, but a complex or large battle program might be harder to build, or have more difficult-to-obtain chips. This is the case already for engines/weapons and so on, or was - moving the concept to chips seems logical. Indeed - the "fire laser" chip might be the actual laser represented, and part of the coding might be dragging around components. The possibilities are endless.

    I'm very open to suggestions - right now, I'm still doing infrastructure things like making time pass and ships move. I've used lua both client-side (obviously) and server-side, with the intent that the actual battle-resolution code (when it exists - right now it's "bigger total mass wins") be used on the server for actual combat resolution, and on the client side for both battle simulation and displaying the actual combats (each battle gets a seed for the RNG, so you can replay them).

    Talk about thread hijack! My apologies I've been keeping mum on this because it uses features of the beta (http.get, for both graphics fetch and turns) heavily - no point in being public about something that might never see the light of day. But sometimes I just gotta share.

    The server side code is up on github already - ill put the client up soon (identity is hardcoded - need to fix that first so I can share)

  • BortelsBortels Mod
    edited April 2012 Posts: 1,557

    Back to Battle Chips - I'm seeing different behavior of a bot I wrote in tourney mode than I do normally.


    1 forward 2 bump 4 3 goto 1 4 turn left 5 forward 6 bump 8 7 goto 5 8 turn left 9 fire laser 10 turn left 11 fire laser 12 turn right 13 goto 9

    1-3 seek the wall, then it turns and 5-7 seek a wall, ie now a corner. we then turn out of the corner, and swap left/right, firing a laser down both walls.

    This works when I try it out normally - but in tourney mode, it seeks the first wall - then goes to it's firing animation. (I see bump also happens when you bump a bot - but this happens when no other bots are near)

    PS. it might be nice to be able to differentiate bumping a bot (Fire!) or bumping the wall.

  • Posts: 1,255

    @Bortels, your game sounds great. I realize the code for Battle Chips is currently pretty shaggy, but feel free to grab anything that might help.

    I coded up your bot and I'm seeing exactly the same issue you are. So... Hmmm. No idea why this is happening. Time to find out.

  • Posts: 1,255

    BTW, since I'm sure that 1.4 will be ready before I knock the kinks out of this, I'm planning on letting people save their bots as little card-style images which can be exchanged, with the program for the bot encoded in the graphic.

  • BortelsBortels Mod
    Posts: 1,557

    lol - that's cool. Some good way to exchange bots is clearly needed - doing it as a grap with encoded data like a barcode or QR or such is just neat. :-)

  • Posts: 384

    @Bortels, I made the same robot as you... :). I called it Sentry... And noticed the same bug in Tourney mode, as if the bump chip had already been triggered once.

  • Posts: 1,255

    @Bortels & Fred-- I found it. The .bounds frame around robots wasn't getting defined until after the first step, since they were all 0,0,0,0 the collision routine dutifully reported an overlap so every robot was starting with its bump sensor positive.

  • Posts: 384

    Ah hah! Thanks @Mark! I'm having fun with the random one, can make for some erratic movements!

  • Posts: 1,255

    0.40 now up.

    Includes repeat chip, full screen tourneys, graphical changes, bug fixes, and a rough draft of the trading facility that will allow swapping robots as images.

    http://devilstower.posterous.com/battle-chips-040

  • BortelsBortels Mod
    Posts: 1,557

    Getting better every time.

    Tourney mode needs a button to end the current battle, but continue the tourney - in many of the matches, it's clear they've reached a stalemate.

    Re balance: I'm inclined to think the weapon fire is too "cheap" - a viable strategy is simply to rotate and fire like a madman, waiting for other bots to stumble into your line of fire. Likewise, moving when you aren't taking fire is generally a mistake - its too easy to wander into a line of fire and get toasted. I'm thinking we need some sort of limiting factor - either a cooldown, or some small amount of damage you take when you fire, or ammo, or reducing range - something to emphasize looking and moving. also, maybe a "radar" that shows if you are facing a bot or the wall.

  • edited April 2012 Posts: 1,255

    Example of a bot encoded as an image.

    card

    Trouble is, while I can easily push these out (to Dropbox) and I have the code to decode the image, I can't think of how to allow the end user to import them.

  • SimeonSimeon Admin Mod
    Posts: 5,364

    You could use http.get to fetch them from a tweet, perhaps?

  • BortelsBortels Mod
    Posts: 1,557

    I'm not sure you need to - safari and email should both allow cut and paste to work to get them into a spritepack, no?

    But yeah - http.get for ease. The problem is easy urls. If you ran your own server-side service it'd be easy. But then you have hosting and such. Github, perhaps, along with client-side caching (which is what I'm doing for my game). With github, people could push them to you...

  • BortelsBortels Mod
    edited April 2012 Posts: 1,557

    Mmmmm... Thinking about it, really - the camera. Have one iPad display it, big, and take a picture with the other.

    Yes, I just hand-waved away a ton of issues with orientation and registration. I'm like that.

  • Posts: 1,255

    @Bortels, it's easy enough for me to get them into a sprite pack. Tougher to think how the player might handle it.

    About the only solution I can think of that doesn't involve typing out URLs is to set up a web site, and I don't want to do that. I want the little graphics to be ubiquitous, something you could add to your email signature. But I'm lost on what happens from there. Someone sends you an email and within Battle Chips (not the Codea dev environment) you.... What?

  • BortelsBortels Mod
    Posts: 1,557

    Ah - well, that makes it more open. Depends on how much non-codea you want to implement:

    Bluetooth? A proximity thing could be cool.

    I like decoding from the photo roll, or from the camera. If you go there, I'll bet somewhere there's a standard QR-code decoding library.

    I wonder if that sort of data could come in a push notification...

    register a ".battlechip" type with the ipad, then have URLs with that filetype open in Battlechips (like the .codea type opens in codea now?)

    Consider NOT using a graphic, but an encoded text string - then use cut and paste.

    The more I think about it, unless you do "take a picture to import", the best bet is some sort of central website. That way instead of url, it could simply be the bot name. I know you don't want that overhead, but a website would enable you to extend it in interesting ways, including win/loss tracking and a leaderboard.

  • SimeonSimeon Admin Mod
    edited April 2012 Posts: 5,364

    @Mark I was thinking more along these lines:

    You use Twitter's API to download the json data for searching for the #battlechips tag. It gives you a bunch of tweets. You take the ones with image links and download the images. You present all the visual cards to the player so they can select the bot they want straight in the app.

  • Posts: 447

    how about apple's game center? I've no idea how that works but seems like a natural place to share.

    Also interested in this discussion as I'm thinking about how to allow people to create and share cargo-bot levels

  • edited April 2012 Posts: 1,255

    The sort of experience I'd like to see would fall along these lines...

    Export

    User taps an item in the application to be exported and is given a choice of where to send it -- Dropbox, Photo Library, Twitter (via Twitpics or equivalent) or email. It's dispatched as an image or attached image, with appropriate name and metadata.

    Import

    User taps the import symbol or button in the app and is given a choice of sources: photo library, Dropbox, Twitter, or web site. Once that choice is made, they get a display of available images, touch the one they want, and it's imported. Bonus points if the images can be filtered by properties such as name, width, or metadata.

    I'm not thinking of this as a way to save actual Codea code, or elements to be used in building apps, but as a way to exchange information within Codea apps. Even a small image can encode a lot of info. Heck, I could actually encode all the properties of the bots in Battle Chips, program and all, into an image less than the size of one letter in this text.

    This sort of design supports ubiquitous use of the images. It lets people attach a little stamp-sized image to an email just on the chance that one of the recipents might make use of it (like an IM to come look at someone's Farmville farm, only less obnoxious). It would support web sites dedicated to such images, or casual transmission of a single image.

  • SimeonSimeon Admin Mod
    Posts: 5,364

    One problem with services like Twitpic is that it might be recompressed or resized. Lossy compression may be something good to deal with (e.g. something error correcting like a QR code for the data).

  • Posts: 2,161

    Had an idea about something not quite so combative. A long time ago, I was involved in a First Robotics competition where the robots had to gather boxes from the arena. This could be the goal of battle bots: to gather boxes scattered around the screen to their "home". Firing at other bots could freeze them temporarily.

  • Posts: 1,255

    As it happens, the FIRST world championship was in St. Luois last week, about a block from where I stop to plug in my electric car. I got a chance to talk to some of the kids and show them battle chips.

    The best idea I've had so far is to come up with a series of events: robo-skeet, maze navigation, tag...

  • Posts: 384

    @Mark, like an Olympics for robots, great!

    And you have an electric car... Cooool. :)

    @Andrew_Stacey, nice idea for competitive resource gathering.

  • Posts: 1,255

    A question for folks here in beta land...

    I do want to get Battle Chips in shape for the the app store, but I also realize that it's several steps away from being ready. Proud as I am of the clean procedural drawings, they're a long way short of professional quality artwork. I have to implement all the remaining tasks for the robots, which I believe I can handle, but building a mechanism to neatly save and trade bots may involve building a web site. Besides, if I'm really going to play developer, I'll need a support site. The artwork and the web site are probably beyond me, at least in any reasonable period of time.

    So here's the question. Or rather, questions:

    1) is it reasonable to expend effort getting this to the app store?
    2) is it worth an investment of perhaps $10-20K in services to get there?
    3) what you think about taking this to Kickstarter? Would a movie of the current version be enough to gather some interest there? (I was thinking I could offer to name the built in robots after those who contribute funds.)
    4) IF this ever gets to the App Store... what should it sell for?

    Thanks.

  • Posts: 1,255

    And by the way "nope, this geeky little thing would never attract a dime" is a perfectly acceptable answer.

  • BortelsBortels Mod
    edited May 2012 Posts: 1,557

    I'm crazy cheap. Keep that in mind.

    Had is seen this as what I suspect you'd hit the app store with, I might just spend the buck. If it was free with IAP (for what? Dunno), it'd be a no-brainier. I frankly like this more than cargo bot, all due respect (but I likes my games explodey). If it was more... It depends a lot on the looks, frankly. I was (am!) ready to spend 10 bucks on gratuitous space battles if they ever offer it in the US...

    I'd think long and hard about more than a buck or so. Not that it might not be worth more - simply because you'd rather have 100 $1 sales than 15 $2 sales, or 2 $5 sales.

    The nice part about kickstarter is you risk little but embarrassment - and the idea of naming bots after big contributors is saucy, I like it!

    I think it's definitely worth getting it to the app store, even free without trading, if only for the bragging rights and "oh yeah, punk, look what i did.

    If you go kickstarter, some of the first few hundred bucks should go to artwork - put some starving-but-creative art student in top Raman for a month and get them some credits. If you do it right, servers can be pretty cheap, relatively.

  • Posts: 447

    @Mark I think keep your goals small and incremental, and keep going while you're having fun with it.

    If this stuff is fun for you, then why not take your time learning about how to make a website, artwork, etc? And at the same time building your skills, may come to be useful later.

    What do you think you'd spend 10-20k on? One alternative to raising/spending money is try to pair up with someone with complementary skills. Everyone here on the forum seems super excited about this project.

  • BortelsBortels Mod
    Posts: 1,557

    Your hosting costs will depend very much on traffic - more traffic will require bigger instances. if you keep the server-side requests lightweight, it's very possible to pull this off for a few tens of dollars a month, or even free (most providers - heroku, and google apps for sure - have a "free" low level instance that's actually plenty powerful for many purposes). And if you did something really creative (I liked @Simeon's suggestion of tweeting!), it may simply be free.

    @ruilov is also right about complimentary skills - Server-side programming is what I do. Make a nice clean description of the data you are looking at storing/retrieving, and... well, let's see what can happen.

  • Posts: 1,255

    @Bortels & @ruilov, many thanks.

    I was basing those numbers on my experience from books and comics publishing more than any experience in game publishing. While I do have game credits that go back to the Apple II, TI 99/4 dark ages, most of the cost of cranking out a game in those days was packaging (and that classy seven at a time cassette tape duplicator that I still have). There's been such a change in the system since then I don't think any of my experience applies.

    However, I have recently tried to revive some of my long out of print books (for example, http://www.amazon.com/Devils-Tower-Mark-Sumner/dp/034540209X ) and for this project I contracted with some artists and designers. My experience was that art elements could quickly boost the cost of a project. Also, while I have done server side coding in both Java and Ruby I... just don't like it. Over the years I must have written hundreds of client-side apps, but the disconnected nature of web coding bugs me. So, art because I'm not capable, server coding because I'm not willing.

    I love the idea of building a team to see this thing through rather than begging for dollars. This has been a great dev community, and if there are people with the interest and skills who could help carry this project over the goal line, I'm all for that approach.

  • Posts: 384

    Hi @Mark, yes I think this should make it to the app store. I don't know whether, as an investment, you would make a mint. But as @ruilov says, it is worth doing as a learning experience. Setting aside hosting or design costs, the main cost will be your time, especially if you do it all yourself. If there are things needed that you could happily entrust to others, then I think you should team up. I'm open to a contribution...

  • edited May 2012 Posts: 159

    @Mark I really like the idea, and think it may be worth pursuing. I can see that it would however be a lot of work to turn it into something of the quality you'd probably want! :) I'd be interested in helping out if you needed it, although my skills are more coding-based (although I do have some artistic tendencies :) ) and I don't know if you have need for another programmer?

    I mentioned in your other Battlechips thread that I'd had a similar idea a number of weeks ago, although my thoughts for implementation and the way it played were fairly different. I don't know if you'd want to have a discussion though and compare notes? It may be that we'd have different end-goals :)

    And finally - if you did have a go at making this into a fully-fledged App Store game, I have to ask: would you be planning to stick with Codea for the full game, or just for prototypes?

  • BortelsBortels Mod
    Posts: 1,557

    4.8 out of 5 stars - not bad! :-) Why don't you (or Del Rey?) make those available as an ebook? Being an author of an out-of-print book has got to be a bit annoying...

    Back to battle chips - keep in mind, I haven't DONE the below, so I may be talking out of my proverbial keister:

    One of the big changes since the olden days is that packaging and distribution are basically zero cost - you pay your $100 a year to Apple, and your 8 bucks for Codea is already spent.

    Is advertising in the budget? I suspect the first few apps to come out of Codea will get a nice halo effect from the "designed and built on the ipad" thing, if you do it soon you'll get some of that.

    Server price has also dropped thru the floor - if you're careful, again, you might be able to get to zero, and even if not, it's cheap today. The server side programming could be an issue, but one of the big expenses is web client design - and your program itself is that. The backend engine... well, If I'm guessing correctly as to what you would need, it's an evening to set up. I don't think you need heavyweight, frankly. (I keep coming back to twitter - It may fill both a server/database role AND an advertising role for you...)

    The final real expense (other than your time, which is free, ha!) is art, and the old saying usually holds true - "you get what you pay for". HAVING SAID THAT - I am the eternal optimist, and I'm reminded of the pitch Steve Jobs made to John Sculley: "Do you want to sell sugared water for the rest of your life? Or do you want to come with me and change the world?" - Battle Chips is just good enough you may find someone who likes to draw robots, and is drawing them anyway, and is looking for immortality (or at least something for the portfolio) - I'm not kidding that for many a starving art student, a couple hundred bucks is THE TREASURE OF SIERRA MADRE, not to mention proof they have the chops.

    I'll bet you could get this in the app store, with reasonable art, a year of prepaid hosting, and your apple app-store developers tattoo (or whatever they do) for $500 and have money left over. The really big expense (programming, and time) you've already provided (and are providing) for free.

    Will you make a million dollars? no. certainly not. Might you make a few grand? I think that's very possible, and a fine reward for something you weren't really doing to make money anyway, right? And who knows, it could take off...

  • SimeonSimeon Admin Mod
    Posts: 5,364

    Agree with everything @Bortels has said. We very rarely invest more than our own time into our own apps. Hosting for your game can be free or very cheap to start with (using something like Google App Engine or Amazon). If you get popular then you can scale — and if you're popular you would likely be able to have your product pay for its own server costs.

    You could even take a look at art styles that are more programmer friendly — something like GeoDefense, which is all glowing vector lines and over-the-top particle effects. That can look quite good. I think @John has already shown how to do a glow effect in Codea in another thread.

    The best thing about Battle Chips is that it's not just an idea. It's a working prototype. You'll be able to get people interested just by showing them. The fact that you've come this far makes it seem much more likely to get finished.

  • BortelsBortels Mod
    Posts: 1,557

    Yes - you should BE so popular that scaling is an issue! :-)

  • Posts: 1,255

    Thanks, all.

    I think the obvious action at this point is to just keep plodding. Keep refining, adding, tightening and refactoring to make the core experience as enjoyable as it can be. I'm actually quite fond of the procedural graphics on the coding screen and don't think I'll make a lot of changes to the design there. However, the bots themselves, bot design screen, and main screen/arena all need an overhaul. I'm thinking that even for the plain bot on bot action, I need to make the area larger and more varied, which will obviously require changes in the "chips" to support remote complex behavior.

    On the design side, I'm changing it so that each bot has a budget, and you can choose from different level components in treads, lasers, radar, and armor to optimize design with code.

    The biggest sections where I'm just at a loss are these:

    1) It's clear I need sensors that return numerical values. Not just "yes, you've hit a wall" but "how far to the nearest wall or bot?" or "what is my Y position?" But how do I fit that into the drag and drop chip code layout? (Oh wait, as I write this, I think I have an idea... but it may not work so please send along anything you can think of).

    2) Saving / Loading. This is the big one. I like the "trading card" or "bot stamp" idea that would allow bots to be traded as images, but honestly have no idea how it could be implemented at the moment. I, as the developer, can access Dropbox or the photo library, but I can't see how to expose that to the user. That's why I've been assuming that http is where I'll end up... but I still have really no good concept for what a save / load interface would look like that doesn't require the user to type in a string.

    If anyone has an idea on either of these, I'd very much appreciate it.

    Thanks again for the good advice.

    Oh, and @Bortels, I don't have an out of print book. I have 34 out of print books. Prolific, but poor, that's me.

Sign In or Register to comment.