Advertise with Googlier.comLÖVE • Community Blogs - interview
http://blogs.love2d.org/blog-terms/interview
enLövely Interviews - Midipixel on Warlock's Tower
http://blogs.love2d.org/content/l%C3%B6vely-interviews-midipixel-warlocks-tower
<div class="field field-name-field-blog-term field-type-taxonomy-term-reference field-label-inline clearfix"><h3 class="field-label">Blog Terms: </h3><ul class="links inline"><li class="taxonomy-term-reference-0"><a href="/blog-terms/interview">interview</a></li><li class="taxonomy-term-reference-1"><a href="/blog-terms/ygor">ygor</a></li><li class="taxonomy-term-reference-2"><a href="/blog-terms/werther">werther</a></li><li class="taxonomy-term-reference-3"><a href="/blog-terms/midipixel">midipixel</a></li><li class="taxonomy-term-reference-4"><a href="/blog-terms/warlock">warlock</a></li><li class="taxonomy-term-reference-5"><a href="/blog-terms/tower">tower</a></li></ul></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><div>In Lövely Interviews, I interview developers of LÖVE and LÖVE games. Today the LÖVE game <a href="http://store.steampowered.com/app/530370/">Warlock's Tower</a> by <a href="http://site.midipixel.com/en/">Midipixel </a>was released on Steam. I interviewed Ygor and Werther from Midipixel on the development of Steam's newest LÖVE game.</div>
<div><img alt="" src="http://i.imgur.com/nRZOH2Z.png" style="font-size: 14px; width: 220px; height: 220px;" /><img alt="" src="http://i.imgur.com/QByy92g.png" style="width: 220px; height: 221px;" /></div>
<div>
<hr /></div>
<div> </div>
<div><strong>Tell us a bit about yourself. Who are you and what do you do?</strong></div>
<div>We're <a href="http://site.midipixel.com/en/about/">Werther and Ygor</a>, two guys in their thirties, a musician/artist and a programmer, respectively. With our powers combined we make Midipixel, a Brazilian indie game company now existing for three years in a row. We make indie games, obviously, although we've done client work in the past. We participate in game jams as well (<a href="https://twitter.com/GBJAMofficial">GBJam </a>is our favorite) and the occasional experiment here and there. We're also part of a Rio de Janeiro collective of indie game developers called RING.</div>
<!--break-->
<div> </div>
<div> </div>
<div><strong>How did you learn about LÖVE, and what was it that made you start using it?</strong></div>
<div> </div>
<div>I first heard about it while I was doing my Computer Science M.Sc. at <a href="http://www.puc-rio.br/index.html">PUC-Rio</a>. PUC-Rio is where Lua was created, and having fell in love with the language there, LÖVE seemed a pretty easy to get into framework. I started doing some prototypes while working at my previous company (Nano Studio, which Werther was also a part of) and things always moved fast. I quickly discovered to be really productive using Lua and LÖVE.</div>
<div> </div>
<div><img alt="" src="http://i.imgur.com/jAB6sg1.png" style="width: 460px; height: 215px;" /></div>
<div> </div>
<div> </div>
<div><strong>Congratulations on releasing Warlock's Tower! Where did it all begin, and how long did it take you to make it?</strong></div>
<div> </div>
<div>Thank you! By the time of this writing, Warlock's Tower is not yet released, so here's hoping nothing bad happens until then! It all began in October, 2014. Having just been released from a two-month hospital stay and feeling like life is short, I decided to use some of my recovery time to hack one of our old ideas. The first prototype was done in a week, I guess. We were pretty happy with it, sent it around to friends and family and everyone seemed to be having fun solving its puzzles. During 2015, however, we started doubting the project's potential and almost dropped it for another prototype of ours, but then November came and Warlock's Tower won two <a href="http://sbgames.org/">SBGames</a> awards, one of Brazil's major game development festivals, one for "Best Game Design" and another for "Best Developing Game". That was the sign we needed. We resumed working on the game and 2016 came and went as we spent most of it dealing with publishers (we talked to two of them before signing with <a href="http://www.whippering.com/">Whippering</a>, who currently publishes us), finishing the game's content, mobile ports and adding a Twitch integrated play mode. Whew! </div>
<div> </div>
<div> </div>
<div><strong>What is the most important thing you've learned when creating Warlock's Tower?</strong></div>
<div> </div>
<div>Jeez, there are a lot of important things I learned while making this game! But I guess the most important one is: be an active part of the whole. I used to foolishly think that just by making something I was entitled to receive attention and praise for it. That by the sheer amazingness (if only!) of the thing I was creating, people would discover my work and recognize my effort and throw money at me. People will pay you attention, they will give you their time, but you need to reach out to them. Share screenshots, show how your game is evolving. Go to events and festivals, be a part of your local game developer gatherings (or start one yourself.) All the opportunities that came our way started with us making some sort of reaching out. If we hadn't submitted Warlock's Tower for the SBGames, we wouldn't have won. If we hadn't being posting screenshots of the game on Twitter, we wouldn't have been found by publishers, and pretty much no one would know about our game by now.</div>
<div> </div>
<div><img alt="" src="http://i.imgur.com/ObybtSm.jpg" style="width: 500px; height: 281px;" /></div>
<div> </div>
<div> </div>
<div><strong>Was there a part/feature you really struggled with when creating Warlock's Tower?</strong></div>
<div> </div>
<div>Sure. One of the big ones was making the controls work for the mobile platforms. At first we tried a touch and drag approach, but the game's so movement focused that we couldn't avoid adding an onscreen directional pad. We also struggled to make our players understand the game's rules through the GUI. Warlock's Tower's interface was overhauled twice during development. A single (but very important!) rule regarding how gems restore your character's health was the sole reason for the second remake. We do have an incredibly better GUI today, but the sad part is that, honestly, we haven't felt that it particularly improved player's comprehension. It's a tough rule to explain through the GUI without having it heavily interfering with the game's experience. </div>
<div> </div>
<div> </div>
<div><strong>Warlock's Tower is your biggest game yet. Did the scale of the project change your approach on programming or design?</strong></div>
<div> </div>
<div>Yes! Maybe every new project should challenge one's old, tested approaches, be it in programming or design. Warlock's Tower evolved in a more organic fashion, as I imagine happens in some way or another for every larger software project. Programming-wise, maybe due to LÖVE's lightweight, more library receptive architecture, I included more external libs in this project than I'm used to, which wasn't so much a deliberate change of approach but a production necessity. However, this proved fruitful, and I'd feel inclined to do this again working with LÖVE. Using Lua for a longer project certainly changed the way I code and think about code, somehow, and I'm sure many of its cool features will be sorely missed as soon as we start working again with more constrictive technology. In the end, it seems that Warlock's Tower changed me more than I changed for Warlock's Tower.</div>
<div> </div>
<div> </div>
<div><strong>Do you already have plans for your next game, and if so what can you tell us about it?</strong></div>
<div> </div>
<div>All game developers (all creatives, really) have piles of ideas towering around, and we're no different in this sense. We have a favorite idea which we have been discussing for some time, but since it would lead us to another longer project, we most likely aren't going to be able to tackle it right away. We also need to evaluate Warlock's Tower's response, learn from its release before we can decide on where to go next. We have several jam games which certainly could become full projects in the future. We also had an interesting time implementing Warlock's Tower's Twitch features, and both Werther and I fondly consider making our next game a stream first game.</div>
<div> </div>
<div><img alt="" src="http://i.imgur.com/ENTZMt2.png" style="width: 500px; height: 355px;" /></div>
<div> </div>
<div><strong>Is there anything you really wish would be added/changed to LÖVE?</strong></div>
<div> </div>
<div>When I talk to people about LÖVE I usually say that its two weaknesses are 3D and cross-platform support. The first one is obviously not a weakness (since the framework is also called Love2d), but the second one really makes a difference nowadays when selecting a framework/engine. I'd love if making mobile LÖVE games were easier and if there were console ports available.</div>
<div> </div>
<div><strong>Thanks for answering all the questions, is there anything you would like to tell the readers?</strong></div>
<div> </div>
<div>Well, if any of you want to contact us, feel free to do it! Check out Warlock's Tower's <a href="http://midipixel.com/warlockstower">website </a>if you wanna know more about the game. Oh, and we're really active on Twitter, so if you wanna keep in touch, follow us there: <a href="https://twitter.com/ysperanza">@ysperanza</a> and <a href="https://twitter.com/w_midipixel">@w_midipixel</a>. We're constantly talking about games and we'll love to meet you there!</div>
</div></div></div><div class="field field-name-field-addthiswidget field-type-addthis field-label-hidden"><div class="field-items"><div class="field-item even"><div class="addthis_toolbox addthis_default_style addthis_32x32_style " addthis:title="" addthis:url="http://blogs.love2d.org/content/l%C3%B6vely-interviews-midipixel-warlocks-tower"><a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_google_plusone_share"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_facebook"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_hackernews"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_reddit"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_twitter"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_"></a>
</div>
</div></div></div>Tue, 31 Jan 2017 19:13:48 +0000Sheepolution53 at http://blogs.love2d.orghttp://blogs.love2d.org/content/l%C3%B6vely-interviews-midipixel-warlocks-tower#commentsLövely Interviews - bartbes
http://blogs.love2d.org/content/l%C3%B6vely-interviews-bartbes
<div class="field field-name-field-blog-term field-type-taxonomy-term-reference field-label-inline clearfix"><h3 class="field-label">Blog Terms: </h3><ul class="links inline"><li class="taxonomy-term-reference-0"><a href="/blog-terms/interview">interview</a></li><li class="taxonomy-term-reference-1"><a href="/blog-terms/bartbes">bartbes</a></li></ul></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>In Lövely Interviews I interview developers of LÖVE and LÖVE games. And this time we interview bartbes. Together with <a href="http://blogs.love2d.org/content/l%C3%B6vely-interviews-slime">slime</a> he is one of the main developers of the LÖVE framework.</p>
<p><img alt="" src="http://i.imgur.com/hthrHtF.jpg" style="width: 90px; height: 81px;" /></p>
<hr />
<p><strong>Tell us a bit about yourself. Who are you and what do you do?</strong></p>
<p>Starting off with the hardest question, I see. I'm <a href="http://me.bartbes.com/">Bart</a>, a long-time LÖVE<br />
developer — since <a href="https://www.love2d.org/wiki/0.6.0">0.6.0</a>, if memory serves — and otherwise boring student.</p>
<!--break-->
<p> </p>
<p><strong style="line-height: 1.5;">H</strong><strong style="line-height: 1.5;">ow did you learn about LÖVE?</strong><strong style="line-height: 1.5;"> </strong></p>
<p>I'm not really sure, but I <em>think</em> this happened as a result of the game Crysis. See, Crysis came with an editor for the <a href="http://www.crytek.com/cryengine/cryengine2/overview">CryENGINE 2</a>, which used Lua. After playing around with the existing code, tweaking it a bit, and generally messing around with the editor, I googled for game engines using Lua. Yes, it was that simple.</p>
<p>I should probably mention that it wasn't my first foray into programming, I started with QBasic on MS-DOS, and then later went on to (primarily) C++ programming. Using LÖVE was like a breath of fresh air, since all "games" I had made until then were text-based, and in 3 lines of Lua I had a window displaying "Hello, world".</p>
<p> </p>
<p><strong>Together with slime you're the biggest contributor to the LÖVE framework. Why did you start contributing and what kept you going?</strong></p>
<p>I started contributing because... I'm not sure, actually. I think I heard <a href="http://blogs.love2d.org/content/l%C3%B6vely-interviews-rude">rude</a> and/or mike saying they were looking for help coding, and considering I knew C++, LÖVE was (and is) written in C++, and I was a cocky teenager, I volunteered. And it worked, I guess.</p>
<p>As for what kept me going, I'd say it was probably a combination of free time (I was in high school at the time), fun and necessity. It was quite interesting to go from knowing how to get a compiler to accept your C++ code to knowing how a game engine works, I suddenly got to see everything from graphics to input to audio on a clean, readable codebase. I feel like these days I'm familiar with what goes on in most of LÖVE, but I've read ahead and will go into that in the next question. I also mentioned necessity, which I'm using fairly loosely here, but that was about the time that mike stopped contributing, and when rude had less and less time to work on LÖVE. I'm sure LÖVE would have been fine without me, but knowing I could easily become a driving force behind the project was a good motivator.</p>
<p> </p>
<p><strong>Are you and slime both specialized in certain modules/features or can you find your way through the whole codebase?</strong></p>
<p>I'd say I could probably read and modify everything, and I have probably read most code at some point. Partially this is because I have modified or authored a decent part of it, or have worked on code that interacted with it, partially it's because I've been doing this for years, and LÖVE's codebase isn't actually that big. That said, I know slime knows OpenGL much, much better than I do, so I'd say I know love.graphics the least, and I usually leave graphics-related things to her. Don't tell her, but it's also because I'm lazy.</p>
<p>From what I can tell, slime feels the same, she's had her fingers in a lot of pies too, including the SDL pie. I'm not sure how she feels about modules I've written from scratch, like love.thread and love.video, but she is not someone to back away from a challenge.</p>
<p> </p>
<p><strong>Does LÖVE still have lots of work left or are you at the point where you really have to seek for what you could work on next? What are you currently working on?</strong></p>
<p>That's a hard question. As most people know, it feels like your work is never done, it's just "good enough". Though with love.video, and the upcoming microphone input (see <a href="https://bitbucket.org/rude/love/pull-requests/68">raidho's pull request</a> for more information), there's nothing major that comes to mind.</p>
<p>I never have to look for what to do next, since I don't think the bug tracker has been empty in <em>years</em>, and in the limited time I spend on coding, I try to tackle whatever bug seems interesting at the time.</p>
<p> </p>
<p><strong>Is there a feature that is currently not in LÖVE simply because none of the developers so far have an understanding on how to implement it? Have you ever searched for help to get a feature made?</strong></p>
<p>Audio input has (had) that problem: if I remember correctly <a href="https://bitbucket.org/bmelts/">bmelts</a> had a working prototype a few years ago, but it turned out it only worked on his machine.</p>
<p>I think love.video used to be a prime example, but we've persevered! I don't think Twitch still has them archived, but I did a lot of research and experimentation for love.video on <a href="https://www.twitch.tv/">twitch.tv</a>. I didn't necessarily reach out to a person, but I ended up looking at a lot of example code, bad documentation and even library source code to get that working. Most of the time when I can't solve something myself, there's two resources that help: Google and slime.</p>
<p>That's not to say it has never happened, ports are a good example. meric (then appleide) ported LÖVE to OSX, and I'm sure that played a role in asking him to join, though that was before my time. Similarly, <a href="https://bitbucket.org/MartinFelis/love-android-sdl2/wiki/Home">fysx' android port</a> was something we probably wouldn't have done ourselves, and he too was asked to join. Come to think of it, maybe that's the secret to joining… I'm sure those rituals had nothing to do with it.</p>
<p> </p>
<p><strong>When working on LÖVE, was there a bug that you had a special grudge on?</strong></p>
<p>No specific ones, but garbage collections or race conditions are always fun. Especially garbage collection race conditions! Any bugs we can't reproduce are also up there.</p>
<p>Interestingly, I kind of like the extremely specific bugs, the weird edge cases. Those usually expose some flaw in your logic, where you were sure that value can't have been 3 at that point, but your tests undeniably prove it can.</p>
<p> </p>
<p><strong>Is there a LÖVE feature that you are extra proud of?</strong></p>
<p>When I read this question, love.video was my first thought, but I've talked about that enough and there's something else that I think is actually really cool: love.run.</p>
<p>Why love.run? Because it shows the simple and customisable nature of LÖVE. If you use the default love.run, you get a hello world in 3 lines. But there's no reason you need to use the callbacks as we defined them. There's no reason you need to handle events in the main thread. You can change LÖVE's main loop without a problem. boot.lua — which is the file love.run lives in in the repository — shows to me that in essence LÖVE is a library. You can pick and choose, modules are fairly loosely coupled, and you can load it into an existing lua program. And somehow we tie this together into a coherent framework/engine using lua, rather than C++.</p>
<p> </p>
<p><strong>D</strong><strong style="line-height: 1.5;">o you have any plans or hopes for the future of LÖVE?</strong></p>
<p>"Plans? Where we're going, we don't need plans!" pretty accurately describe LÖVE development. There are bugs, intentions and release dates.</p>
<p>What I would like to see is more users. It still feels wrong that media and industry seems to ignore us. Obviously I live in a LÖVE bubble, and it's probably fair, but I'd like to be at the point where LÖVE <em>is</em> well-known. Something <em>completely</em> unrelated: if you work for a big games company, and you like LÖVE, spread the word!</p>
<p> </p>
<p><strong>Anything you would like to tell all lovers (LÖVE users)?</strong></p>
<p>Don't fall in the engine-making trap, you'll never release games again!</p>
</div></div></div><div class="field field-name-field-addthiswidget field-type-addthis field-label-hidden"><div class="field-items"><div class="field-item even"><div class="addthis_toolbox addthis_default_style addthis_32x32_style " addthis:title="" addthis:url="http://blogs.love2d.org/content/l%C3%B6vely-interviews-bartbes"><a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_google_plusone_share"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_facebook"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_hackernews"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_reddit"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_twitter"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_"></a>
</div>
</div></div></div>Wed, 26 Oct 2016 13:55:55 +0000Sheepolution52 at http://blogs.love2d.orghttp://blogs.love2d.org/content/l%C3%B6vely-interviews-bartbes#commentsLövely Interviews - Maurice from Stabyourself.net
http://blogs.love2d.org/content/l%C3%B6vely-interviews-maurice-stabyourselfnet
<div class="field field-name-field-blog-term field-type-taxonomy-term-reference field-label-inline clearfix"><h3 class="field-label">Blog Terms: </h3><ul class="links inline"><li class="taxonomy-term-reference-0"><a href="/blog-terms/mari0">mari0</a></li><li class="taxonomy-term-reference-1"><a href="/blog-terms/stabyourself">stabyourself</a></li><li class="taxonomy-term-reference-2"><a href="/blog-terms/interview">interview</a></li></ul></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>In Lövely Interviews, I interview developers of LÖVE and LÖVE games. This time I'm interviewing Maurice from <a href="http://stabyourself.net/">Stabyourself.net</a>, who is known for creating the Mario/Portal mashup: <a href="http://stabyourself.net/mari0/">Mari0</a>.</p>
<p><img alt="" src="http://i.imgur.com/eyPXuoP.jpg" style="width: 140px; height: 147px;" /></p>
<hr />
<p><strong>Tell us a bit about yourself. Who are you and what do you do?</strong></p>
<p>We are a two-man developer team, that is Sašo and me, Maurice. Sašo does anything website and hosting related while I program all the games. He also helps me with bouncing off ideas.</p>
<p>We make games for fun that you can download from our website for free. It's not about making money but instead creating something that people will enjoy and maybe be surprised by.</p>
<!--break-->
<p> </p>
<p><strong>Mari0 was actually how I learned about LÖVE! How did you learn about LÖVE, and what was it that made you start using it?</strong></p>
<p>I think someone in the <a href="https://facepunch.com/forumdisplay.php?f=240">Facepunch programming forums</a>, which I used to frequent, was making a project with LÖVE, and I was looking for a more capable game engine than <a href="https://www.autoitscript.com/site/autoit/">AutoIt3</a> or the Warcraft 3 Map Editor at the time. A good friend of mine was a very skilled Lua programmer working a lot with <a href="http://www.garrysmod.com/">Garry's Mod</a> so I figured it might be a good idea to learn more about LÖVE and Lua.</p>
<p> </p>
<p><strong>Mari0 might be the most popular LÖVE game to date. Where did it all begin, and how long did it take you to make it?</strong></p>
<p>It began like a lot of prototypes, where you go "Hey, I wonder if I can program a platformer". I started programming away in January 2011 on it using Super Mario Bros as a base because historically it was one of the first games to really nail the movement mechanics.</p>
<p>After some time when the game was starting to resemble SMB, I started looking into what can be made out of it, thinking of making a multiplayer game like the recent .io games (<a href="http://agar.io/">agar.io</a> and <a href="http://slither.io/">slither.io</a>) or turning it into an HD port like Sonic 2 HD.</p>
<p>Neither really got anywhere because of my inexperience with netcode and unsuccessful attempts at finding an artist.</p>
<p>But then <a href="http://www.dorkly.com/">Dorkly </a>made a video about <a href="http://www.dorkly.com/video/14583/dorkly-bits-mario-with-a-portal-gun">SMB with a portal gun</a> and I thought "Hey I can actually make that!". That was in April 2011.</p>
<p>A couple of months later in March 2012 Mari0 was released, so it took just over a year of on-and-off programming.</p>
<p> </p>
<p><strong>What is the most important thing you've learned when creating Mari0?</strong></p>
<p>It's difficult to please everyone, especially when you make the development process as open as we did. People have different ideas of what should be in the game and you have to be able to maintain your own vision.</p>
<p>If I had listened to every idea we got, Mari0 would be an mmo with guns and Sonic side characters.</p>
<p> </p>
<p><strong>Was there a part/feature you really struggled with when creating Mari0?</strong></p>
<p>Probably the most requested feature, partly due to my fault of showing an unfinished version of it, online multiplayer. Combining a lack of experience with netcode and an already far into development game made adding network play a real pain for us. Someone I know actually offered to write the online part into the game but ultimately failed due to the client heavy way the game was written. In the end we had to completely abandon the idea, much to the dismay of youtube commenters.</p>
<p>I think online play in a complex game such as a platformer has to be included from the very beginning, otherwise you set yourself up for rewriting half your game.</p>
<p> </p>
<p><strong>You have a <a href="http://forum.stabyourself.net/viewforum.php?f=13">Modding board</a> on your forums. Was Mari0 programmed to be mod-friendly? And if so what did you do different to achieve this?</strong></p>
<p>There's nothing in Mari0's code that makes it particularly mod friendly. It's just the openness of the code and engine that inspired people to mod the game.</p>
<p>There was going to be an update to Mari0 which included moddable enemies and entities which was actually pretty cool (There's a short blogpost about it <a href="http://blog.stabyourself.net/post/35343642433/custom-enemies-for-mappacks">here</a>).</p>
<p>I think the best idea is to program things as modular as possible and then allow elements to be loaded from a folder. Anyone interested in modding will figure out how to use it to their advantage.</p>
<p>For more advanced types of modding, I assume you'd have to put hooks into your game like Garry's Mod does it, but I have no experience with that. It's definitely something that's worth looking into though.</p>
<p> </p>
<p><strong>With LÖVE you also created Ortho Robot, a game where you "bridge the gap between 2D and 3D games". Wouldn't it have been easier to create this game with a 3D framework/engine?</strong></p>
<p>Probably. It would also add more features; my crudely programmed 3D engine allows no roll-rotation on the blocks and I had issues with the draw order when the player moves between blocks. Like many of my games it was a "Can I program something like that?" thing.</p>
<p>I'd love to get into a new "more serious" engine such as Unreal or Unity, but I just can't find the time or motivation to do so.</p>
<p> </p>
<p><strong>Is there anything you really wish would be added/changed to LÖVE?</strong></p>
<p>I think with the recent Android and iOS ports, the only platform left for LÖVE to support is web. It would be really cool if I could upload quick prototypes (or full games) on the internet and allow people to play them without any installation or download.</p>
<p>Other than that I'm very happy with the way the LÖVE-team is handling development of the engine.</p>
<p> </p>
<p><strong>I</strong><strong>n my interview with rude he talked about one of your games, <a href="http://stabyourself.net/trosh/">Trosh</a>. Is there a story behind this explosive game?</strong></p>
<p>Trosh is actually one of the users from our forums, and at some point I got into a kind of exchange with him where he'd send me something in the mail, I'd send something back and so forth. At some point I decided to send him a link to a game that I was gonna program while the mail was underway, which put me under some time pressure but I think the game came out alright. And that's how Trosh was made.</p>
<p> </p>
<p><strong>Are you working on a new game at the moment, and if so what can you tell us about it?</strong></p>
<p>I have one project that I think has potential, but I'm not nearly far enough to show anything. I'm trying to get back into actively making games because making Mari0 and the other games was a lot of fun, but it's hard to find the motivation to do so next to my regular programming job.</p>
<p>The past few months I've also been working on a game we showcased at our yearly Gamescom appearance, <a href="http://stabyourself.net/superbattlearcade/">Super Battle Arcade</a>. You can watch a video of an older version <a href="https://www.youtube.com/watch?v=mPS2SXLBV_8">here</a>.</p>
<p> </p>
<p><strong>Thanks for answering all the questions, is there anything you would like to tell the readers?</strong></p>
<p>I think games are something really special, as there's no other hobby I can think of that allows you to share your work as easily and accessible as game programming. So don't be afraid to show what you've made and don't be afraid to try out new things.</p>
</div></div></div><div class="field field-name-field-addthiswidget field-type-addthis field-label-hidden"><div class="field-items"><div class="field-item even"><div class="addthis_toolbox addthis_default_style addthis_32x32_style " addthis:title="" addthis:url="http://blogs.love2d.org/content/l%C3%B6vely-interviews-maurice-stabyourselfnet"><a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_google_plusone_share"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_facebook"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_hackernews"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_reddit"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_twitter"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_"></a>
</div>
</div></div></div>Thu, 08 Sep 2016 16:05:32 +0000Sheepolution51 at http://blogs.love2d.orghttp://blogs.love2d.org/content/l%C3%B6vely-interviews-maurice-stabyourselfnet#commentsLövely Interviews - slime
http://blogs.love2d.org/content/l%C3%B6vely-interviews-slime
<div class="field field-name-field-blog-term field-type-taxonomy-term-reference field-label-inline clearfix"><h3 class="field-label">Blog Terms: </h3><ul class="links inline"><li class="taxonomy-term-reference-0"><a href="/blog-terms/interview">interview</a></li><li class="taxonomy-term-reference-1"><a href="/blog-terms/slime">slime</a></li></ul></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>In <strong>Lövely Interviews </strong>I interview developers of LÖVE and LÖVE games. And this time we interview slime, who is the biggest contributor of LÖVE, with over <a href="https://bitbucket.org/rude/love/commits/all?search=slime">1300 commits</a>.</p>
<p><img alt="" src="http://i.imgur.com/IDLbg6J.png" style="width: 90px; height: 90px;" /></p>
<hr />
<p><strong>Tell us a bit about yourself. Who are you and what do you do?</strong><br />
<br />
Hello! I’m <a href="http://twitter.com/slime73">Sasha</a>. I’m a software developer currently working in the <a href="http://www.hb-studios.com/">games industry</a> in Nova Scotia, Canada. I’ve been contributing to LÖVE’s development in my free time since around the end of 2012. I’ve also made a few games using LÖVE, and I’m a regular contributor to the <a href="https://www.libsdl.org/">SDL library</a>, which is used extensively by LÖVE.</p>
<!--break-->
<p><br />
<strong>How did you learn about LÖVE?</strong><br />
<br />
I first heard about LÖVE back in 2010. I believe there was a post on the programming subreddit about LÖVE 0.6.2, which caught my interest because at the time Lua was the only programming language I knew. I had been making Lua addons / scripts for <a href="https://www.vendetta-online.com/">Vendetta Online</a>, an indie space MMORPG. <br />
<br />
I actually knew the LÖVE developer <a href="https://love2d.org/forums/memberlist.php?mode=viewprofile&u=317">bmelts </a>from the Vendetta Online community before I knew about LÖVE, but I didn’t know he was one of LÖVE’s developers until after I joined the LÖVE IRC channel!<br />
<br />
I hadn’t done any sort of game development or real programming outside of my Vendetta addons before starting with LÖVE. The first thing I made with it was a Pong clone which wasn’t very visually impressive, but I had a lot of fun learning about the basics of games when making it.<br />
<br />
<br />
<strong>With over 1300 commits you've become the biggest contributor to the LÖVE framework. Why did you start contributing and what kept you going?</strong><br />
<br />
I wanted to learn C++ and I had an interest in OpenGL, and I was also very active in the LÖVE IRC channel at the time. I had some ideas about feature and performance improvements that I wanted to see in LÖVE, so I learned bits and pieces of the LÖVE codebase and submitted a few patches and pull requests… and now here we are.<br />
<br />
I ended up really enjoying the combination of several things that contributing to LÖVE’s codebase provides: learning and writing code that interacts with system-level APIs such as OpenGL and SDL (and OS APIs since I also contribute to SDL’s development now), designing functionality that fits in with LÖVE’s preexisting philosophy, working with graphics APIs like OpenGL, and working on something which gets feedback and use from a large community.<br />
<br />
That last point is probably the most important to me. I definitely would not have put so much time into LÖVE if it weren’t for the community, so, thank you!<br />
<br />
<br />
<strong>When working on LÖVE, was there a bug that you had a special grudge on?</strong><br />
<br />
I think bugs inside graphics drivers have been the most frustrating for me, since I have practically no control over when (or if) they’re fixed, I can’t rely on them being fixed on a user’s machine even if a new driver comes out, they’re usually annoying to debug, and they generally require ugly workarounds in LÖVE’s code... if a workaround is possible at all.<br />
<br />
<a href="https://love2d.org/forums/viewtopic.php?f=4&t=81496">Here’s one example</a> of a graphics driver bug which I had to figure out a workaround for.<br />
<br />
The issue of stutters when in windowed mode on some systems (especially when using Windows) is also annoying, since I don’t know of a way to solve or work around it in LÖVE’s or SDL’s code. You’re probably seeing a pattern in my frustrations by now. :)<br />
<br />
<br />
<strong>Is there a LÖVE feature that you are extra proud of?</strong><br />
<br />
The OpenGL ES 2 graphics backend code I wrote unofficially for 0.9 and officially for 0.10 ended up enabling a lot of other people to port LÖVE to other platforms, which has been really cool to see.<br />
<br />
Some examples of LÖVE ports that rely on it are <a href="https://love2d.org/forums/viewtopic.php?f=12&t=33357">LÖVELINESS </a>(a now-defunct NaCl / Chrome port of 0.8.0 created by a Google employee), fysx’ unofficial Android port of 0.9 which is now part of 0.10, my iOS port of 0.9 which is also now part of 0.10, <a href="https://love2d.org/forums/viewtopic.php?f=12&t=80038">T-Bone’s port</a> to Metro / WinRT / Windows Phone, and <a href="https://love2d.org/forums/viewtopic.php?t=81736">Tanner’s web port</a> of 0.10 via Emscripten.<br />
<br />
<br />
<strong>You seem like a very skilled programmer. Do you have any advice for people who want to become a programmer, or programmers who want to improve?</strong><br />
<br />
There are many different ways to learn and improve at programming. I think it’s important to figure out the most enjoyable and best way for you (the reader) to do that, which may be different from someone else’s preferred way. Some people thrive by seeking out information and experimenting completely on their own. Others learn best within the type of environment that schools and universities provide. Or anything in between those two extremes.<br />
<br />
A lot of people, myself included, have a hard time committing to and following through on a completely self-developed project - whether it be for learning or otherwise. As I mentioned earlier I started contributing to LÖVE partly to learn, and I think finding an open source project, preferably one you already know about as a user, and figuring out ways you can contribute to that is a very good way to improve your programming skills.<br />
<br />
You’ll have an existing codebase written by others you can look to, there will often be plenty of opportunities to tackle small problems in order to get your feet wet, and most importantly an active open source project will have other people who can help you and whose own goals are similar to yours.<br />
<br />
All that said, following a self-developed project through to completion is a skill of its own. There is a lot to be learned after the first 90% of a project’s development… when you’ll be doing the final 90%. ;)<br />
<br />
<br />
<strong>Do you expect to see LÖVE 1.0.0 happen in your lifetime?</strong><br />
<br />
Personally the “1.0” version tag doesn’t actually mean a whole lot to me, it’s all pretty arbitrary. 0.10.0 could have been labelled 1.0, or 2.0, or 10.0 if we had decided – and maybe a future major release will skip 1.0 entirely and/or change versioning schemes, who knows!<br />
<br />
I consider LÖVE to have been ready for use in complex 2D commercial games since around 0.8.0 or so, and 0.10 has been very stable so far. All of the minor (0.X.0) version releases in the past few years have had breaking changes but not complete overhauls of LÖVE at a fundamental level, and I don’t see that changing in the future.<br />
<br />
<br />
<strong>Do you have any plans or hopes for the future of LÖVE?</strong><br />
<br />
I have outlined some of my ideas <a href="https://love2d.org/forums/viewtopic.php?f=3&t=81457">on the forums</a> and on the <a href="https://bitbucket.org/rude/love/issues?status=new&status=open">Bitbucket issue tracker</a>, plus I have some more far-fetched and less fleshed out ideas knocking around in my head – I often think about how various APIs (especially in love.graphics) might be changed to provide better performance or to make them more powerful or more intuitive to use. Only some of those thoughts ever come to fruition or end up being worthwhile ideas, though.<br />
<br />
Beyond that, It would be super awesome to see more people contribute to LÖVE’s development. Since I currently have a full-time job in the games industry, I have a lot less free time than I used to that I can spend programming (and I usually split that time between LÖVE and SDL too). I also consider my own thoughts on LÖVE’s features and code pretty limited in terms of perspective, so having more people from different backgrounds working on LÖVE could only improve it in my opinion.<br />
<br />
I think LÖVE has already been extremely successful at carving out a niche for itself that isn’t filled to the same degree by anything else, but it still has room to grow and improve and I hope there are more people out there who want to help make that happen.<br />
<br />
<br />
<strong>Anything you would like to tell all lovers (LÖVE users)?</strong><br />
<br />
Don’t forget to like, subscribe, and comment… wait a minute.<br />
<br />
Seriously though, thank you for using LÖVE and being a part of this community! I hope everyone enjoys using it as much as I enjoy working on it.<br />
<br />
The forums are a great place to ask questions and post about what you’re working on. I and many other knowledgeable folks are active in the IRC channel at #love on irc.oftc.net as well - don’t be afraid to hang out there and chat about LÖVE things. I bounce ideas for new features off of other people there all the time!</p>
</div></div></div><div class="field field-name-field-addthiswidget field-type-addthis field-label-hidden"><div class="field-items"><div class="field-item even"><div class="addthis_toolbox addthis_default_style addthis_32x32_style " addthis:title="" addthis:url="http://blogs.love2d.org/content/l%C3%B6vely-interviews-slime"><a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_google_plusone_share"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_facebook"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_hackernews"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_reddit"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_twitter"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_"></a>
</div>
</div></div></div>Thu, 01 Sep 2016 12:32:10 +0000Sheepolution50 at http://blogs.love2d.orghttp://blogs.love2d.org/content/l%C3%B6vely-interviews-slime#commentsLövely Interviews - rude
http://blogs.love2d.org/content/l%C3%B6vely-interviews-rude
<div class="field field-name-field-blog-term field-type-taxonomy-term-reference field-label-inline clearfix"><h3 class="field-label">Blog Terms: </h3><ul class="links inline"><li class="taxonomy-term-reference-0"><a href="/blog-terms/interview">interview</a></li><li class="taxonomy-term-reference-1"><a href="/blog-terms/rude">rude</a></li></ul></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>In <strong>Lövely Interviews </strong>I interview developers of LÖVE and LÖVE games. We start off this series with <strong>rude</strong>, the creator of LÖVE.</p>
<p><img alt="" src="http://i.imgur.com/3HWjypS.png" style="width: 90px; height: 90px;" /></p>
<hr />
<p><strong>Tell us a bit about yourself. Who are you and what do you do?</strong><br />
<br />
Yes, well, I am <a href="http://love2d.org/wiki/User:Rude">rude</a>, the original creator LÖVE. These days I don't actually work on the code anymore (though I might resume at some point), but I still do all the design related work, e.g. the new icons, the no-game screens (e.g. Super Toast), the website design, etc. At least I do that eventually, after I get enough harassment from <a href="http://love2d.org/wiki/User:Bartbes">bartbes</a> and <a href="http://love2d.org/wiki/User:Slime">slime</a>.</p>
<!--break-->
<p><br />
I do definitely exist in real life as well, but I prefer not to talk about that. I must remain shadowy and mysterious. The menace must remain phantom.<br />
<br />
<strong>Can you tell us about how LÖVE came to exist?</strong><br />
<br />
Actually, I don't remember how it started. Possibly it was just a challenge to myself. If someone forced me to make up a story, however, it could be something like:<br />
<br />
Well, I was looking for a free 2D-centric game framework that was easy to get up and running, and that would work on all platforms without too much hassle, but I couldn't find any. There were many engines and frameworks available, but they were too focused on 3D, which made the API unattractive for use in 2D games. So I began to work on my own API; a glorious world blissfully ignorant of the z-axis, where the children could finally laugh and play freely, both as in beer, and as in freedom. *single tear*<br />
<br />
And so forth.<br />
<br />
<strong>What was Mike's role, and why did he leave?</strong><br />
<br />
Yes, he was (well, is, since he's not dead) the co-author of the original code. He worked on lots of stuff all over the place, like fonts (ImageFonts were his idea), ParticleSystem, and other stuff. He also worked on the love.gui module, which ultimately wasn't released.<br />
<br />
He didn't exactly "leave" in some dramatic incident, his interest just faded I guess. Or his interest faded because I was too bossy. Although you should probably ask Mike about that.<br />
<br />
<strong>How did you decide on the name LÖVE?</strong><br />
<br />
Software at the time (2006-ish) seemed either very serious (Visual Studio Professional), or attempted be all badass (UNREAL ENGINE). I hated that, so I wanted to come up with a very non-serious and anti-badass name that evoked fuzzy warm feelings of fun, happiness, etc.<br />
<br />
After a brainstorming I no longer remember clearly, "Love" (umlautless) surfaced somehow, and thought it was a perfect fit right away. I assumed, of course, that there was already some game-related software called Love out there (because every name is already taken in every context, no matter how ridiculous), but I couldn't find any. There wasn't even a Debian package called "love", which amazed me.<br />
<br />
When I understood that I could be the one responsible for making this a reality:<br />
<br />
$ make love<br />
$ man love<br />
$ apt-get install love<br />
<br />
There was of course no turning back.<br />
<br />
Later, when I designed the logo (the curvy LÖVE text), I added the umlauts on a whim since I decided that something was missing from the logo. That's how it became LÖVE. I also added a sarcastic copyright symbol to the logo, although that is removed now.<br />
<br />
<strong>Why did you choose Lua as the framework's language?</strong><br />
<br />
The main reason was that it was easy to embed the VM.<br />
<br />
Initially, LÖVE used <a href="http://www.swig.org/">SWIG</a>, which is a way to generate a scriting API from C/C++ code. There was a vague plan to allow multiple languages (i.e. generate multiple scripting APIs using SWIG), but that was dropped eventually, since the API produced by SWIG was too ugly. Today the API/bindings are made by hand.<br />
<br />
I vaguely remember trying to embed some other JS-like scripting language, but I don't remember the name, and it doesn't seem to exist anymore. The name had "Monkey" in it, I think.<br />
<br />
<strong>LÖVE doesn't have tilemaps, UI, Camera, etc. The Animation object was even removed. Why do you choose to keep LÖVE to the basics like that?</strong><br />
<br />
"High level" things are (for me) mostly just in the way, and never work quite the way I need for a specific case. It's really easy to create a high level component which seems nice, but in reality is too inflexible for many cases, leaving lovers to develop their own e.g. tilemap component anyway, feeling sad that the built-in component is just uselessly standing there. So it's better if such things are made as third-party Lua libraries, so they're easier to modify or extend.<br />
<br />
Also, there is an unwritten "emergent" guideline, which says that things which can be easily done in pure Lua should be done in pure Lua. This is affecting the API a bit, I think.<br />
<br />
By the way, I don't exactly closely oversee LÖVE development at the moment, so it's not like I vigilantly enforce some principle in the LÖVE API, like your question might imply. It's the consensus of the LÖVE-dev hivemind that takes care of that.<br />
<br />
<strong>Your last code-related commit was in 2014. Why did you stop working on LÖVE?</strong><br />
<br />
Hmm ... I don't know!<br />
<br />
You would perhaps expect me to answer that I don't have time anymore, but actually, I do have time. So I should totally get back into it.<br />
<br />
Of course, I don't really need to, since dem young'uns (bartbes, slime, <a href="http://www.fysx.org/">fysx</a> and others) got it covered.<br />
<br />
<strong>Do you have any plans or hopes for the future of LÖVE?</strong><br />
<br />
LÖVE is already way more popular than I ever thought it would be. And also 'apt-get install love' is a reality now, so I don't see where we could possibly go from here.<br />
<br />
<strong>Is there anything you would like to tell all lovers (LÖVE users)?</strong><br />
<br />
I regularly lurk the Games and Creations (formerly Projects and Demos) subforum (and other places), and it's so cool and impressive to see what people are making. I often think: "what?! I didn't know that was possible in LÖVE!".<br />
<br />
Some games also really make me laugh, like that game where you are first flying horizontally, battling unicorns or something, then flying vertically battling your way through stuff until you get to space, and finally explosively landing (back on the ground) in a cinematic pose, wearing sunglasses. Unfortunately I don't remember the name of this game (if anyone does, please post a link in the comments).<br />
<br />
So, definitely keep it coming, lovers.</p>
</div></div></div><div class="field field-name-field-addthiswidget field-type-addthis field-label-hidden"><div class="field-items"><div class="field-item even"><div class="addthis_toolbox addthis_default_style addthis_32x32_style " addthis:title="" addthis:url="http://blogs.love2d.org/content/l%C3%B6vely-interviews-rude"><a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_google_plusone_share"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_facebook"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_hackernews"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_reddit"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_twitter"></a>
<a href="http://www.addthis.com/bookmark.php?v=300" class="addthis_button_"></a>
</div>
</div></div></div>Thu, 16 Jun 2016 10:52:34 +0000Sheepolution48 at http://blogs.love2d.orghttp://blogs.love2d.org/content/l%C3%B6vely-interviews-rude#comments