Penjin Video Tutorials


PokeParadox

Founder of Pirate Games - Penjin Coder
Staff member
Joined
Dec 8, 2005
Messages
6,603
Age
40
Location
UK
Website
pokeparadox.itch.io
WEBSITE
https://github.com/pokeparadox
YOUTUBE
pokeparadox
Greetings peoples!


I've been a little quiet on the dev front recently due to trying to reunite my family(My wife and son are all the way over in Chile, South America) and obviously all my efforts, time and money is going towards getting them here with me.


In any case, I've had some minutes to rub together now that I have crossed more things off of my lists of things to do and so I'm starting the "Penjin Video Tutorials"!


You can download the RAW MP4 files, I offer webseeded torrent too, so this is the preferred download method. Please help seed.


I will try to keep the first post updated as further episodes are uploaded.


Official Penjin Video Tutorials Page
 
Last edited by a moderator:
Thx, PokeParadox.


BTW. Can You post these tut's on filehosts like RS / FileSonic / WUPLOAD as well?
 
I can make a downloadable version sure, I'll just upload to my webspace though.


Edit: Post updated, direct and weebseeded bittorrent links added, created official wiki page for videos too.
 
Last edited by a moderator:
I'm trying to torrent - it says


Seeds: 0 of 0 connected (1 in swarm)


Peers: 0 of 5 connected (0 in swarm)


Not really sure what that means (in terms of who I can connect to, and why I'm not connecting)


I'll leave it going, see if it picks up whilst I'm out :)
 
Video Tutorial 02 Added!


Torrents... I'm looking into it worked for me testing, but I suspect I may need to forward a port or something. But it doesn't make sense, since the webseed should kick in when I can't seed...
 
Still had no luck, so I've downloaded off the web and plonked them in my bittorrent folder to seed, and I'll watch them when I get home.


I'm looking forward to trying Penjin.


Currently my favourite gaming lib is Allegro 5, but that's not available on the Pandora yet (AFAIK), and I'm open for better options :)
 
Last edited by a moderator:
Well I setup my own tracker, hopefully this might help the BT situation. Either redownload the torrents or add


http://94.171.171.80/bt/announce.php


To your trackers (it should be the first tracker)


EDIT: Well it seems that's not helping things... I can see peers trying to connect, but they don't actually start a transfer... I'm not sure what's going wrong here... If anyone has any ideas on how to get BT downloads working that would be helpful, in the meantime, feel free to use the direct links if you need the actual file. (Or use a YouTube downloader)
 
Last edited by a moderator:
I left it on for days, and it still never seemed to seed. Really odd.


Thanks for the videos, I'm looking forward to getting into the real penjin stuff as I have a project in mind :)
 
I left it on for days, and it still never seemed to seed. Really odd.


Thanks for the videos, I'm looking forward to getting into the real penjin stuff as I have a project in mind :)

Well I'm not entirely sure why it's not working... but... if anyone else wants to attempt to create the torrents, you can just add the direct download as a webseed and I'll add the torrent links on the page, I will seed too obviously. I don't know why my self made torrents are not seeding, whatever I do... :/


So anyone want to help me out with the torrent situation?


Also I'm going to try and get video 3 recorded today, so hopefully another video will be online soon!


EDIT: Thanks Farox for the heads up on the bad link!
 
Last edited by a moderator:
OK, an update for those waiting for part 3.


Recording is finished. I just need time to edit it and I need to do ADR (i.e re-record some sound) for some parts since something glitched up.


So ETA 1-3 days


It probably could have been ready today if I didn't get a phone call in the middle of recording one part...


EDIT: More ADR was done... need to do the last part of video and then editing and then final encode and the upload... so ETA 1-2 days!
 
Last edited by a moderator:
I'm finally getting around to running through these. My install didn't go quite the same as yours, maybe because I downloaded a newer Ubuntu, I had to install g++ in addition. Compiled the SDL in the end.


3rd video, however, I followed all the instructions up to the point I installed RabbitVCS. According to the package manager, I have the Rabbit VCS installed, but I don't get the context menu options for it.


Any ideas?


Cheers
 
Yeah the problem is the new Ubuntu 11.10 is running gnome3 and RabbitVCS currently requires Gnome2 with it's nautilus2... So yes it's the newer version of Ubuntu that's to blame.


You can either install Ubuntu 11.04, or install eSVN(seems quite nice GUI) or check out via commandline or... wait until RabbitVCS release their Gnome3 compatible version!


So hopefully that helps, I haven't scrapped the video series, in fact, I recorded the next episode last Thursday... sound recorded fine, got first part of pong example finish in about 40 minutes... then I watched the video back ready to edit it and... it was a flickery horrible mess... sigh. I suspect I'll have to turn 3D settings off, etc to get a decent capture. Hopefully I can try again this Thursday...
 
Thanks for that. I installed eSVN, but that didn't give me any "programs" to run from the menus. I did install RapidSVN though, however, that failed with some unacceptable command MKACCEPT or something like that. So I just used the command line.


I'll have another play when I get home later.
 
Really, it would be more straigth forward to enter apt-get install subversion and svn co ... to the commandline than installing another program for it and use the commandline for adding the packagesource anyways...
 
Really, it would be more straigth forward to enter apt-get install subversion and svn co ... to the commandline than installing another program for it and use the commandline for adding the packagesource anyways...

It's all horses for courses... some people prefer commandline, others prefer a GUI. RabbitVCS really is as awesome as TortoiseSVN, it's just the latest updates to gnome in Ubuntu have broken it.

