• Advertisement
  • Popular Tags

  • Popular Now

  • Advertisement
  • Similar Content

    • By RidiculousName
      I've made a very simple map generator as a demo for combat encounters in my game. I plan to have the trees and rocks be cover, while the player's bandits ambush a caravan on the road in the middle. Please, let me know what you think. Criticism is welcome.
      """ Generates a basic map for combat """ __Author__ = "RidiculousName" __date__ = "3/21/18" import pygame as pg import copy import random def createMap(width, height, trees, rocks, roadWidth): """ creates a combat map :param width: int; 20-60 width of map in squares :param height: int; 20-60 height of map in squares :param trees: int; 0 to (width*height)//5 # of trees in map :param rocks: int; 0 to (width*height)//5 # of rocks in map :param roadWidth: int; 0-10 width of road in map (if value=0, will not have a road) :return: tuple matrix of map """ # variable declarations mapMatrix = [] rowList = [0] * width treeLocations = [] rockLocations = [] colIndex = random.randint(0, height) rowIndex = random.randint(0, width) #error checking if trees > (width * height) // 3: print("ERROR: TOO MANY TREES") return 0 elif rocks > (width * height) // 3: print("ERROR: TOO MANY ROCKS") return 0 # create a blank map full of grass for i in range(height): row = copy.copy(rowList) mapMatrix.append(row) # add trees for i in range(trees): while (rowIndex, colIndex) in treeLocations: colIndex = random.randint(0, height - 1) rowIndex = random.randint(0, width - 1) mapMatrix[rowIndex][colIndex] = 1 treeLocations.append((rowIndex, colIndex)) # add rocks for i in range(rocks): while (rowIndex, colIndex) in treeLocations \ or (rowIndex, colIndex) in rockLocations: colIndex = random.randint(0, height - 1) rowIndex = random.randint(0, width - 1) mapMatrix[rowIndex][colIndex] = 2 rockLocations.append((rowIndex, colIndex)) # add the road if roadWidth > 0: ct = int(roadWidth // 2) road = int(height // 2) while ct > 0: mapMatrix[road + ct] = [3] * width mapMatrix[road - ct] = [3] * width ct -= 1 mapMatrix[road] = [3] * width # convert to tuple for i in range(height): mapMatrix[i] = tuple(mapMatrix[i]) # return return tuple(mapMatrix) def showMap(screen, mapMatrix): """ :param screen: pygame screen object images are blitted to this :param mapMatrix: list matrix contains the map matrix :return: none """ # variable declarations height = pg.display.Info().current_h width = pg.display.Info().current_w x_pos = 0 y_pos = 0 grass = pg.image.load("grass.png").convert() tree = pg.image.load("tree.png").convert() rock = pg.image.load("rock.png").convert() road = pg.image.load("road.png").convert() for i in range(len(mapMatrix)): for j in range(len(mapMatrix[i])): if mapMatrix[i][j] == 0: screen.blit(grass, [x_pos, y_pos]) elif mapMatrix[i][j] == 1: screen.blit(tree, [x_pos, y_pos]) elif mapMatrix[i][j] == 2: screen.blit(rock, [x_pos, y_pos]) elif mapMatrix[i][j] == 3: screen.blit(road, [x_pos, y_pos]) x_pos += 16 y_pos += 16 x_pos = 0 def main(): """ calls functions to allow the game to run """ # variable declarations done = False # initialize pygame pg.init() # make screen object size = (1600, 900) screen = pg.display.set_mode(size) # set window caption pg.display.set_caption("Bandit King") #manages FPS clock = pg.time.Clock() #creates map mapMatrix = createMap(30, 30, 140, 20, 2) while not done: # --- main event loop for event in pg.event.get(): if event.type == pg.QUIT: done = True # --- game logic # --- drawing code showMap(screen, mapMatrix) # --- update screen pg.display.flip() # --- limit to 60 FPS clock.tick(60) #print("height: ", pg.display.Info().current_h, "width: ", pg.display.Info().current_w) pg.quit() if __name__ == "__main__": main()
    • By dgi
      Hey all ,
      For a few days I'm trying to solve some problems with my engine's memory management.Basically what is have is a custom heap with pre allocated memory.Every block has a header and so on.I decided to leave it like that(not cache friendly) because my model is that every block will be large and I will have a pool allocators and stack allocators dealing with those blocks internally. So far so good I figure out how to place my per scene resources . There is one thing that I really don't know how to do and thats dealing with containers.What kind of allocation strategy to use here.
      If I use vector for my scene objects(entities , cameras , particle emitters .. ) I will fragment my custom heap if I do it in a standard way , adding and removing objects will cause a lot of reallocations . If I use a linked list this will not fragment the memory but it's not cache friendly.I guess if a reserve large amount of memory for those vectors it will work but then I will waste a lot memory.I was thinking for some sort of mix between a vector and a linked list , where you have block of memory that can contain lets say 40 items and if you go over that number a new one will be created and re location of the data would not be needed.There would be some cache misses but it will reduce the fragmentation.
      How you guys deal with that ? Do you just reserve a lot data ?
    • By EddieK
      Hello everyone, I want present my new game which I've been working on for a quite while now.
      It's a 2D zombie shooter with lots of cool weapons to choose from. Kill zombies, level up, buy new weapons and go through different levels. 
      Google Play Store link: https://play.google.com/store/apps/details?id=com.extrabitgames.killerjack&hl=en

      Any feedback is appreciated  
    • By MountainGoblin
      Hi everyone!

      Let me represent my first game.

      It's mix of arcade and logic (just a little).

      Play Market:

      Spiteful UFOs seized the hedgehog commune. Four hedgehog fighting commandos will not give them any chance to destroy it.
      Be the fifth member of the team. 
      Destroy alien’s bases!
      Save your friends!
      Use the commandos’ features to seize and destroy aliens’ bases. 
      You won’t be able to clean the commune from hateful aliens without rationality, speed and agility. 
      - 40 fascinating levels in different parts of the world;
      - 8 different locations.
      I'll wait for yours feedback. It's very important for upcomming updates!

    • By Hermetix
      I am trying to setup the custom wizard for making a 3ds MAX 2018 plug-in (to export a character animation data), but I can't locate the wizard file folder to put the .vsz file in. In the 3ds MAX 2018 docs, it only mentions where the folder is in VS 2015 (VC/vcprojects). It's a VC++ project, but I don't see any folder in VC for the wizard files. I'm using VS 2017 update 15.5.6 Enterprise, and the folders in VC are: Auxiliary, Redist and Tools.
  • Advertisement
  • Advertisement

