• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 19:56
CEST 01:56
KST 08:56
  • 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
BGE Stara Zagora 2025: Info & Preview26Code S RO12 Preview: GuMiho, Bunny, SHIN, ByuN3The Memories We Share - Facing the Final(?) GSL46Code S RO12 Preview: Cure, Zoun, Solar, Creator4[ASL19] Finals Preview: Daunting Task30
Community News
[BSL20] ProLeague: Bracket Stage & Dates8GSL Ro4 and Finals moved to Sunday June 15th12Weekly Cups (May 27-June 1): ByuN goes back-to-back0EWC 2025 Regional Qualifier Results26Code S RO12 Results + RO8 Groups (2025 Season 2)3
StarCraft 2
General
The SCII GOAT: A statistical Evaluation BGE Stara Zagora 2025: Info & Preview Magnus Carlsen and Fabi review Clem's chess game. Jim claims he and Firefly were involved in match-fixing GSL Ro4 and Finals moved to Sunday June 15th
Tourneys
Bellum Gens Elite: Stara Zagora 2025 Master Swan Open (Global Bronze-Master 2) $5,100+ SEL Season 2 Championship (SC: Evo) SOOPer7s Showmatches 2025 Cheeseadelphia 2025 - Open Bracket LAN!
Strategy
[G] Darkgrid Layout Simple Questions Simple Answers [G] PvT Cheese: 13 Gate Proxy Robo
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 476 Charnel House Mutation # 475 Hard Target Mutation # 474 Futile Resistance Mutation # 473 Cold is the Void
Brood War
General
Will foreigners ever be able to challenge Koreans? [BSL20] ProLeague: Bracket Stage & Dates BGH auto balance -> http://bghmmr.eu/ BW General Discussion I made an ASL quiz
Tourneys
[ASL19] Grand Finals [Megathread] Daily Proleagues [BSL20] ProLeague Bracket Stage - Day 2 [BSL20] ProLeague Bracket Stage - Day 1
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
What do you want from future RTS games? Stormgate/Frost Giant Megathread Path of Exile Nintendo Switch Thread Mechabellum
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
LiquidLegends to reintegrate into TL.net
Heroes of the Storm
Heroes of the Storm 2.0 Simple Questions, Simple Answers
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 Vape Nation Thread European Politico-economics QA Mega-thread
Fan Clubs
Maru Fan Club Serral Fan Club
Media & Entertainment
Korean Music Discussion [Manga] One Piece
Sports
2024 - 2025 Football Thread Formula 1 Discussion NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Cleaning My Mechanical Keyboard
TL Community
The Automated Ban List
Blogs
Cognitive styles x game perf…
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
Poker
Nebuchad
Customize Sidebar...

Website Feedback

Closed Threads



Active: 8757 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 States24641 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 States8082 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
BSL: ProLeague
18:00
Bracket Stage: Day 1
StRyKeR vs MadiNho
Cross vs UltrA
TT1 vs JDConan
Bonyth vs Sziky
ZZZero.O277
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 109
StarCraft: Brood War
Britney 20533
ZZZero.O 277
soO 49
Dota 2
NeuroSwarm67
League of Legends
Grubby2525
Dendi1468
JimRising 171
Counter-Strike
Stewie2K717
Super Smash Bros
C9.Mang06205
Heroes of the Storm
Khaldor181
Other Games
summit1g8623
ViBE144
KnowMe58
UpATreeSC4
Organizations
Dota 2
PGL Dota 2 - Secondary Stream4944
Other Games
gamesdonequick547
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 20 non-featured ]
StarCraft 2
• Berry_CruncH168
• Hupsaiya 98
• musti20045 49
• davetesta35
• tFFMrPink 13
• gosughost_ 8
• Migwel
• AfreecaTV YouTube
• intothetv
• Kozan
• sooper7s
• IndyKCrew
• LaughNgamezSOOP
StarCraft: Brood War
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• masondota21915
• Ler92
League of Legends
• Doublelift3981
Other Games
• imaqtpie2403
Upcoming Events
Replay Cast
4m
SOOP Global
3h 4m
Creator vs Rogue
Cure vs Classic
SOOP
9h 4m
Classic vs GuMiho
Sparkling Tuna Cup
10h 4m
AllThingsProtoss
11h 4m
Fire Grow Cup
15h 4m
BSL: ProLeague
18h 4m
HBO vs Doodle
spx vs Tech
DragOn vs Hawk
Dewalt vs TerrOr
Replay Cast
1d
Replay Cast
2 days
Replay Cast
2 days
[ Show More ]
WardiTV Invitational
2 days
WardiTV Invitational
2 days
GSL Code S
3 days
Rogue vs GuMiho
Maru vs Solar
Replay Cast
4 days
GSL Code S
4 days
herO vs TBD
Classic vs TBD
The PondCast
4 days
Replay Cast
5 days
GSL Code S
5 days
WardiTV Invitational
5 days
Korean StarCraft League
6 days
CranKy Ducklings
6 days
WardiTV Invitational
6 days
Cheesadelphia
6 days
Cheesadelphia
6 days
Liquipedia Results

Completed

CSL Season 17: Qualifier 1
DreamHack Dallas 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 Season 17: Qualifier 2
2025 GSL S2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
ECL Season 49: Europe
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

CSL 17: 2025 SUMMER
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.