Thanks for that. I installed eSVN, but that didn't give me any "programs" to run from the menus. I did install RapidSVN though, however, that failed with some unacceptable command MKACCEPT or something like that. So I just used the command line.


I'll have another play when I get home later.

ALT+ F2 and then type esvn and voila! For some reason it didn't add a menu for me either.
 
I hope you don't mind, but I'm going to be a little critical of your videos and Penjin. Please don't take offense, I just want to express some of the nuances I've come across, in hopes that it'll help you make things easier for other devs looking an Penjin. I'm not going to cover Ubuntu/SVN/etc. because they aren't actually related to Penjin, and I appreciate versions change and things differ. (BTW - I'm now running OpenSUSE with CodeBlocks and RabbitVCS)


Firstly


video 3 seemed quite scatty. Don't get me wrong, I code like that too, but when doing a video tutorial, things should really flow in an order


We were coding with objects not yet linked in. You were unsure when it came to compile time if everything was included in the project. This lost me a few times with what PenjinBase files you were adding, to one point where I just added everything from the PenjinBase folder. I've left the project for the night and will have another look tomorrow probably. This video would have benefitted from you creating the project, making notes as you went, then creating a "script" you could follow in the video to make things flow seemlessly.


Secondly


Adding files from the PenjinBase folder may seem straightforward to you, but to somebody unfamiliar with the engine, it leaves a lot of trial and error. At the point I switched off tonight, BaseState was undefined. I can understand only adding the source files of the parts your using, but it might benefit more from having static libraries of functionality that you link in, and have one or more include files that encapsulate each section (kind of like Allegro 5).


In addition, I dislike the fact my project tree lists the files (I know you can collapse the branches), just as I wouldn't want to see the SDL code in their either. This is definately a personal thing, but just something I wanted to comment on.


Thirdly


The last thing I wanted to point out was about state handling. Given the engine is C++ based, it seemed unnecessary to have an enum based state list, when you could just set the engine up to pass in state objects. I appreciate that's not a thing you'll just want to change, but something to consider for Penjin 2 if you haven't already.


I really appreciate the effort gone in to both the library and the videos, and as I said, I hope you don't take offence. I've just felt this has been quite a difficult library to set up.


I'm still going to march on, and have a play and see what the engine is capable of.


If you disagree, or generally want to comment on my feedback, please do so


Regards
 
No offence taken and a lot of the issues that you list are gone in PenjinTwo... but unfortunately PenjinTwo also "is not as capable" as Penjin yet.


A lot of the problems you mention stem from the fact that Penjin is just useful code taped together as I progressed through university. It is born from a learning curve from complete inexperience to something a bit more thought out, this is the whole reason I decided to start from pretty much scratch with PenjinTwo.


As for the tutorial style... yes it's not ideal, I have never attempted anything like this before and it is a case of "the camera is rolling and we need to code stuff..."


I *could* make it more scripted, etc and what would probably happen is I wouldn't get many videos actually uploaded since I'm struggling to get the videos done as it is. :/


Either that or I would lose interest in actually making the videos... in any case the next video has had 2 failed attempts since the capture messed up on me... so count those as dress rehearsals.


And to address a couple of things directly:


1) Yes this unfortunately is a nuance of Penjin... and adding ALL the sources causes other problems... this is better in PenjinTwo


2) Penjin does things weirdly, it's compiled into your code... that's just how it is, I've moved on and redesigned things in PenjinTwo, which uses shared libs, but currently doesn't compile for Windows... I know you probably don't want to see the files, but on the other hand the fact you can see the files means you know what the object names are *shrugs* but in any case, again in PenjinTwo it's shared libs, so you can probably setup a project with needing to see the PenjinTwo source.


3) Fixed in PenjinTwo, does exactly this.


Thanks for your perseverance, feedback and interest!
 
No offence taken and a lot of the issues that you list are gone in PenjinTwo... but unfortunately PenjinTwo also "is not as capable" as Penjin yet.
I'm glad you took this in the manner it was intended, and also PenjinTwo addresses them.

As for the tutorial style... yes it's not ideal, I have never attempted anything like this before and it is a case of "the camera is rolling and we need to code stuff..."
I *could* make it more scripted, etc and what would probably happen is I wouldn't get many videos actually uploaded since I'm struggling to get the videos done as it is. :/


Either that or I would lose interest in actually making the videos... in any case the next video has had 2 failed attempts since the capture messed up on me... so count those as dress rehearsals.
I can appreciate that. It's nothing rewinding the video can't help with really.

1) Yes this unfortunately is a nuance of Penjin... and adding ALL the sources causes other problems... this is better in PenjinTwo


2) Penjin does things weirdly, it's compiled into your code... that's just how it is, I've moved on and redesigned things in PenjinTwo, which uses shared libs, but currently doesn't compile for Windows... I know you probably don't want to see the files, but on the other hand the fact you can see the files means you know what the object names are *shrugs* but in any case, again in PenjinTwo it's shared libs, so you can probably setup a project with needing to see the PenjinTwo source.
To be honest, I think I made a bit too much of the "code in project list" last night. Considering my Werewolves game code is pretty much the same. I still wouldn't want SDL/Allegro showing though, so I think the difference is what's part of "my" project. It is minor, but if you get shared libs, I'm so for that! :wub:


Oh, and regarding object names, that's what Autocomplete is for :p


Thank you. Not sure if I'll get to play any more tonight, but I'll certainly finish off the example, and even try a mini project.


How's development on PenjinTwo?
 
Back
Top