• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 02:24
CEST 08:24
KST 15:24
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun5[ASL21] Ro8 Preview Pt1: Inheritors16[ASL21] Ro16 Preview Pt2: All Star10Team Liquid Map Contest #22 - The Finalists19[ASL21] Ro16 Preview Pt1: Fresh Flow9
Community News
2026 GSL Season 1 Qualifiers25Maestros of the Game 2 announced92026 GSL Tour plans announced15Weekly Cups (April 6-12): herO doubles, "Villains" prevail1MaNa leaves Team Liquid25
StarCraft 2
General
Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool Team Liquid Map Contest #22 - The Finalists MaNa leaves Team Liquid Maestros of the Game 2 announced
Tourneys
WardiTV Spring Cup 2026 GSL Season 1 Qualifiers Sparkling Tuna Cup - Weekly Open Tournament INu's Battles#14 <BO.9 2Matches> GSL CK: More events planned pending crowdfunding
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players [M] (2) Frigid Storage
External Content
The PondCast: SC2 News & Results Mutation # 523 Firewall Mutation # 522 Flip My Base Mutation # 521 Memorable Boss
Brood War
General
JaeDong's ASL S21 Ro16 Post-Review BW General Discussion Leta's ASL S21 Ro.16 review ASL21 General Discussion [ASL21] Ro8 Preview Pt1: Inheritors
Tourneys
[ASL21] Ro8 Day 2 [BSL22] RO16 Group Stage - 02 - 10 May [Megathread] Daily Proleagues [ASL21] Ro8 Day 1
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers What's the deal with APM & what's its true value Any training maps people recommend?
Other Games
General Games
Stormgate/Frost Giant Megathread Daigo vs Menard Best of 10 Nintendo Switch Thread Dawn of War IV Diablo IV
Dota 2
The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread European Politico-economics QA Mega-thread Russo-Ukrainian War Thread 3D technology/software discussion Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion McBoner: A hockey love story
World Cup 2022
Tech Support
streaming software Strange computer issues (software) [G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Sexual Health Of Gamers
TrAiDoS
lurker extra damage testi…
StaticNine
Broowar part 2
qwaykee
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1443 users

Student Game Dev Part 24 - The End

Blogs > Soan
Post a Reply
Soan
Profile Blog Joined August 2010
New Zealand194 Posts
July 19 2014 05:24 GMT
#1
+ Show Spoiler [Previous parts] +
Part 1- It begins
Part 2- Technical Foundation
Part 3- Game Design
Part 4- Input and Physics
Part 5- More Physics Things
Part 7- Even More Physics
Part 7- User Interface
Part 8- UI and the Editor
Part 9- Editor Progress
Part 10- Progress, and videos
Part 11- Fixing the Physics
Part 12- Unproductive
Part 13- Context menu + enemies
Part 14- Enemies and Problems
Part 15- Play testing
Part 16- Editor and Art
Part 18- Video!
Part 18- Layers and Music
Part 19- Water and Enemies
Part 20 - Score and decisions
Part 21 - Background music
Part 22 - Sound Effects
Part 23 - New Video


The End - A Post Mortem
Hello again TeamLiquid! Welcome back to my blog about the development of The Adventures of Sam the Pirate, the 2D platformer I'm creating as the final game project for my Bachelor of Software Engineering degree. This post is pretty overdue, as I finished my degree, and thus this project, a couple of months ago now. Since then, I've been distracted with shifting house, looking for a job(recently started work at Outsmart Games), taking a bit of a break, and otherwise procrastinating. I'll be doing a bit of a post mortem about the project, as it has since finished.

What went right
Overall, I am pretty happy with how the game turned out. There are still a couple of minor bugs, but those who have played the game generally seem to enjoy it. It's not as complete as I might like, due to having to cut a lot from my original plan, but for a solo project it's worked out ok. Well, apart from the art side of things, but I'll go more over that later.

The programming side of things mostly worked out how I hoped it would. Some of the code is definitely super inefficient (each individual tile is its own physics agent! ugh, so bad), but that's more down to me trying to get things done fast to meet deadlines more than anything else. And it works, which is the most important thing. Of course I encountered various bugs, other things I hadn't coded quite correctly the first time, made mistakes, but I managed to fix pretty much all of them. There's quite a lot, probably nearly all of it, that I would also like to rewrite, both to fix inefficiencies, better ways of doing things I thought of while working on it, and a few other things.

I would particularly like to rewrite the rendering to use OpenGL. Currently it's just using SDLs built in 2D rendering, which was nice and easy to setup and to use, but I don't feel like I have many options in how it anything works. I'd also like to learn OpenGL at some point anyway, so this seems like a good project for that in the future. I'd also like to replace my custom physics with Box2D. My custom code works just fine, it's a little buggy in places, but it works no problem.

Speaking of the physics, it works just fine, but is a little buggy. For me personally, the biggest success around the physics was getting it to be calculated at a fixed rate, independent of the rendering frame rate. The rest of it was fairly simple, basic rectangle/rectangle collisions, detecting which direction and adjusting position appropriately. Originally, it was being calculated at 60fps, so every 1/60th of a second the physics would be calculated. Later on in the project, when I was putting together the levels in my editor, doing things quickly by making each tile it's own physics agent finally came back to bite me in the ass and caused some performance issues with the number of tiles I had on screen in a couple of levels.

I had a couple options to fix this, either cut out some of the tiles, or lower the frequency of physics calculations. I ended up going with lowering the rate of physics calculations to 30fps as it was the fastest change, and I was pressed for time. This worked out well, but did cause some of the collision detection and response to be a bit buggy occasionally, mostly when falling. If you fall far enough, it's now more possibly that you could go through the top tile and land on the second. It's not game breaking, or that common of an occurrence from what I've seen, but it does happen occasionally.

The level editor I created work out fairly well, allowing me to put levels together infinitely faster than having to lay out co-ordinates etc by hand. It's not particularly user friendly, and has its quirks (you can place tiles with the menu open), but it worked nicely for me.

What went wrong
Probably the biggest problem I had, was the lack or art. While I had a few artists express interest in working on the game during pre-production, apart from a few pieces of concept art, one set of tiles (which I ended up not using), and a single animations, I got nothing. Looking back, I really should have either pushed the existing artists to actually create stuff, or found others more interested in doing it much earlier. I ended up getting some art off OpenGameArt.org, and one of the art tutors helped out by providing a couple of animations, although I think I'm still missing one or two. The only upshot about not getting any art is that being a programming degree, what the final game looked like was kind of irrelevant as it didn't count towards any marks. Still would have been nice to have the game look a bit better though.

The other big problem I had was time. Namely, there wasn't enough to do everything I wanted to achieve in the project by myself. To be fair, I did kind of expect this, as for one person it was a fairly large project, so it wasn't really a surprise that I did not get to do everything I wanted. I just knew that I wanted to give it a shot, so that's what I did. In the end, I had to massively cut my original plan, down from 40 levels, to 20, to 10, then down to however many I could get done, cut the enemy types down to a single one, no bosses, there isn't even really an ending.

The Game
You can download the game here! It supports Xbox 360 controllers, and other controllers might work too, I haven't tested with any others. No guarantees on performance either, on slower/older machines it might be a bit crap.

What's next?
I'm going to be looking at redesigning my blog, WordPress was great for getting it set up quickly, but I'd like to write it myself. Not for any particular reason really, I just want to do it, so I will. Once I'm settled into my new job a bit more, I'll be looking at creating some small mobile games in my spare time, and seeing what happens there. I have a few ideas, so we'll see how that goes. I'll still try to write blog posts, but they'll be far less frequent than they have been during the production of Sam the Pirate.

Keep in touch
If you're interested in following any of my future work, you can follow me on Twitter, and like the Facebook page.

*****
Peeano
Profile Blog Joined March 2009
Netherlands5467 Posts
Last Edited: 2014-07-19 18:40:25
July 19 2014 18:32 GMT
#2
Looking forward to playing. ETA 40 min.
No mention of music or sound effects.
Would you like critics? Just wondering, because you said it is now finished.

Did you play Shovel Knight yet? Seems like you would enjoy that.
FBH #1!
Peeano
Profile Blog Joined March 2009
Netherlands5467 Posts
Last Edited: 2014-07-19 19:27:28
July 19 2014 19:23 GMT
#3
What did grade did you get?

I'm now playing and I'd say one little improvement you could/should have done, is add in controls in the main menu (at the start up of the game). The ones you listed in Readme.pdf

Edit: Attack+Jump spam to fly through the levels :D
FBH #1!
BisuDagger
Profile Blog Joined October 2009
Bisutopia19343 Posts
July 20 2014 01:15 GMT
#4
Hey you finished! I'll check it out tomorrow. Congrats man. I felt so rewarded when I finished my first game.
ModeratorFormer Afreeca Starleague Caster: http://afreeca.tv/ASL2ENG2
Soan
Profile Blog Joined August 2010
New Zealand194 Posts
July 22 2014 21:12 GMT
#5
On July 20 2014 03:32 Peeano wrote:
Looking forward to playing. ETA 40 min.
No mention of music or sound effects.
Would you like critics? Just wondering, because you said it is now finished.

Did you play Shovel Knight yet? Seems like you would enjoy that.


Hmm yeah it seems I totally forgot to talk about music/sound effects. They also went pretty well, although I ended up with more music tracks than I could use. Sure I'll take critics, feedback is good for possible future versions.

No I haven't played Shovel Knight yet, got too many games - not enough time as it is.

As for grade, I got a B+.
Please log in or register to reply.
Live Events Refresh
Next event in 3h 6m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 222
StarCraft: Brood War
Calm 7452
GuemChi 5113
Pusan 319
Zeus 138
ProTech134
910 99
Dewaltoss 50
soO 31
Shinee 22
Noble 15
[ Show more ]
Bale 13
ZergMaN 9
Icarus 9
Counter-Strike
Coldzera 1677
Stewie2K800
Super Smash Bros
Mew2King102
Other Games
summit1g6018
C9.Mang0482
m0e_tv307
RuFF_SC252
Livibee25
amsayoshi8
Organizations
Other Games
gamesdonequick855
BasetradeTV252
Dota 2
PGL Dota 2 - Main Stream147
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 13 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 3
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1583
• Stunt716
Upcoming Events
GSL
3h 6m
Rogue vs Percival
Zoun vs Solar
Replay Cast
17h 36m
GSL
1d 3h
Cure vs TriGGeR
ByuN vs Bunny
KCM Race Survival
1d 3h
Big Gabe
1d 5h
Replay Cast
1d 17h
Replay Cast
2 days
Escore
2 days
OSC
2 days
Replay Cast
2 days
[ Show More ]
Replay Cast
3 days
RSL Revival
3 days
IPSL
3 days
Ret vs Art_Of_Turtle
Radley vs TBD
BSL
3 days
Replay Cast
3 days
RSL Revival
4 days
uThermal 2v2 Circuit
4 days
BSL
4 days
IPSL
4 days
eOnzErG vs TBD
G5 vs Nesh
Replay Cast
5 days
Wardi Open
5 days
Afreeca Starleague
5 days
Jaedong vs Light
Monday Night Weeklies
5 days
Replay Cast
5 days
Sparkling Tuna Cup
6 days
Afreeca Starleague
6 days
Snow vs Flash
Liquipedia Results

Completed

Proleague 2026-04-28
WardiTV TLMC #16
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
StarCraft2 Community Team League 2026 Spring
2026 GSL S1
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026

Upcoming

Escore Tournament S2: W5
KK 2v2 League Season 1
Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
2026 GSL S2
RSL Revival: Season 5
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.