''Create EXE'' would be a very useful option for pico8!!
from the faq: Binary (Windows, OSX, Linux) exporters are also planned for 1.0 or soon after.
so that doesn't seem that soon.
though I think a free player (without devkit) would do the trick. it could just launch the one cart it finds in the same dir or start splore in local dir mode if there are several.
I'm hoping this does NOT happen - EVER. Once PICO goes to EXE then we'll lose (as a community) the ability to look at the source code.
I'm here not just to play a few excellent games but to LEARN code. I have my own methods which are pretty old-fashioned I must admit, and am eager to learn new coding ideas.
Pico, I hope, will always be open architecture to us programmers. That is, ANYTHING that is written will always have its source code available to others - no matter what.
If you want to make EXEs and go commercial, use another language. If you want to write code in a sharing community that you can always learn from, use PICO.
Not to completely discount you, Makis. I could write a PICO to EXE converter - but I would still write it so it requires you to have purchased and installed PICO.
If you want to write a BATCH file to auto-run a pico file which is a lot simpler, that too can be done.
pico8.exe -run cart.p8 |
@dw817: I agree that there would be a risk of that happening, and that would be a shame.
Perhaps the PICO-8 "Binary Exporter" could force a subtle (but non-removable) menu at the bottom - like the Web Export does by default - so that the source is ALWAYS available?
That way, you could still charge for a game (e.g. if you've spent AGES on it), and people that just wanna play your game can ignore it (if it's subtle enough), but PICO-8 enthusiasts will know exactly what to do to grab the source?
MyTwoCents #ImSureZepsGotAPlan
The Binary exporter could simply do something that could be open with normal licensed Pico8 but not with non licensed.
I don't mind that some games are distributed as Closed Source/non free software (as in free beer).
The web exporter does a pretty good job of obfuscating code already, and that feature has the explicit intention of syndicating games on sites like itch.io. So if there's concern about a rush of people refusing to publish inspectable carts and grabbing mad cash instead, that's both already possible and hasn't happened yet. :) (I'd bet you can pull the source cart from web exported carts pretty easily, though I haven't looked into it personally.)
There are tools for wrapping web apps inside self-contained native apps for the major platforms. See Electron or Nativefier.
so what happens if you export your game to html, put it on itch.io, but don't post the cart around here?
and yes, have the cart encrypted so the source code is available through the devkit only... isn't that already the case with p8.png ?
I think code sharing is more about building a community. I don't think I owe you all of my code and designs because we both bought the same framework. But I'll be glad to help you if you ask nicely.
I can say from limited knowledge that the HTML export looks like it's reversible, but I don't know that anyone has written the tool to do it yet. It's not encrypted, merely encoded: you don't need keys to unlock it, only the basic algorithm. Yes this is similar to .p8.png, with the modest difference that there are already tools to convert a .p8.png to a .p8 or otherwise read its component parts without the dev kit.
It's easy to exaggerate the hypothetical social impact prior to observing it. Given how difficult it is to sell more sophisticated games with or without DRM, I think we can cross that bridge when we come to it with P8. Similarly, the ability to release un-inspectable P8 games with HTML export hasn't yet dried up the community of code and art sharing happening on the forum.
I'd be curious to see if an official iOS/Android/desktop-native exporter would incentivize more sophisticated P8 games via commercial publishing. I don't think we're anywhere near the point where such a capability poses a risk to community resources, and I don't think we need all code to be published to have a healthy dev community.
I like what you're thinking, LiquidDream. A button or menu to always export the source no matter what.
I know this will discourage some people from posting their polished gems, but I would like to believe PICO is and always will be an open community where full source code and its elements are always available.
Wow, Scathe, that is some serious dedication to cracking the code.
Perhaps Zep will make an update that does one of two things.
[1] Remove the ability to port to HTML entirely. By doing this, he can confirm that carts will always and only play on his site (or additional sites of his choice) and that the source and elements are always open to everyone.
[2] If not that, add the ability of when PAUSE is selected (the [ENTER] key), a new option always appears at the bottom, perhaps in an unobtrusive "Extras" menu. If that is selected a new menu appears
-
What is PICO-8 ? (go to main site if selected, encouraging others to purchase PICO so they can then look at the source and elements)
- Export as .p8.png (save .p8.png of this code to HD)
By doing this it will still force people to purchase PICO to look at the code and elements but also protect the code from people who do not have registered PICO installed on their computer. Meaning, you cannot export .P8 code from Online, only .p8.png.
I want this so ZEP can continue to earn a profit by selling the PICO OS, but also not allow others to lock their code from viewing by posting on sites outside Lexaloffle if at all possible.
I'm not sure if you've read the license but it does state:
Javascript and HTML files generated by exporting a cartridge with PICO-8 may be used for any purpose, including commercial applications, and to alter them and redistribute them freely, provided that permission to do so is also granted by the authors of the cartridge. |
If I desire to distribute a game made in PICO-8 by packaging it through something like nw.js which doesn't ship javascript files but instead V8 snapshots, I can. If I wish to further protect my code through the usage of products like Enigma Protector, I can.
I have to largely agree with Scathe, forcing you to publish your code for easy free access just gets rid of a, perhaps indirect, selling point of PICO-8. Code not being easily obtainable would not harm PICO-8 sales, when you buy PICO-8 do you buy it specifically so you could look at the code of games, or do you buy it "for making, sharing and playing tiny games and other computer programs"?
Scathe, I'm referring to PICO. Limited old PICO, 64k for coding, 16-forced unchangeable colors per pixel, 128x128 pixels, limited tile space, mapping, and ... err ... sound and music. There is no reason to try and sell commercial games with these restraints.
No. Now a FUTURE Pico that releases these restraints, Yes - I would VERY much like to see that go big time commercial. Hiding massive source codes that number into 40,000 lines of code or more, being used for strong registrations and purchases.
And the ability for the code to handle MORPG and other powerful online elements.
The BIG TIME PICO could have a resolution of 480x272, a gig of coding space, 256-colors per pixel or outright 24-bit, MUCH faster operating speed, true import of .WAV, .MID, .Mp3, .Ogg audio.
And essentially unlimited space for tiled images. If there was a limit you could have, say, oh, I don't know, 1024x1024 pixels. Same for mapping 1024x1024 ought to be enough, and no problems of the two fighting for the same space.
Really good game programming languages like BlitzMAX allow you to import and compile internally any number of image media files. That includes .GIF, .PNG, .BMP, and .JPG.
PICO is a toy. It's not a serious game programming language when you consider what is out there commercially today, not really. Not when you stack it up against heavy hitting game programming languages like B4GL, BlitzMAX, or even old GFA.
Despite being a toy, it is a powerful learning tool. I have seen some absolutely AMAZING code that may take me months to try and understand.
It shows not what CAN be done in PICO ... but the =POTENTIAL= of what PICO could be.
. . .
This is an interesting topic. Likely some may agree or disagree with anyone's views on this.
Should PICO-8 have its source code available always ?
Will there be an advanced PICO with larger and faster elements designed for marketing serious commercial games in ?
I'm curious to know what others think - and - debate. A good friendly debate. :)
(That wasn't at you Scathe that was at dw817, I personally agree with your views)
Also dw817 you're probably going to find that PICO-8 isn't getting more advanced anytime soon, it's had these specific set of "limitations" since it's very early versions, and hasn't changed very much over the course of new versions. It's a "fantasy console", not some professional game creation studio you're going to use to make the latest and greatest content packed games, there are plenty of other products for that, freeware and commercial.
This is like taking the NES and going, wow this sucks, can you add in more colors and more colors per sprite, more sprites, perhaps bump the resolution a bit, add in some CD quality audio, and tons more storage space, a few hundred KB isn't enough. Or just learn to work with the limitations of the NES and make something that says, wow this is amazing and impressive for what you're working with, great job!
And even if PICO-8 is just a toy, and you feel like people shouldn't even try to sell games made in it, why forcefully stop them? Let them try and we'll see if it works or not, there's absolutely zero need to make it so that this possibility is completely impossible.
I am looking at LOVE and I am only seeing 13-files with one EXE and no IDE or source examples included in the package.
I think we can both agree that Love requires a steeper learning curve and is not so user-friendly and ready-to-run-out-of-the-box as PICO is.
Alright, Scathe. Living up to your name. :) I have noticed and downloaded a few 'retro' games that were written recently, including some odd Atari 2600 carts, written only 5-years ago.
There is a love for the classic OS and retro "feel" to graphics. If people want to pay individually to play individual PICO games instead of the whole wrapper for just $15, they are certainly welcome to.
I will, however, always see PICO as a marvelous and educational learning tool with a powerful and friendly community. Not something to write games in and somehow earn or supplement an income off of the finished carts.
To my knowledge, there is =NO= language like PICO, which is blessed with the following:
-
Has its own IDE.
-
Has its own compiler (to .p8.png).
-
Allows you to upload and see your work immediately.
-
Allows you to download anyone else's work and see it immediately.
-
Allows you to play anyone's work Online or Offline.
-
Allows OTHERS to play anyone's work, including what you wrote, Online for anyone, or Offline if you've purchased PICO.
-
Allows you to post your code immediately Online via the clipboard.
- Critical. Does not force you to install multiple programs just to get the fool thing to work. It literally runs out of the box. This is nothing short of awesome innovation and design. Big props here !
These main elements are why I am here. If there is ANOTHER website or program that offers =ALL= this and an increase in display/audio/coding space/versatility, I may look at it. To my knowledge, there isn't.
PICO-8 is fine as is ... at least for me. I will continue to work on my project and will post it to conclusion in time ... but it will not stop me from dreaming about more powerful Online game programming apps and languages for the future. :)
That's a lot to take in. And yes, I think I was coming across pretty strong myself. But ? Aren't all of us programmers passionate, or we wouldn't be here ? :)
I suppose if people really want to try and sell their 64k PICO games to the general community - they can.
I've just never seen such an easy programming language and interface - heh - I'm almost jealous I didn't write it myself. I did write S2 years ago, but it could never be posted Online with such voracity and speed as this language does allow - and to have the ability for others to try out - literally instantly.
Don't mistake me, I'm getting some good ideas, the concept of cutting and pasting binary code to clipboard is a really neat one I might try to implement if I can get my code size smaller.
I might suggest to ZEP that he can compress his clipboard data to be even smaller (and likely harder to decrypt) if he uses the following table, and he should know exactly what I'm talking about.
"0123456789-+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
I'd toss a FILO scatter engine in that above as well for good measure. :)
I suppose it is a little selfish to believe that everyone will (or must) share their source. For every program I've ever written through the years, business or entertainment, once I reached the age of 16, I never charged for any of them fully believing that FREEWARE is the way to go.
Before then, I was marketing and selling games to Call A.P.P.L.E. and earning a bit of a profit at that for a 12-year old. Grin
As for growing up around computers. I was 10-years old when Dad got the T.R.S. 80 Model I, Level I, 4k, audiocassette. And at that point after typing out, "Fire When Ready Gridley," and running it. I was utterly mesmerized and amazed by what I saw. I realized then I was destined to be a computer programmer.
http://willus.com/trs80/?-a+1+-p+126050+-f+1
You'll see even the T.R.S. 80, from nearly 40 years ago had a full QWERTY keyboard.
Well, Scathe, maybe you could PM me (so as not to derail the subject anymore than =I= have) and suggest some additional game programming languages that are ready-to-run-out-of-the-box as PICO is.
AHEM !
But back on topic, the original question was, can PICO-8 be made into an EXE ?
And the short answer is yes, and if there are no takers, I could write a compiler myself for it with little difficulty as I've dabbled quite a bit in taking source code from S2 to make EXEs with them.
PICO would be no different - but you would not be bypassing the PICO logo or startup sound in a cart, that would always be in there.
And yes, BlitzMAX has an onboard LZX compressor so the EXE could be mega-compressed as well with no ability to glean the source from the single EXE except by the very initiate into compression and encryption methods.
I stir a mean chili pot of encryption. :)
As for interest in my cart. Thanks ... every little bit helps. I've already planned another one, I think it'll be a big hit - but ... I need to finish this one first.
Thing is, why encrypt it? A pirate will only check where your "DRM" is that keeps the game from running. There where discussions on several platforms, old and new, already where folks thought that, for having a commercial product, they need their sourcecode to be encrypted and whatnot. Nope. Just a copyright notice and call it a day, it will be copied anyways.
The energy you put into protecting your game is better spend in giving folks a benefit from buying it instead of pirating it. Or the right price, only hardcore pirates and folks with no money will pirate a game for 5€. Because the time you need to invest to pirate it is more than simply clicking the Paypal buy button. :)
Look at Minecraft for an example of a game that even benefited from being "decompiled". Without the possibility of such there would have been no hMod, no Canary, no Forge, no Bukkit, ... and no myrads of servers using that stuff. And you know what the kicker is? Folks did not pay for the game perse, they paid to be identifiable on a server. They paid for their identity, so that they can say "Yep, i am MickeyMcMiner and this is my stuff!".
Yes, you can obfuscate your code so that Mister Script "I steal others code because i can't code for dung" Kiddy can't check it out. The others know already how to code and can even read the obfuscated one. Heck, i work in Antivirus and here folks get paid to look at the code of malware so that it can be found and removed. And these can be a real PITA to decode, even with IDA Pro and tons of custom tools.
@bastetfurry: but this is not about drm at all. there's no doubt some really good games can be made on pico8. there's no reason for all of them to be free and open source.
[Please log in to post a comment]