• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 14:35
CEST 20:35
KST 03:35
  • 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 RO8 Preview: herO, Zoun, Bunny, Classic7Code S RO8 Preview: Rogue, GuMiho, Solar, Maru3BGE Stara Zagora 2025: Info & Preview27Code S RO12 Preview: GuMiho, Bunny, SHIN, ByuN3The Memories We Share - Facing the Final(?) GSL47
Community News
BGE Stara Zagora 2025 - Replay Pack2Weekly Cups (June 2-8): herO doubles down1[BSL20] ProLeague: Bracket Stage & Dates9GSL Ro4 and Finals moved to Sunday June 15th13Weekly Cups (May 27-June 1): ByuN goes back-to-back0
StarCraft 2
General
Jim claims he and Firefly were involved in match-fixing The SCII GOAT: A statistical Evaluation Code S RO8 Preview: herO, Zoun, Bunny, Classic DreamHack Dallas 2025 - Official Replay Pack BGE Stara Zagora 2025 - Replay Pack
Tourneys
[GSL 2025] Code S: Season 2 - Ro8 - Group A [GSL 2025] Code S: Season 2 - Ro8 - Group B RSL: Revival, a new crowdfunded tournament series SOOPer7s Showmatches 2025 Sparkling Tuna Cup - Weekly Open Tournament
Strategy
[G] Darkgrid Layout Simple Questions Simple Answers [G] PvT Cheese: 13 Gate Proxy Robo
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 477 Slow and Steady Mutation # 476 Charnel House Mutation # 475 Hard Target Mutation # 474 Futile Resistance
Brood War
General
BGH auto balance -> http://bghmmr.eu/ FlaSh Witnesses SCV Pull Off the Impossible vs Shu BW General Discussion StarCraft & BroodWar Campaign Speedrun Quest Will foreigners ever be able to challenge Koreans?
Tourneys
[Megathread] Daily Proleagues [ASL19] Grand Finals [BSL20] GosuLeague RO16 - Tue & Wed 20:00+CET NA Team League 6/8/2025
Strategy
I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
Other Games
General Games
Path of Exile Stormgate/Frost Giant Megathread Nintendo Switch Thread Beyond All Reason What do you want from future RTS games?
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
Things Aren’t Peaceful in Palestine US Politics Mega-thread UK Politics Mega-thread Russo-Ukrainian War Thread Vape Nation Thread
Fan Clubs
Maru Fan Club Serral Fan Club
Media & Entertainment
Korean Music Discussion [Manga] One Piece
Sports
TeamLiquid Health and Fitness Initiative For 2023 2024 - 2025 Football Thread Formula 1 Discussion NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
A Better Routine For Progame…
TrAiDoS
StarCraft improvement
iopq
Heero Yuy & the Tax…
KrillinFromwales
I was completely wrong ab…
jameswatts
Need Your Help/Advice
Glider
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 16978 users

Student Game Dev Part 15 - Play testing

Blogs > Soan
Post a Reply
Soan
Profile Blog Joined August 2010
New Zealand194 Posts
March 07 2014 21:41 GMT
#1
+ Show Spoiler [Previous parts] +
Part One - It begins
Part Two - Technical Foundation
Part Three - Game Design
Part Four - Input and Physics
Part Five - More Physics Things
Part Six - Even More Physics
Part Seven - User Interface
Part Eight - UI and the Editor
Part Nine - Editor Progress
Part Ten - Progress, and videos
Part Eleven - Fixing the Physics
Part Twelve - Unproductive
Part Thirteen - Context menu + enemies
Part Fourteen - Enemies and Problems


This Week
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. Last week I talked about implementing the first, most basic enemy and its interaction with the player. This week I'll be talking about continuing on with implementing the basic enemy, fixing the camera, multiple levels, and the first play testing session. I've also got some new concept art!

Basic Enemy
The basic zombie pirate is mostly done. I still need to have them turn around before falling off a platform, but otherwise they can kill the player, and the player can kill them. If both are attacking and have collided, then the zombie pirate gets priority and the player dies. If the player runs into the back of a zombie pirate without attacking, the zombie pirate turns around and kills the player.

It's pretty likely that they'll be the only enemy type present in this first version, as I don't think I'll have time to implement, and I'm not sure that my artists will have time to create the necessary animations. There's only 10 weeks left in my degree after all! (Which is actually kinda scary.)

Fixing the Camera
I fixed the camera and the scrolling this week as well. Previously, when I first set everything up, all the positions of the objects in the level, the player, tiles, etc, were initially done from screen co-ordinates, so if the resolution changed it would all display kind of weirdly. Not really sure why I did it that way in the first place, as it doesn't really work. When the camera was at (0,0), its top left corner was sitting at the top left corner of the screen, but not at the top left corner of the level, which is how I actually want it to work. So I adjusted the camera to take the screen resolution into account.

I then had to adjust the position of level objects, as the change to the camera had thrown everything off. Getting the vertical scrolling working was especially a bit tricky, as the camera is designed to follow the players position, I couldn't just take the players y position, or the difference between that and the point where vertical scrolling starts, as the cameras new y position. Again, I had to take into the level height relative to the screen height into account, so the new method of finding the correct y position for the camera looked something like this:

(level height - screen height) - (scroll up point - player y position)


