• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 18:38
CET 00:38
KST 08:38
  • 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
RSL Revival - 2025 Season Finals Preview8RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12
Community News
ComeBackTV's documentary on Byun's Career !6Weekly Cups (Dec 8-14): MaxPax, Clem, Cure win4Weekly Cups (Dec 1-7): Clem doubles, Solar gets over the hump1Weekly Cups (Nov 24-30): MaxPax, Clem, herO win2BGE Stara Zagora 2026 announced15
StarCraft 2
General
ComeBackTV's documentary on Byun's Career ! When will we find out if there are more tournament Weekly Cups (Dec 8-14): MaxPax, Clem, Cure win Did they add GM to 2v2? RSL Revival - 2025 Season Finals Preview
Tourneys
RSL Offline Finals Info - Dec 13 and 14! Master Swan Open (Global Bronze-Master 2) Winter Warp Gate Amateur Showdown #1: Sparkling Tuna Cup - Weekly Open Tournament $5,000+ WardiTV 2025 Championship
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 504 Retribution Mutation # 503 Fowl Play Mutation # 502 Negative Reinforcement Mutation # 501 Price of Progress
Brood War
General
FlaSh on: Biggest Problem With SnOw's Playstyle How Rain Became ProGamer in Just 3 Months BGH Auto Balance -> http://bghmmr.eu/ [BSL21] RO8 Bracket & Prediction Contest BW General Discussion
Tourneys
[Megathread] Daily Proleagues [BSL21] WB SEMIFINALS - Saturday 21:00 CET [BSL21] RO8 - Day 2 - Sunday 21:00 CET [ASL20] Grand Finals
Strategy
Game Theory for Starcraft Current Meta Simple Questions, Simple Answers Fighting Spirit mining rates
Other Games
General Games
Stormgate/Frost Giant Megathread Path of Exile Nintendo Switch Thread General RTS Discussion Thread Dawn of War IV
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
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas Survivor II: The Amazon Sengoku Mafia TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine The Games Industry And ATVI Russo-Ukrainian War Thread YouTube Thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
TL+ Announced Where to ask questions and add stream?
Blogs
The (Hidden) Drug Problem in…
TrAiDoS
I decided to write a webnov…
DjKniteX
James Bond movies ranking - pa…
Topin
Thanks for the RSL
Hildegard
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1995 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 States24745 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 States8148 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
Next event in 11h 23m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft406
CosmosSc2 49
ProTech15
StarCraft: Brood War
Calm 1858
Artosis 444
actioN 126
EffOrt 117
Mini 68
Hyun 38
ggaemo 33
NaDa 11
Mong 5
Dota 2
syndereN748
League of Legends
JimRising 371
Counter-Strike
Foxcn156
adren_tv82
minikerr28
Super Smash Bros
PPMD48
Other Games
summit1g3111
FrodaN1303
RotterdaM291
C9.Mang0162
Maynarde65
Trikslyr52
Mew2King46
ViBE39
nookyyy 34
Liquid`Ken11
Organizations
Other Games
BasetradeTV51
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 18 non-featured ]
StarCraft 2
• Hupsaiya 86
• RyuSc2 35
• davetesta28
• Migwel
• sooper7s
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
StarCraft: Brood War
• Pr0nogo 4
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• masondota22369
League of Legends
• Doublelift2720
Other Games
• imaqtpie2286
• Scarra1025
Upcoming Events
WardiTV 2025
11h 23m
ByuN vs Creator
Clem vs Rogue
Scarlett vs Spirit
ShoWTimE vs Cure
OSC
14h 23m
Big Brain Bouts
17h 23m
YoungYakov vs Jumy
TriGGeR vs Spirit
CranKy Ducklings
1d 10h
WardiTV 2025
1d 11h
Reynor vs MaxPax
SHIN vs TBD
Solar vs herO
Classic vs TBD
SC Evo League
1d 12h
Ladder Legends
1d 19h
BSL 21
1d 20h
Sziky vs Dewalt
eOnzErG vs Cross
Sparkling Tuna Cup
2 days
Ladder Legends
2 days
[ Show More ]
BSL 21
2 days
StRyKeR vs TBD
Bonyth vs TBD
Replay Cast
3 days
Wardi Open
3 days
Monday Night Weeklies
3 days
WardiTV Invitational
5 days
Replay Cast
6 days
WardiTV Invitational
6 days
ByuN vs Solar
Clem vs Classic
Cure vs herO
Reynor vs MaxPax
Liquipedia Results

Completed

Acropolis #4 - TS3
RSL Offline Finals
Kuram Kup

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
YSL S2
BSL Season 21
Slon Tour Season 2
CSL Season 19: Qualifier 1
WardiTV 2025
META Madness #9
eXTREMESLAND 2025
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22

Upcoming

CSL Season 19: Qualifier 2
CSL 2025 WINTER (S19)
BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
Big Gabe Cup #3
OSC Championship Season 13
ESL Pro League Season 23
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
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.