• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 18:50
CEST 00:50
KST 07:50
  • 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
[ASL20] Ro24 Preview Pt2: Take-Off6[ASL20] Ro24 Preview Pt1: Runway132v2 & SC: Evo Complete: Weekend Double Feature4Team Liquid Map Contest #21 - Presented by Monster Energy9uThermal's 2v2 Tour: $15,000 Main Event18
Community News
Weekly Cups (Aug 18-24): herO dethrones MaxPax5Maestros of The Game—$20k event w/ live finals in Paris30Weekly Cups (Aug 11-17): MaxPax triples again!13Weekly Cups (Aug 4-10): MaxPax wins a triple6SC2's Safe House 2 - October 18 & 195
StarCraft 2
General
Weekly Cups (Aug 18-24): herO dethrones MaxPax What mix of new and old maps do you want in the next 1v1 ladder pool? (SC2) : A Eulogy for the Six Pool Geoff 'iNcontroL' Robinson has passed away 2v2 & SC: Evo Complete: Weekend Double Feature
Tourneys
WardiTV Mondays Maestros of The Game—$20k event w/ live finals in Paris RSL: Revival, a new crowdfunded tournament series Sparkling Tuna Cup - Weekly Open Tournament Monday Nights Weeklies
Strategy
Custom Maps
External Content
Mutation # 488 What Goes Around Mutation # 487 Think Fast Mutation # 486 Watch the Skies Mutation # 485 Death from Below
Brood War
General
No Rain in ASL20? BW General Discussion Flash On His 2010 "God" Form, Mind Games, vs JD BGH Auto Balance -> http://bghmmr.eu/ [ASL20] Ro24 Preview Pt2: Take-Off
Tourneys
[ASL20] Ro24 Group E [Megathread] Daily Proleagues [ASL20] Ro24 Group D [ASL20] Ro24 Group B
Strategy
Simple Questions, Simple Answers Fighting Spirit mining rates [G] Mineral Boosting Muta micro map competition
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread General RTS Discussion Thread Dawn of War IV Path of Exile
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
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread The year 2050 European Politico-economics QA Mega-thread
Fan Clubs
INnoVation Fan Club SKT1 Classic Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece [\m/] Heavy Metal Thread
Sports
2024 - 2026 Football Thread TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
World Cup 2022
Tech Support
High temperatures on bridge(s) Gtx660 graphics card replacement Installation of Windows 10 suck at "just a moment"
TL Community
The Automated Ban List TeamLiquid Team Shirt On Sale
Blogs
Evil Gacha Games and the…
ffswowsucks
Breaking the Meta: Non-Stand…
TrAiDoS
INDEPENDIENTE LA CTM
XenOsky
[Girl blog} My fema…
artosisisthebest
Sharpening the Filtration…
frozenclaw
ASL S20 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 4789 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 States24698 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 States8108 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 1h 10m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
UpATreeSC 109
ProTech91
NeuroSwarm 82
CosmosSc2 61
StarCraft: Brood War
Artosis 665
NaDa 50
Dota 2
capcasts275
Counter-Strike
Stewie2K505
flusha289
Super Smash Bros
AZ_Axe78
PPMD50
Other Games
summit1g6149
Grubby2271
shahzam847
ViBE209
Pyrionflax153
C9.Mang080
Maynarde72
JuggernautJason58
ZombieGrub44
ToD3
Organizations
Other Games
BasetradeTV15
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 18 non-featured ]
StarCraft 2
• musti20045 43
• RyuSc2 28
• davetesta18
• IndyKCrew
• Migwel
• sooper7s
• AfreecaTV YouTube
• intothetv
• Kozan
• LaughNgamezSOOP
StarCraft: Brood War
• iopq 2
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• masondota22622
League of Legends
• TFBlade654
Counter-Strike
• imaqtpie1034
• Shiphtur203
Upcoming Events
PiGosaur Monday
1h 10m
Afreeca Starleague
11h 10m
hero vs Alone
Royal vs Barracks
Replay Cast
1d 1h
The PondCast
1d 11h
WardiTV Summer Champion…
1d 12h
Replay Cast
2 days
LiuLi Cup
2 days
MaxPax vs TriGGeR
ByuN vs herO
Cure vs Rogue
Classic vs HeRoMaRinE
Cosmonarchy
2 days
OyAji vs Sziky
Sziky vs WolFix
WolFix vs OyAji
BSL Team Wars
2 days
Team Hawk vs Team Dewalt
BSL Team Wars
2 days
Team Hawk vs Team Bonyth
[ Show More ]
SC Evo League
3 days
TaeJa vs Cure
Rogue vs threepoint
ByuN vs Creator
MaNa vs Classic
Maestros of the Game
3 days
ShoWTimE vs Cham
GuMiho vs Ryung
Zoun vs Spirit
Rogue vs MaNa
[BSL 2025] Weekly
3 days
SC Evo League
4 days
Maestros of the Game
4 days
SHIN vs Creator
Astrea vs Lambo
Bunny vs SKillous
HeRoMaRinE vs TriGGeR
BSL Team Wars
4 days
Team Bonyth vs Team Sziky
BSL Team Wars
4 days
Team Dewalt vs Team Sziky
Monday Night Weeklies
5 days
Replay Cast
6 days
Sparkling Tuna Cup
6 days
Liquipedia Results

Completed

CSLAN 3
uThermal 2v2 Main Event
HCC Europe

Ongoing

Copa Latinoamericana 4
BSL 20 Team Wars
KCM Race Survival 2025 Season 3
BSL 21 Qualifiers
ASL Season 20
CSL Season 18: Qualifier 1
Acropolis #4 - TS1
SEL Season 2 Championship
WardiTV Summer 2025
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025

Upcoming

CSL Season 18: Qualifier 2
CSL 2025 AUTUMN (S18)
LASL Season 20
BSL Season 21
BSL 21 Team A
Chzzk MurlocKing SC1 vs SC2 Cup #2
RSL Revival: Season 2
Maestros of the Game
EC S1
Sisters' Call Cup
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
MESA Nomadic Masters Fall
CS Asia Championships 2025
Roobet Cup 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall 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.