• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 08:21
CEST 14:21
KST 21:21
  • 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
[ASL22] Ro16 Preview: Holy Diver5[ASL22] Ro16 Preview: Rough Waters10[ASL22] Ro24 Preview: Siren's Call8[ASL22] Ro24 Preview: Summer's End9Serral wins HomeStory Cup 2915
Community News
Weekly Cups (Sep 7-12): SHIN, ByuN, MaxPax double down1StarCraft open world shooter announced at BlizzCon100Weekly Cups (Aug 30-Sep 7): herO thrives amid growing schism10Official StarCraft website teases new content ahead of BlizzCon?179Stellar Fest TWO the Moon (Dec 16-20)9
StarCraft 2
General
Balance hotfix patch 5.0.16b (July 16) SC4ALL II: StarCraft 2 Player Announcement 8/8 The Death of Cheese: From a Professional Cheeser Yamato Cup Series StarCraft open world shooter announced at BlizzCon
Tourneys
2026 GSTL Announcement Sparkling Tuna Cup - Weekly Open Tournament RSL Revival: Season 6 - Qualifiers and Main Event RSL goes to London! 2026 Offline Finals Nov 21-22 SC2 AI Tournament 2026 Fall
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
The PondCast: SC2 News & Results Mutation # 543 Enhanced Defenses Mutation # 542 The Ascended Mutation # 541 Binary Choice
Brood War
General
BW General Discussion Bot on ladder an AI researcher's take on the ladder bot Working 1v1, 2v2, 3v3 Ladder Syncronization issues and can't find games
Tourneys
[ASL22] Ro16 Group D [ASL22] Ro16 Group B [BSL23] SM: Ret vs TerrOr -> DragOn vs StRyKeR [Megathread] Daily Proleagues
Strategy
Cliff Jump Revisited (1 in a 1000 strategy) Replay Review Process - What do you do? Simple Questions, Simple Answers Odyssey Mineral Stack Saturation
Other Games
General Games
Nintendo Switch Thread Warcraft III: The Frozen Throne Stormgate/Frost Giant Megathread EVE Corporation Diablo IV
Dota 2
Dota 2 Champions League Season 3 Begins April 25! Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread All you football fans (soccer)! Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread
Fan Clubs
MarineLorD Fan Club The Creator Fan Club The ShoWTimE Fan Club
Media & Entertainment
Movie Discussion! [Manga] One Piece Diablo Animated Series on Netflix
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
Gaming Intensity, Problemati…
TrAiDoS
38 yo Retired SWE loo…
PurE)Rabbit-SF
Can Bots Beat Pros?? Starcr…
namkraft
[meme] I finally understa…
LUCKY_NOOB
Regacy Esports:Our Goa…
regacyesports
Dreaming of BW patches (mod…
c3rberUs
Customize Sidebar...

Website Feedback

Closed Threads



Active: 9522 users

Developing a game prototype: Day 0 - Introduction

Blogs > heishe
Post a Reply
heishe
Profile Blog Joined June 2009
Germany2284 Posts
February 13 2012 20:25 GMT
#1
What I'm going to do

It's semester vacation and in order to not fall into the depths of procrastination, I've decided to take on a little project for the next couple of weeks.

Starting on the 15th this month, I will take about four weeks to brainstorm some ideas and fully implement them in a working game prototype. I will post a blog with progress every working day (I won't do anything on weekends) and by the time the thing is finished (or the time is over) I will upload the prototype for you to play.

Besides outlining what I've done to the gameplay itself, the blogs will focus on the technical aspect of development. You will probably see some class diagrams or links to slides or PDFs that explain some technical concept that I'm going to apply.

Motivation

I've been a hobbyist game-developer for quite some time now. I think in 2007 I finished my first game, which has since been long lost and lies in some HDD graveyard among other broken hard drives of mine. It was a simple breakout clone with some extra features.

Since then, I haven't really finished any games. I always discovered some technical challenge related to game development, implemented it, and that was basically that. I've written maybe a dozen small "prototype-alphas", meaning that I would implement one specific mechanic to see if it would motivate me to work on it for a longer timespan, notice that it didn't and be done with it. Then I've written a couple of tech demos and two frameworks/engines.

After all this time and work, I have nothing to publically show for it. I have accumulated a decent amount of important knowledge, but none of my works are online and free to see for people who are interested in it.

That's what I want to change.

The main goal will be to have something to put on a website and say: "This is mine. I hope you enjoy it and have your 10 minutes of fun with it". That would be great. I want to start building a portfolio. I have bigger goals for games (and had them for a long time now), meaning emotions I want people to feel or philosophical ideas that I want to present, but that's none of my concern right now. The focus is on taking an idea, implementing and polishing it to the end, and then having something to show for it.

The schedule

There's no real schedule. Since I already have the basic gameplay idea that I want to implement (more on that in the next section), I will devote the entire 15th to think about what it is probably doable in these 30 days, cut half of it since programmers always overestimate what is doable, and then flesh out the details of those ideas.

Then, I'm going to pin down what kind of systems I need before starting, and set up the basic infrastructure that is required for me to prototype the game. I already have all technical systems that I'm going to need in a little engine that I wrote a couple of months ago, so most of that work will be to create a couple of new folders in Windows and rename a couple of files.

The Game (oh, yeah, you just lost it)

The basic core of the game that I want to get working first will be simple, one on one, player vs NPC swordfighting.

The player uses their mouse or one of the analog sticks of their gamepad to directly control the weapon in the hands of the player character.

The player reacts to swings from the opponent by using the mouse / analog stick to swing their own weapon against the weapon of the opponent, and swings at weak spots in the defense of the opponent to do damage. The goal is to exploit weaknesses in the opponents fighting behaviour and trying to get in hits without taking any yourself.

The idea is that every movement of the mouse or the analog stick on your gamepad should be reflected as a movement of the sword in the game. If you move your mouse fast, it will do more damage, but the resulting momentum of your weapon will make it harder to swing it back in the other direction, exposing a weakness in your defense that can be used by your opponent. Similarly, making slow and careful movements makes it easy to keep your weapon under control, hence providing optimal defense. However, it also makes it hard to do any damage.

I want to make the combat feel quite fast, so it isn't going to be easy. Optimally there would be enemies who use a certain fighting style, and then you, the player, has to learn and get to know that style and quickly react to movements of your opponents weapon. Optimally it would be akin to learning how to counter builds in SC or SC2, where you can theoretically react very quickly and successfully if you see some build for the first time, but you will be able to counter it a lot more effectively and with less brain power required if you play against it a lot. You become more badass over time.

This will of course immediately introduce some elements of rogue-likes, since learning something will make you die a lot, but I haven't throught that through that much yet. That's what Day 1 is for.

The game is played from the top down perspective, by the way.

From a game-development perspective, the primary challenge of implementing this combat system will be to figure out the exact control scheme. Does the sword automatically swing back to it's default position if the player doesn't move his mouse? Or will it remain static where the player moved it last after he doesn't use the mouse anymore?

Apart from that, the only important point is that I'm going to spend about 0 time on the graphical representation, since it will be a prototype only. The player character and the enemies will likely be colored circles, and the weapons will look like thick, colored lines.

Maybe, and that's a huge maybe, if I get everything working a week early or so, I might spend some time creating rudimentary character and environment art, just for the sake of spending some time on it (I can't draw at all). But even then, I'll probably rather spend the time polishing gameplay more or introducing new elements, like playing around with different weapon types or something.

What I'm starting with

The engine that I'm using to write this thing is self-written and pretty powerful. It's for 2D games only, but still it is capable of some advanced features that you rarely see in 2D games. I originally wrote it for another game prototype that I wanted to develop, which would've been a stealth game, so my engine now supports real time lighting and shadows, custom shaders, fully integrated TILED-Map-Editor, scripting with LUA, basic AI things like pathfinding and state machines, and some other things I can't think of right now. None of which I'm going to need for the prototype that I'm going to make now.

The engine is still useful though since it provides me with basic gamestate and resource management, as well as a simple to use entity-component-system for every object that somehow needs to be represented in the game (I will go into details of this on day two, I think, since I need to make a couple of changes to that system before I can start programming the game), and a lot of bonus stuff that I would otherwise have to do from the ground up (collision detection, math stuff, etc.). Most importantly though, I'm already very familiar with it (since I wrote it), so I won't have to spend time to get going with some other engine.

Oh, the whole thing will be written in C++ and the engine is largely based on the groundworks of the SFML library.

If you've made it this far

Thanks for reading! I see that you are probably interested in this and I hope you will enjoy my future blogs, too!


*****
If you value your soul, never look into the eye of a horse. Your soul will forever be lost in the void of the horse.
ClysmiC
Profile Blog Joined December 2010
United States2192 Posts
Last Edited: 2012-02-13 20:32:33
February 13 2012 20:29 GMT
#2
This looks awesome, and it's a sweet concept. I hope you stick to this game, I'll definitely follow your blog. Best of luck!

Edit: It'd be cool if you could incorporate rotation of the mouse into the engine somehow. Although I don't know if there's anything on a controller or gamepad that could play a similar role, unless it incorporates 2 analog sticks... or if it's even possible to detect mouse orientation.
micronesia
Profile Blog Joined July 2006
United States24799 Posts
February 13 2012 20:31 GMT
#3
Sounds very interesting. I'd love to be able to take something that ambitious on... but I'm much earlier in my studies than you are XD
ModeratorThere are animal crackers for people and there are people crackers for animals.
DuBlooNz
Profile Blog Joined February 2011
United Kingdom103 Posts
February 13 2012 21:21 GMT
#4
This sounds really good!!
Will you be releasing it for people to download at all?
Follow me on Twitter @DuBlooNzSC2 (-_(-_(-_(-_-)_-)_-)_-)
shannn
Profile Blog Joined May 2010
Netherlands2891 Posts
February 13 2012 21:42 GMT
#5
Hey man, I know how you feel
It's really hard to stay focussed and still 30 days for your game. It sounds reasonable with the demands you've set up.
Is it only going to be on PC? The concept sounds nice.
I'm actually eager on the class diagram you stated My game has a class diagram with a simple MVC with 1 class for each view-controller-model. I did it because well I'm the most familiar with it and didn't want to step out of my boundaries yet on my first real game :D

I had to look up what the entity-component-system was. Never heard of it before.
I then got into some link to SO and the first answer about entity-component-system contained Object oriented programming becoming a dead end. Whether or not this is true is still shocking to me and I'm really curious to this new type of programming for me.
Still don't understand it a 100% yet but I look forward to your game progress
http://www.teamliquid.net/forum/viewpost.php?post_id=6321864 Epic post.
heishe
Profile Blog Joined June 2009
Germany2284 Posts
Last Edited: 2012-02-13 23:59:59
February 13 2012 21:44 GMT
#6
On February 14 2012 06:21 DuBlooNz wrote:
This sounds really good!!
Will you be releasing it for people to download at all?


Yep. At the very least I will upload the final state of the project at the end of these four weeks. I might upload the weekly results or something, but I'm completely unsure how much I'm going to have done after one week, for example, so I might not have anything worth uploading.

On February 14 2012 06:42 shannn wrote:
Hey man, I know how you feel
It's really hard to stay focussed and still 30 days for your game. It sounds reasonable with the demands you've set up.
Is it only going to be on PC? The concept sounds nice.


Yes, it's going to be PC only. I'm actually very interested in doing something for Android or iOS devices, simply for the sake of working with very limited hardware, but I simply can't afford it right now. If I want to develop for something other than the PC, there's at least some cost associated with it. For example, you actually have to have one of the devices to test your stuff with!

But maybe I'll get that chance later this year, because I want to intern at a pretty big research institute for applied sciences (Fraunhofer Society, maybe some of you heard of them) and they have some projects going on in that area.

On February 14 2012 06:42 shannn wrote:
I'm actually eager on the class diagram you stated My game has a class diagram with a simple MVC with 1 class for each view-controller-model. I did it because well I'm the most familiar with it and didn't want to step out of my boundaries yet on my first real game :D


Well, I can't post the class diagram of my whole game. That would take me a long while and it would be a loooong post. But if I go into the details of how I structure a certain component of the code, class diagrams will probably be useful to show the architecture of it without having to post the code or writing too many words about it.

On February 14 2012 06:42 shannn wrote:
I had to look up what the entity-component-system was. Never heard of it before.
I then got into some link to SO and the first answer about entity-component-system contained Object oriented programming becoming a dead end. Whether or not this is true is still shocking to me and I'm really curious to this new type of programming for me.
Still don't understand it a 100% yet but I look forward to your game progress


It's based on the idea of maximizing reuse and minimizing unnecessary overhead when constructing game objects. It presents a way of literally composing a type of object (the "player", "enemy", "spaceship", etc.) out of different components (which are basically containers of logic and data). I'll post a quick introduction to the topic in the day two blog.

I can't say if the object oriented programming approach is becoming a dead end (I lack experience for that). Most AAA studios still use component-based entities and are very happy with it. If you look around at www.gdcvault.com you should find a couple of nice lectures by the likes of Naughty Dog or the Prototype guys on the topic.

On February 14 2012 06:42 shannn wrote:
Still don't understand it a 100% yet but I look forward to your game progress


Thanks!
If you value your soul, never look into the eye of a horse. Your soul will forever be lost in the void of the horse.
Ideas
Profile Blog Joined April 2008
United States8178 Posts
February 13 2012 22:32 GMT
#7
this sounds cool. good luck!
Free Palestine
Please log in or register to reply.
Live Events Refresh
GSL
11:00
2026 GSTL: Playoffs Round 2
IntoTheiNu 1130
CranKy Ducklings SOOP140
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RotterdaM 295
SHIN 152
Rogue 58
Cure 46
MindelVK 38
Rex 31
StarCraft: Brood War
Shuttle 1089
BeSt 658
actioN 350
Soma 280
firebathero 192
Last 188
ZerO 182
Dewaltoss 128
Snow 105
PianO 99
[ Show more ]
Aegong 65
910 52
ToSsGirL 43
Mong 43
Hm[arnc] 35
Sharp 32
NaDa 30
Sexy 24
HiyA 20
yabsab 17
soO 15
zelot 14
JulyZerg 11
Noble 10
Dota 2
Gorgc6880
Dendi956
febbydoto16
Counter-Strike
byalli2493
x6flipin686
Heroes of the Storm
Trikslyr65
Other Games
singsing1530
crisheroes281
XaKoH 222
Hui .143
Railgan22
ZerO(Twitch)17
B2W.Neo9
Organizations
Dota 2
PGL Dota 2 - Main Stream12099
PGL Dota 2 - Secondary Stream2110
Other Games
gamesdonequick679
StarCraft 2
TaKeTV 130
[ Show 11 non-featured ]
StarCraft 2
• Berry_CruncH413
• StrangeGG 63
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Other Games
• WagamamaTV235
Upcoming Events
Shopify Rebellion Sundays
2h 39m
Spirit vs Mixu
BSL
6h 39m
Ret vs TerrOr
DragOn vs StRyKeR
Replay Cast
11h 39m
Afreeca Starleague
21h 39m
Shine vs Rush
WardiTV Weekly
22h 39m
Monday Night Weeklies
1d 3h
Sparkling Tuna Cup
1d 21h
Afreeca Starleague
1d 21h
Light vs EffOrt
PiGosaur Cup
2 days
Kung Fu Cup
2 days
[ Show More ]
The PondCast
3 days
Replay Cast
4 days
Korean StarCraft League
5 days
CranKy Ducklings
5 days
GSL
6 days
Liquipedia Results

Completed

K-JUNGMAN
Blizzard Classic Cup 2026
Big Dog Cup 2026 Div 1

Ongoing

ASL Season 22
Super Anchor Qualifying S3
CSL 2026 AUTUMN (S22)
Acropolis #5
Acropolis #5 - GSA
Calamity Invitational
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026

Upcoming

Acropolis #5 - GSB
Acropolis #5 - GSC
SC4ALL II: Brood War
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Copium Cup
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #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 © 2026 TLnet. All Rights Reserved.