Before hand, the cameras y position would have been at 0 when the player started moving up the screen, so I just took the difference between the scroll up point and the players y position (which was in screen co-ordinates!) to find the new y position.

Multiple Levels
I managed to implement multiple levels this week, no level selection screen just yet, but it's possible to play through more than one level and then return to the main menu. Right now it's really simple and you load into the next level immediately, but later on I'll need to display final score calculations before loading the next level. It works well enough as it is, however the first time I finished the first level and hit the second, I started running into invisible walls. Once I turned on my physics debugging so I could see bounding boxes, I discovered that all the physics actors from the previous level were still present! Once I fixed that by making sure a finished level was properly removed from everywhere it needed to be removed, so all the physics actors were destroyed, etc, everything worked nicely.

Play Testing
Had a little bit of external play testing today, which went ok. Some point during the week I seem to have created a few bugs, where occasionally the players position would not be reset correctly when they died, or enemies would appear inside platforms, or animations wouldn't play correctly, which was annoying, but that's programming for you I suppose. Add new features or modify/fix existing ones, break something else in the process. Otherwise testing went ok, got some good feedback on the movement and how the combat worked, including a couple things I hadn't thought of. I have been planning to change the size of the players bounding box when they attack, but it was suggested that I could just use a entirely separate one poking out in front of the player instead. Which might actually be easier to do instead.

New Art
This week I have a couple pieces of concept art showing off the basic zombie pirate.
[image loading]
[image loading]

What's next?
Next week I'll be attempting to fix some little bugs, adjust the movement, and possibly look at making the combat feel better. I'll also be looking to hopefully start work on the parallax effects. I'll probably do a new video some time next week as well.

Keep up to date!
Be sure to follow me on Twitter, and like the Facebook page to stay up to date on future content and blog posts when they happen. If you have any questions don't hesitate to ask, either through Twitter or Facebook! You can also check out the blog, previous posts, screenshots and videos over at my site.

Please log in or register to reply.
Live Events Refresh
Next event in 2h 25m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 580
IndyStarCraft 123
UpATreeSC 61
JuggernautJason60
MindelVK 55
StarCraft: Brood War
Sea 2808
Rain 1399
Hyuk 672
Soulkey 136
HiyA 44
hero 32
Dewaltoss 30
TY 25
scan(afreeca) 25
Yoon 17
[ Show more ]
Nal_rA 13
zelot 3
Dota 2
Gorgc7692
League of Legends
Dendi1393
Counter-Strike
fl0m6752
olofmeister2562
Foxcn10
Heroes of the Storm
Liquid`Hasu271
Khaldor135
Other Games
FrodaN839
C9.Mang0748
tarik_tv662
Mlord506
B2W.Neo249
Grubby135
elazer129
Mew2King98
Organizations
Dota 2
PGL Dota 2 - Main Stream4083
Other Games
BasetradeTV79
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 19 non-featured ]
StarCraft 2
• Adnapsc2 22
• intothetv
• Kozan
• sooper7s
• AfreecaTV YouTube
• Migwel
• LaughNgamezSOOP
• IndyKCrew
StarCraft: Brood War
• HerbMon 26
• Rasowy 9
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• C_a_k_e 3576
• masondota21056
League of Legends
• Jankos2189
• TFBlade1412
Other Games
• imaqtpie950
• Shiphtur347
Upcoming Events
OSC
2h 25m
ArT vs ReBellioN
HonMonO vs Ziomek
Shameless vs LunaSea
MilkiCow vs GgMaChine
Moja vs HiGhDrA
Jumy vs TBD
Demi vs NightPhoenix
Solar vs Cham
Replay Cast
5h 25m
OSC
5h 25m
WardiTV Invitational
16h 25m
HiGhDrA vs Nicoract
MaNa vs HiGhDrA
HiGhDrA vs Reynor
Nicoract vs Reynor
MaNa vs Nicoract
MaNa vs Reynor
MaxPax vs Spirit
Krystianer vs Spirit
OSC
18h 25m
Korean StarCraft League
1d 8h
SOOP
1d 14h
sOs vs Percival
CranKy Ducklings
1d 15h
WardiTV Invitational
1d 16h
Cheesadelphia
1d 20h
[ Show More ]
CSO Cup
1d 22h
GSL Code S
2 days
Rogue vs herO
Classic vs GuMiho
Sparkling Tuna Cup
2 days
Replay Cast
3 days
Wardi Open
3 days
Replay Cast
4 days
Replay Cast
4 days
RSL Revival
4 days
Cure vs Percival
ByuN vs Spirit
RSL Revival
5 days
herO vs sOs
Zoun vs Clem
Replay Cast
6 days
The PondCast
6 days
RSL Revival
6 days
Serral vs SHIN
Solar vs Cham
Liquipedia Results

Completed

CSL Season 17: Qualifier 2
BGE Stara Zagora 2025
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
KCM Race Survival 2025 Season 2
NPSL S3
Rose Open S1
CSL 17: 2025 SUMMER
2025 GSL S2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025
BLAST Open Spring 2025

Upcoming

Copa Latinoamericana 4
CSLPRO Last Chance 2025
CSLPRO Chat StarLAN 3
K-Championship
SEL Season 2 Championship
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
Murky Cup #2
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
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 © 2025 TLnet. All Rights Reserved.