More than an island colonisation god/RTS video game

Recommended Posts

¡ Aloha !


A project ? 2 actually ! The main one is a real time simulation/strategy 2D game coded in C/C++/SDL where for the moment you control settlers on an island. The other project is a text based browser game and its features will be ported.


  • Have fun : Experiment, wild my creativity…
  • Rapid prototyping : Gameplay first (Graphics credit : openclipart)
  • Satisfy my needs as a player and make others happy
  • Contribute to an open source game like Unknown Horizons or launch my own


  • Hybrid gameplay : Automatic (God game) or manual (RTS) actions
  • RPG-like attributes : HP, sex…
  • Survival elements : Gather or fish renewable resources to eat and drink or… die !!
  • Basic interaction : Minimal interface and keyboard shortcuts
  • Rudimentary engine : Tile-based, path finding and super ultra turbo procedural generation
  • Multilingual : English and French


In the first one, on Day 3, the camp has some water but no food yet. There's an explorer, 2 gatherers and one fishman. On Day 1314 the remaining settlers are fishing and gathering from spots that aren't depleted.


  • Gameplay, gameplay, gameplay
  • GUI improvements
  • Bigger maps
  • Scrolling and zooming
  • … Plenty of cool and interesting stuff !!


  • Series : Anno, The Settlers, City Building (Caesar, Pharaoh & Zeus) and Age of Empires
  • Classics : SimCity, Civilization… and Populous of course !!
  • Robinsonades

Day 3.png

Day 1314.png

Share this post

Link to post
Share on other sites



  • Scrolling
  • 3 map sizes
  • Zooming : 9 levels from 8 to 128 pixels (Tile size)
  • Resolution independent

Game design

  • Engine improved to serve the new gameplay
  • Questions raised : Turn-based or real time ? Classic gameplay or hybrid ? …
  • Other environments like a desert
  • Colonisation and… Exploration


Oasis sketch


  • Better water tile
  • Minor GUI improvements
  • The procedural generation will be traded for a level editor


Medium island in 1280*1024, zoom 5 and view centered on the camp


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement